Back to index

lightning-sunbird  0.9+nobinonly
nsIQABrowserUIGlue.idl
Go to the documentation of this file.
00001 /* -- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -- /
00002   BEGIN LICENSE BLOCK 
00003   Version: Mozilla-sample-code 1.0
00004  
00005   Copyright (c) 2002 Netscape Communications Corporation and
00006   other contributors
00007  
00008   Permission is hereby granted, free of charge, to any person obtaining a
00009   copy of this Mozilla sample software and associated documentation files
00010   (the "Software"), to deal in the Software without restriction, including
00011   without limitation the rights to use, copy, modify, merge, publish,
00012   distribute, sublicense, and/or sell copies of the Software, and to permit
00013   persons to whom the Software is furnished to do so, subject to the
00014   following conditions:
00015  
00016   The above copyright notice and this permission notice shall be included
00017   in all copies or substantial portions of the Software.
00018  
00019   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00020   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00021   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
00022   THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00023   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00024   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00025   DEALINGS IN THE SOFTWARE.
00026  
00027   Contributor(s):
00028     Radha Kulkarni <radha@netscape.com> 
00029  
00030    END LICENSE BLOCK  */
00031 
00032 // This interface acts as a glue between the required/optional 
00033 // Gecko embedding interfaces and the actual platform specific
00034 // code that owns the UI.
00035 // For ex, in the mozembed sample the required interfaces such as 
00036 // nsIWebBrowserChrome etc. are implemented in a XP way in the
00037 // WebBrowserChrome.js. However, when they get called to update the
00038 // statusbar etc. they call on this interface to get the actual job
00039 // done. 
00040 
00041 
00042 #include "nsISupports.idl"
00043 #include "nsIBaseWindow.idl"
00044 
00045 interface nsIWebBrowserChrome;
00046 interface nsIWebBrowser;
00047 interface nsIDOMEvent;
00048 interface nsIDOMNode;
00049 
00050 [scriptable, uuid(86D2C83D-AEFA-4382-BDC5-881A9232ED7B)]
00051 interface nsIQABrowserUIGlue : nsISupports 
00052 {
00053 
00054   void  destroy(in nsIWebBrowserChrome aChrome);
00055   void  destroyed(in nsIWebBrowserChrome aChrome);
00056   void  setFocus(in nsIWebBrowserChrome aChrome);
00057   void  updateStatusBarText(in nsIWebBrowserChrome aChrome, in   wstring aStatusText);
00058   void  updateCurrentURI(in nsIWebBrowserChrome aChrome);
00059   void  updateBusyState(in nsIWebBrowserChrome aChrome, in boolean aBusy);
00060   void  updateProgress(in nsIWebBrowserChrome aChrome, in long  aCurrent, in long aMax);  
00061   void  showContextMenu(in nsIWebBrowserChrome aChrome, in long aContextFlags, in nsIDOMEvent aEvent, in nsIDOMNode aNode);
00062   void  showTooltip(in nsIWebBrowserChrome aChrome, in long  aXCoords, in long aYCoords, in wstring aTipText);
00063   void  hideTooltip(in nsIWebBrowserChrome aChrome);
00064   void  showWindow(in nsIWebBrowserChrome aChrome, in boolean  aShow);
00065   void  sizeTo(in nsIWebBrowserChrome aChrome, in long  aWidth, in long aHeight);
00066   string getResourceStringById(in long aID);
00067 
00068   attribute boolean visibility;
00069   attribute wstring title;
00070   attribute boolean allowNewBrowserWindows;
00071 
00072   nsIWebBrowserChrome createNewBrowserWindow(in long  aChromeFlags, in nsIWebBrowserChrome  aParent);
00073   void loadURL(in string aURL);
00074   void loadHomePage();
00075 };
00076