Back to index

lightning-sunbird  0.9+nobinonly
MozillaControl.idl
Go to the documentation of this file.
00001 /* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /* ***** BEGIN LICENSE BLOCK *****
00003  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00004  *
00005  * The contents of this file are subject to the Mozilla Public License Version
00006  * 1.1 (the "License"); you may not use this file except in compliance with
00007  * the License. You may obtain a copy of the License at
00008  * http://www.mozilla.org/MPL/
00009  *
00010  * Software distributed under the License is distributed on an "AS IS" basis,
00011  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00012  * for the specific language governing rights and limitations under the
00013  * License.
00014  *
00015  * The Original Code is mozilla.org code.
00016  *
00017  * The Initial Developer of the Original Code is
00018  * Netscape Communications Corporation.
00019  * Portions created by the Initial Developer are Copyright (C) 1998
00020  * the Initial Developer. All Rights Reserved.
00021  *
00022  * Contributor(s):
00023  *
00024  * Alternatively, the contents of this file may be used under the terms of
00025  * either the GNU General Public License Version 2 or later (the "GPL"), or
00026  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00027  * in which case the provisions of the GPL or the LGPL are applicable instead
00028  * of those above. If you wish to allow use of your version of this file only
00029  * under the terms of either the GPL or the LGPL, and not to allow others to
00030  * use your version of this file under the terms of the MPL, indicate your
00031  * decision by deleting the provisions above and replace them with the notice
00032  * and other provisions required by the GPL or the LGPL. If you do not delete
00033  * the provisions above, a recipient may use your version of this file under
00034  * the terms of any one of the MPL, the GPL or the LGPL.
00035  *
00036  * ***** END LICENSE BLOCK ***** */
00037  
00038 #include <olectl.h>
00039 
00040 // This file will be processed by the MIDL tool to
00041 // produce the type library (MozillaControl.tlb) and marshalling code.
00042 
00043 import "oaidl.idl";
00044 import "ocidl.idl";
00045 import "docobj.idl";
00046 
00047 // See note below for why IWebBrowser is not imported this way
00048 // import "exdisp.idl";
00049 
00050 #include <exdispid.h>
00051 
00052 [
00053        uuid(1339B53E-3453-11D2-93B9-000000000000),
00054        version(1.0),
00055        helpstring("MozillaControl 1.0 Type Library")
00056 ]
00057 library MOZILLACONTROLLib
00058 {
00059        importlib("stdole32.tlb");
00060        importlib("stdole2.tlb");
00061 
00062        // Stop interfaces and other bits from being redefined by the IE header file
00063 
00064        cpp_quote("#ifndef __exdisp_h__")
00065        cpp_quote("#define __exdisp_h__")
00066 
00067        // NOTE: There is a very specific reason for repeating the IWebBrowser
00068        //       and other bits verbatim rather than import'ing exdisp.idl -
00069        //       MIDL fails with a MIDL2020 error if we try that!
00070 
00071     [
00072         uuid(EAB22AC1-30C1-11CF-A7EB-0000C05BAE0B), // IID_IWebBrowser
00073         helpstring("Web Browser interface"),
00074         helpcontext(0x0000),
00075         hidden,
00076         dual,
00077         oleautomation,
00078         odl
00079     ]
00080     interface IWebBrowser : IDispatch 
00081     {
00082         [id(100), helpstring("Navigates to the previous item in the history list."), helpcontext(0x0000)]
00083         HRESULT GoBack();
00084         [id(101), helpstring("Navigates to the next item in the history list."), helpcontext(0x0000)]
00085         HRESULT GoForward();
00086         [id(102), helpstring("Go home/start page."), helpcontext(0x0000)]
00087         HRESULT GoHome();
00088         [id(103), helpstring("Go Search Page."), helpcontext(0x0000)]
00089         HRESULT GoSearch();
00090 
00091         [id(104), helpstring("Navigates to a URL or file."), helpcontext(0x0000)]
00092         HRESULT Navigate([in] BSTR URL,
00093                          [in, optional] VARIANT * Flags,
00094                          [in, optional] VARIANT * TargetFrameName,
00095                          [in, optional] VARIANT * PostData,
00096                          [in, optional] VARIANT * Headers);
00097         typedef
00098         [
00099             uuid(14EE5380-A378-11cf-A731-00A0C9082637),
00100             helpstring("Constants for WebBrowser navigation flags")
00101         ]
00102         enum BrowserNavConstants {
00103             [helpstring("Open in new window")]          navOpenInNewWindow = 0x0001,
00104             [helpstring("Exclude from history list")]   navNoHistory = 0x0002,
00105             [helpstring("Don't read from cache")]       navNoReadFromCache = 0x0004,
00106             [helpstring("Don't write from cache")]      navNoWriteToCache = 0x0008,
00107             [helpstring("Try other sites on failure")]  navAllowAutosearch = 0x0010,
00108             [helpstring("OpenBrowserBar")]              navBrowserBar = 0x0020,
00109         } BrowserNavConstants;
00110 
00111         [id(DISPID_REFRESH), helpstring("Refresh the currently viewed page."), helpcontext(0x0000)]
00112         HRESULT Refresh();
00113 
00114         // The standard Refresh takes no parameters and we need some... use a new name
00115         [id(105), helpstring("Refresh the currently viewed page."), helpcontext(0x0000)]
00116         HRESULT Refresh2([in,optional] VARIANT * Level);
00117 
00118         typedef
00119         [
00120             uuid(C317C261-A991-11cf-A731-00A0C9082637),
00121             helpstring("Constants for Refresh")
00122         ]
00123         enum RefreshConstants {                                         // must map to these in sdk\inc\docobj.h
00124             [helpstring("Refresh normal")]     REFRESH_NORMAL     = 0,  //== OLECMDIDF_REFRESH_NORMAL
00125             [helpstring("Refresh if expired")] REFRESH_IFEXPIRED  = 1,  //== OLECMDIDF_REFRESH_IFEXPIRED
00126             [helpstring("Refresh completely")] REFRESH_COMPLETELY = 3   //== OLECMDIDF_REFRESH_COMPLETELY
00127         } RefreshConstants;
00128 
00129         [id(106), helpstring("Stops opening a file."), helpcontext(0x0000)]
00130         HRESULT Stop();
00131 
00132         // Automation heirarchy...
00133         [id(200), propget, helpstring("Returns the application automation object if accessible, this automation object otherwise.."), helpcontext(0x0000)]
00134         HRESULT Application([out,retval] IDispatch** ppDisp);
00135 
00136         [id(201), propget, helpstring("Returns the automation object of the container/parent if one exists or this automation object."), helpcontext(0x0000)]
00137         HRESULT Parent([out,retval] IDispatch** ppDisp);
00138 
00139         [id(202), propget, helpstring("Returns the container/parent automation object, if any."), helpcontext(0x0000)]
00140         HRESULT Container([out,retval] IDispatch** ppDisp);
00141 
00142         [id(203), propget, helpstring("Returns the active Document automation object, if any."), helpcontext(0x0000)]
00143         HRESULT Document([out,retval] IDispatch** ppDisp);
00144 
00145         [id(204), propget, helpstring("Returns True if this is the top level object."), helpcontext(0x0000)]
00146         HRESULT TopLevelContainer([out, retval] VARIANT_BOOL* pBool);
00147 
00148         [id(205), propget, helpstring("Returns the type of the contained document object."), helpcontext(0x0000)]
00149         HRESULT Type([out,retval] BSTR* Type);
00150 
00151         // Window stuff...
00152         [id(206), propget, helpstring("The horizontal position (pixels) of the frame window relative to the screen/container."), helpcontext(0x0000)]
00153         HRESULT Left([out, retval] long *pl);
00154         [id(206), propput]
00155         HRESULT Left([in] long Left);
00156         [id(207), propget, helpstring("The vertical position (pixels) of the frame window relative to the screen/container."), helpcontext(0x0000)]
00157         HRESULT Top([out, retval] long *pl);
00158         [id(207), propput]
00159         HRESULT Top([in] long Top);
00160         [id(208), propget, helpstring("The horizontal dimension (pixels) of the frame window/object."), helpcontext(0x0000)]
00161         HRESULT Width([out, retval] long *pl);
00162         [id(208), propput]
00163         HRESULT Width([in] long Width);
00164         [id(209), propget, helpstring("The vertical dimension (pixels) of the frame window/object."), helpcontext(0x0000)]
00165         HRESULT Height([out, retval] long *pl);
00166         [id(209), propput]
00167         HRESULT Height([in] long Height);
00168 
00169         // WebBrowser stuff...
00170         [id(210), propget, helpstring("Gets the short (UI-friendly) name of the URL/file currently viewed."), helpcontext(0x0000)]
00171         HRESULT LocationName([out,retval] BSTR *LocationName);
00172 
00173         [id(211), propget, helpstring("Gets the full URL/path currently viewed."), helpcontext(0x0000)]
00174         HRESULT LocationURL([out,retval] BSTR * LocationURL);
00175 
00176         // Added a property to see if the viewer is currenly busy or not...
00177         [id(212), propget, helpstring("Query to see if something is still in progress."), helpcontext(0x0000)]
00178         HRESULT Busy([out,retval] VARIANT_BOOL *pBool);
00179     }
00180 
00181     [
00182         uuid(0002DF05-0000-0000-C000-000000000046), // IID_IWebBrowserApp
00183         helpstring("Web Browser Application Interface."),
00184         helpcontext(0x0000),
00185         hidden,
00186         oleautomation,
00187         dual
00188     ]
00189     interface IWebBrowserApp : IWebBrowser
00190     {
00191         [id(300), helpstring("Exits application and closes the open document."), helpcontext(0x0000)]
00192         HRESULT Quit();
00193 
00194         [id(301), helpstring("Converts client sizes into window sizes."), helpcontext(0x0000)]
00195         HRESULT ClientToWindow([in,out] int* pcx, [in,out] int* pcy);
00196 
00197         [id(302), helpstring("Associates vtValue with the name szProperty in the context of the object."), helpcontext(0x0000)]
00198         HRESULT PutProperty([in] BSTR Property, [in] VARIANT vtValue);
00199 
00200         [id(303), helpstring("Retrieve the Associated value for the property vtValue in the context of the object."), helpcontext(0x0000)]
00201         HRESULT GetProperty([in] BSTR Property, [out, retval] VARIANT *pvtValue);
00202 
00203         [id(0), propget, helpstring("Returns name of the application."), helpcontext(0x0000)]
00204         HRESULT Name([out,retval] BSTR* Name);
00205 
00206         [id(DISPID_HWND), propget, helpstring("Returns the HWND of the current IE window."), helpcontext(0x0000)]
00207         HRESULT HWND([out,retval] long *pHWND);
00208 
00209         [id(400), propget, helpstring("Returns file specification of the application, including path."), helpcontext(0x0000)]
00210         HRESULT FullName([out,retval] BSTR* FullName);
00211 
00212         [id(401), propget, helpstring("Returns the path to the application."), helpcontext(0x0000)]
00213         HRESULT Path([out,retval] BSTR* Path);
00214 
00215         [id(402), propget, helpstring("Determines whether the application is visible or hidden."), helpcontext(0x0000)]
00216         HRESULT Visible([out, retval] VARIANT_BOOL* pBool);
00217         [id(402), propput, helpstring("Determines whether the application is visible or hidden."), helpcontext(0x0000)]
00218         HRESULT Visible([in] VARIANT_BOOL Value);
00219 
00220         [id(403), propget, helpstring("Turn on or off the statusbar."), helpcontext(0x0000)]
00221         HRESULT StatusBar([out, retval] VARIANT_BOOL* pBool);
00222         [id(403), propput, helpstring("Turn on or off the statusbar."), helpcontext(0x0000)]
00223         HRESULT StatusBar([in] VARIANT_BOOL Value);
00224 
00225         [id(404), propget, helpstring("Text of Status window."), helpcontext(0x0000)]
00226         HRESULT StatusText([out, retval] BSTR *StatusText);
00227         [id(404), propput, helpstring("Text of Status window."), helpcontext(0x0000)]
00228         HRESULT StatusText([in] BSTR StatusText);
00229 
00230         [id(405), propget, helpstring("Controls which toolbar is shown."), helpcontext(0x0000)]
00231         HRESULT ToolBar([out, retval] int * Value);
00232         [id(405), propput, helpstring("Controls which toolbar is shown."), helpcontext(0x0000)]
00233         HRESULT ToolBar([in] int Value);
00234 
00235         [id(406), propget, helpstring("Controls whether menubar is shown."), helpcontext(0x0000)]
00236         HRESULT MenuBar([out, retval] VARIANT_BOOL * Value);
00237         [id(406), propput, helpstring("Controls whether menubar is shown."), helpcontext(0x0000)]
00238         HRESULT MenuBar([in] VARIANT_BOOL Value);
00239 
00240         [id(407), propget, helpstring("Maximizes window and turns off statusbar, toolbar, menubar, and titlebar."), helpcontext(0x0000)]
00241         HRESULT FullScreen([out, retval] VARIANT_BOOL * pbFullScreen);
00242         [id(407), propput, helpstring("Maximizes window and turns off statusbar, toolbar, menubar, and titlebar."), helpcontext(0x0000)]
00243         HRESULT FullScreen([in] VARIANT_BOOL bFullScreen);
00244     }
00245 
00246     [
00247         uuid(D30C1661-CDAF-11d0-8A3E-00C04FC9E26E), // IID_IWebBrowser2
00248         helpstring("Web Browser Interface for IE4."),
00249         helpcontext(0x0000),
00250         hidden,
00251         oleautomation,
00252         dual
00253     ]
00254     interface IWebBrowser2 : IWebBrowserApp
00255     {
00256         [id(500), helpstring("Navigates to a URL or file or pidl."), helpcontext(0x0000)]
00257         HRESULT Navigate2([in] VARIANT * URL,
00258                           [in, optional] VARIANT * Flags,
00259                           [in, optional] VARIANT * TargetFrameName,
00260                           [in, optional] VARIANT * PostData,
00261                           [in, optional] VARIANT * Headers);
00262 
00263 
00264         [id(501), helpstring("IOleCommandTarget::QueryStatus"), helpcontext(0x0000)]
00265         HRESULT QueryStatusWB([in] OLECMDID cmdID, [out, retval] OLECMDF * pcmdf);
00266         [id(502), helpstring("IOleCommandTarget::Exec"), helpcontext(0x0000)]
00267         HRESULT ExecWB([in] OLECMDID cmdID, [in] OLECMDEXECOPT cmdexecopt, [in, optional] VARIANT * pvaIn, [out, in, optional] VARIANT * pvaOut);
00268         [id(503), helpstring("Set BrowserBar to Clsid"), helpcontext(0x0000)]
00269         HRESULT ShowBrowserBar( [in] VARIANT * pvaClsid,
00270                                 [in, optional] VARIANT * pvarShow,
00271                                 [in, optional] VARIANT * pvarSize );
00272 
00273         [id(DISPID_READYSTATE), propget, bindable]
00274         HRESULT ReadyState([retval, out] READYSTATE * plReadyState);
00275 
00276         [id(550), propget, helpstring("Controls if the frame is offline (read from cache)"), helpcontext(0x0000)]
00277         HRESULT Offline([out, retval] VARIANT_BOOL * pbOffline);
00278         [id(550), propput, helpstring("Controls if the frame is offline (read from cache)"), helpcontext(0x0000)]
00279         HRESULT Offline([in] VARIANT_BOOL bOffline);
00280 
00281         [id(551), propget, helpstring("Controls if any dialog boxes can be shown"), helpcontext(0x0000)]
00282         HRESULT Silent([out, retval] VARIANT_BOOL * pbSilent);
00283         [id(551), propput, helpstring("Controls if any dialog boxes can be shown"), helpcontext(0x0000)]
00284         HRESULT Silent([in] VARIANT_BOOL bSilent);
00285 
00286         [id(552), propget, helpstring("Registers OC as a top-level browser (for target name resolution)"), helpcontext(0x0000)]
00287         HRESULT RegisterAsBrowser([out, retval] VARIANT_BOOL * pbRegister);
00288         [id(552), propput, helpstring("Registers OC as a top-level browser (for target name resolution)"), helpcontext(0x0000)]
00289         HRESULT RegisterAsBrowser([in] VARIANT_BOOL bRegister);
00290 
00291         [id(553), propget, helpstring("Registers OC as a drop target for navigation"), helpcontext(0x0000)]
00292         HRESULT RegisterAsDropTarget([out, retval] VARIANT_BOOL * pbRegister);
00293         [id(553), propput, helpstring("Registers OC as a drop target for navigation"), helpcontext(0x0000)]
00294         HRESULT RegisterAsDropTarget([in] VARIANT_BOOL bRegister);
00295 
00296         [id(554), propget, helpstring("Controls if the browser is in theater mode"), helpcontext(0x0000)]
00297         HRESULT TheaterMode([out, retval] VARIANT_BOOL * pbRegister);
00298         [id(554), propput, helpstring("Controls if the browser is in theater mode"), helpcontext(0x0000)]
00299         HRESULT TheaterMode([in] VARIANT_BOOL bRegister);
00300 
00301         [id(555), propget, helpstring("Controls whether address bar is shown"), helpcontext(0x0000)]
00302         HRESULT AddressBar([out, retval] VARIANT_BOOL * Value);
00303         [id(555), propput, helpstring("Controls whether address bar is shown"), helpcontext(0x0000)]
00304         HRESULT AddressBar([in] VARIANT_BOOL Value);
00305 
00306         [id(556), propget, helpstring("Controls whether the window is resizable"), helpcontext(0x0000)]
00307         HRESULT Resizable([out, retval] VARIANT_BOOL * Value);
00308         [id(556), propput, helpstring("Controls whether the window is resizable"), helpcontext(0x0000)]
00309         HRESULT Resizable([in] VARIANT_BOOL Value);
00310     }
00311 
00312     [
00313         uuid(EAB22AC2-30C1-11CF-A7EB-0000C05BAE0B), // DIID_DWebBrowserEvents
00314         helpstring("Web Browser Control Events (old)"),
00315         hidden
00316     ]
00317     dispinterface DWebBrowserEvents
00318     {
00319         properties:
00320         methods:
00321         [id(DISPID_BEFORENAVIGATE), helpstring("Fired when a new hyperlink is being navigated to."), helpcontext(0x0000)]
00322         void BeforeNavigate([in] BSTR URL, long Flags, BSTR TargetFrameName, VARIANT * PostData, BSTR Headers, [in, out]VARIANT_BOOL * Cancel);
00323 
00324         [id(DISPID_NAVIGATECOMPLETE), helpstring("Fired when the document being navigated to becomes visible and enters the navigation stack."), helpcontext(0x0000)]
00325         void NavigateComplete([in] BSTR URL );
00326 
00327         [id(DISPID_STATUSTEXTCHANGE), helpstring("Statusbar text changed."), helpcontext(0x0000)]
00328         void StatusTextChange([in]BSTR Text);
00329 
00330         [id(DISPID_PROGRESSCHANGE), helpstring("Fired when download progress is updated."), helpcontext(0x0000)]
00331         void ProgressChange([in] long Progress, [in] long ProgressMax);
00332 
00333         [id(DISPID_DOWNLOADCOMPLETE), helpstring("Download of page complete."), helpcontext(0x0000)]
00334         void DownloadComplete();
00335 
00336         [id(DISPID_COMMANDSTATECHANGE), helpstring("The enabled state of a command changed"), helpcontext(0x0000)]
00337         void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable);
00338 
00339         [id(DISPID_DOWNLOADBEGIN), helpstring("Download of a page started."), helpcontext(0x000)]
00340         void DownloadBegin();
00341 
00342         [id(DISPID_NEWWINDOW), helpstring("Fired when a new window should be created."), helpcontext(0x0000)]
00343         void NewWindow([in] BSTR URL, [in] long Flags, [in] BSTR TargetFrameName, [in] VARIANT * PostData, [in] BSTR Headers, [in,out] VARIANT_BOOL * Processed);
00344 
00345         [id(DISPID_TITLECHANGE), helpstring("Document title changed."), helpcontext(0x0000)]
00346         void TitleChange([in]BSTR Text);
00347 
00348         [id(DISPID_FRAMEBEFORENAVIGATE), helpstring("Fired when a new hyperlink is being navigated to in a frame."), helpcontext(0x0000)]
00349         void FrameBeforeNavigate([in] BSTR URL, long Flags, BSTR TargetFrameName, VARIANT * PostData, BSTR Headers, [in, out]VARIANT_BOOL * Cancel);
00350 
00351         [id(DISPID_FRAMENAVIGATECOMPLETE), helpstring("Fired when a new hyperlink is being navigated to in a frame."), helpcontext(0x0000)]
00352         void FrameNavigateComplete([in] BSTR URL );
00353 
00354         [id(DISPID_FRAMENEWWINDOW), helpstring("Fired when a new window should be created."), helpcontext(0x0000)]
00355         void FrameNewWindow([in] BSTR URL, [in] long Flags, [in] BSTR TargetFrameName, [in] VARIANT * PostData, [in] BSTR Headers, [in,out] VARIANT_BOOL * Processed);
00356 
00357         // The following are IWebBrowserApp specific:
00358         //
00359         [id(DISPID_QUIT), helpstring("Fired when application is quiting."), helpcontext(0x0000)]
00360         void Quit([in, out] VARIANT_BOOL * Cancel);
00361 
00362         [id(DISPID_WINDOWMOVE), helpstring("Fired when window has been moved."), helpcontext(0x0000)]
00363         void WindowMove();
00364 
00365         [id(DISPID_WINDOWRESIZE), helpstring("Fired when window has been sized."), helpcontext(0x0000)]
00366         void WindowResize();
00367 
00368         [id(DISPID_WINDOWACTIVATE), helpstring("Fired when window has been activated."), helpcontext(0x0000)]
00369         void WindowActivate();
00370 
00371         [id(DISPID_PROPERTYCHANGE), helpstring("Fired when the PutProperty method has been called."), helpcontext(0x0000)]
00372         void PropertyChange([in] BSTR Property);
00373     }
00374 
00375     [
00376         uuid(34A715A0-6587-11D0-924A-0020AFC7AC4D), // IID_DWebBrowserEvents2
00377         helpstring("Web Browser Control events interface"),
00378         hidden
00379     ]
00380     dispinterface DWebBrowserEvents2
00381     {
00382         properties:
00383         methods:
00384         [id(DISPID_STATUSTEXTCHANGE), helpstring("Statusbar text changed."), helpcontext(0x0000)]
00385         void StatusTextChange([in]BSTR Text);
00386 
00387         [id(DISPID_PROGRESSCHANGE), helpstring("Fired when download progress is updated."), helpcontext(0x0000)]
00388         void ProgressChange([in] long Progress, [in] long ProgressMax);
00389 
00390         [id(DISPID_COMMANDSTATECHANGE), helpstring("The enabled state of a command changed."), helpcontext(0x0000)]
00391         void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable);
00392 
00393         [id(DISPID_DOWNLOADBEGIN), helpstring("Download of a page started."), helpcontext(0x000)]
00394         void DownloadBegin();
00395 
00396         [id(DISPID_DOWNLOADCOMPLETE), helpstring("Download of page complete."), helpcontext(0x0000)]
00397         void DownloadComplete();
00398 
00399         [id(DISPID_TITLECHANGE), helpstring("Document title changed."), helpcontext(0x0000)]
00400         void TitleChange([in] BSTR Text);
00401 
00402         [id(DISPID_PROPERTYCHANGE), helpstring("Fired when the PutProperty method has been called."), helpcontext(0x0000)]
00403         void PropertyChange([in] BSTR szProperty);
00404 
00405         // New events for IE40:
00406         //
00407         [id(DISPID_BEFORENAVIGATE2), helpstring("Fired before navigate occurs in the given WebBrowser (window or frameset element). The processing of this navigation may be modified."), helpcontext(0x0000)]
00408         void BeforeNavigate2([in] IDispatch* pDisp,
00409                              [in] VARIANT * URL, [in] VARIANT * Flags, [in] VARIANT * TargetFrameName, [in] VARIANT * PostData, [in] VARIANT * Headers,
00410                              [in,out] VARIANT_BOOL * Cancel);
00411 
00412         [id(DISPID_NEWWINDOW2), helpstring("A new, hidden, non-navigated WebBrowser window is needed."), helpcontext(0x0000)]
00413         void NewWindow2([in, out] IDispatch** ppDisp, [in, out] VARIANT_BOOL * Cancel);
00414 
00415         [id(DISPID_NAVIGATECOMPLETE2), helpstring("Fired when the document being navigated to becomes visible and enters the navigation stack."), helpcontext(0x0000)]
00416         void NavigateComplete2([in] IDispatch* pDisp, [in] VARIANT * URL );
00417 
00418         [id(DISPID_DOCUMENTCOMPLETE), helpstring("Fired when the document being navigated to reaches ReadyState_Complete."), helpcontext(0x0000)]
00419         void DocumentComplete([in] IDispatch* pDisp, [in] VARIANT * URL );
00420 
00421         [id(DISPID_ONQUIT), helpstring("Fired when application is quiting."), helpcontext(0x0000)]
00422         void OnQuit();
00423 
00424         [id(DISPID_ONVISIBLE), helpstring("Fired when the window should be shown/hidden"), helpcontext(0x0000)]
00425         void OnVisible([in] VARIANT_BOOL Visible);
00426 
00427         [id(DISPID_ONTOOLBAR), helpstring("Fired when the toolbar  should be shown/hidden"), helpcontext(0x0000)]
00428         void OnToolBar([in] VARIANT_BOOL ToolBar);
00429 
00430         [id(DISPID_ONMENUBAR), helpstring("Fired when the menubar should be shown/hidden"), helpcontext(0x0000)]
00431         void OnMenuBar([in] VARIANT_BOOL MenuBar);
00432 
00433         [id(DISPID_ONSTATUSBAR), helpstring("Fired when the statusbar should be shown/hidden"), helpcontext(0x0000)]
00434         void OnStatusBar([in] VARIANT_BOOL StatusBar);
00435 
00436         [id(DISPID_ONFULLSCREEN), helpstring("Fired when fullscreen mode should be on/off"), helpcontext(0x0000)]
00437         void OnFullScreen([in] VARIANT_BOOL FullScreen);
00438 
00439         [id(DISPID_ONTHEATERMODE), helpstring("Fired when theater mode should be on/off"), helpcontext(0x0000)]
00440         void OnTheaterMode([in] VARIANT_BOOL TheaterMode);
00441        }
00442 
00443        // Now a private interface for those ActiveX programmers who want to get
00444        // their hands on the Mozilla internal interfaces. Note that XPCOM
00445        // interfaces are cast into void * parameters but they follow
00446        // the normal COM refcounting rules for in, in-out & out parameters.
00447 
00448     [
00449         uuid(D6131E69-4A89-4ab5-B916-5A581D66C84F),
00450     ]
00451     interface IMozControlBridge : IUnknown 
00452     {
00453               // Method to get the nsIWebBrowser interface (refcounted but cast into a void)
00454         HRESULT GetWebBrowser([out] void **aBrowser);
00455        }
00456 
00457     typedef
00458     [
00459         uuid(34A226E0-DF30-11CF-89A9-00A0C9054129),
00460         helpstring("Constants for WebBrowser CommandStateChange")
00461     ]
00462     enum CommandStateChangeConstants {
00463         [helpstring("Command Change")]      CSC_UPDATECOMMANDS  = 0xFFFFFFFF,
00464         [helpstring("Navigate Forward")]    CSC_NAVIGATEFORWARD = 0x00000001,
00465         [helpstring("Navigate Back")]       CSC_NAVIGATEBACK    = 0x00000002,
00466     } CommandStateChangeConstants;
00467 
00468        [
00469               uuid(1339B54C-3453-11D2-93B9-000000000000),
00470               helpstring("MozillaBrowser Class")
00471        ]
00472        coclass MozillaBrowser
00473        {
00474               [default] interface IWebBrowser2;
00475               interface IWebBrowser;
00476               interface IWebBrowserApp;
00477               interface IDispatch;
00478               [source] dispinterface DWebBrowserEvents;
00479               [default, source] dispinterface DWebBrowserEvents2;
00480        };
00481 
00482        cpp_quote("#endif")
00483 };