- Added dispinterfaces: DWebBrowserEvents and DWebBrowserEvents2.

- Added coclass: WebBrowser.
- Added exdispid.h.
This commit is contained in:
Jacek Caban 2004-10-18 21:43:18 +00:00 committed by Alexandre Julliard
parent 2c1b35dd17
commit f05c860d23
3 changed files with 232 additions and 3 deletions

View File

@ -106,6 +106,7 @@ WINDOWS_INCLUDES = \
dxfile.h \
evcode.h \
excpt.h \
exdispid.h \
fci.h \
fdi.h \
guiddef.h \

View File

@ -3,6 +3,7 @@
*
* Copyright (C) 2001 John R. Sheets (for CodeWeavers)
* Copyright (C) 2003 Alexandre Julliard
* Copuright (C) 2004 Jacek Caban
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@ -22,6 +23,7 @@
import "ocidl.idl";
import "docobj.idl";
#include <exdispid.h>
/*****************************************************************************
* IWebBrowser interface
@ -154,6 +156,169 @@ interface IWebBrowser2 : IWebBrowserApp
[propput] HRESULT Resizable([in] VARIANT_BOOL Value);
}
[
uuid(eab22ac2-30c1-11CF-a7eb-0000C05bae0b)
]
dispinterface DWebBrowserEvents
{
properties:
methods:
[id(DISPID_BEFORENAVIGATE)]
void BeforeNavigate(
[in] BSTR URL,
[in] long Flags,
[in] BSTR TargetFrameName,
[in] VARIANT *PostData,
[in] BSTR Headers,
[in, out] VARIANT_BOOL *Cancel);
[id(DISPID_NAVIGATECOMPLETE)]
void NavigateComplete([in] BSTR URL);
[id(DISPID_STATUSTEXTCHANGE)]
void StatusTextChange([in] BSTR Text);
[id(DISPID_PROGRESSCHANGE)]
void ProgressChange([in] long Progress, [in] long ProgressMax);
[id(DISPID_DOWNLOADCOMPLETE)]
void DownloadComplete();
[id(DISPID_COMMANDSTATECHANGE)]
void CommandStateChange([in] long Command, [in]VARIANT_BOOL Enable);
[id(DISPID_DOWNLOADBEGIN)]
void DownloadBegin();
[id(DISPID_NEWWINDOW)]
void NewWindow(
[in] BSTR URL,
[in] long Flags,
[in] BSTR TargetFrameName,
[in] VARIANT *PostData,
[in] BSTR Headers,
[in,out] VARIANT_BOOL *Processed);
[id(DISPID_TITLECHANGE)]
void TitleChange([in] BSTR Text);
[id(DISPID_FRAMEBEFORENAVIGATE)]
void FrameBeforeNavigate(
[in] BSTR URL,
[in] long Flags,
[in] BSTR TargetFrameName,
[in] VARIANT *PostData,
[in] BSTR Headers,
[in, out]VARIANT_BOOL *Cancel);
[id(DISPID_FRAMENAVIGATECOMPLETE)]
void FrameNavigateComplete([in] BSTR URL);
[id(DISPID_FRAMENEWWINDOW)]
void FrameNewWindow(
[in] BSTR URL,
[in] long Flags,
[in] BSTR TargetFrameName,
[in] VARIANT *PostData,
[in] BSTR Headers,
[in,out] VARIANT_BOOL *Processed);
[id(DISPID_QUIT)]
void Quit([in, out] VARIANT_BOOL *Cancel);
[id(DISPID_WINDOWMOVE)]
void WindowMove();
[id(DISPID_WINDOWRESIZE)]
void WindowResize();
[id(DISPID_WINDOWACTIVATE)]
void WindowActivate();
[id(DISPID_PROPERTYCHANGE)]
void PropertyChange([in] BSTR Property);
}
[
uuid(34a715a0-6587-11d0-924a-0020afc7ac4d)
]
dispinterface DWebBrowserEvents2
{
properties:
methods:
[id(DISPID_STATUSTEXTCHANGE)]
void StatusTextChange([in] BSTR Text);
[id(DISPID_PROGRESSCHANGE)]
void ProgressChange([in] long Progress, [in] long ProgressMax);
[id(DISPID_COMMANDSTATECHANGE)]
void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable);
[id(DISPID_DOWNLOADBEGIN)]
void DownloadBegin();
[id(DISPID_DOWNLOADCOMPLETE)]
void DownloadComplete();
[id(DISPID_TITLECHANGE)]
void TitleChange([in] BSTR szProperty);
[id(DISPID_PROPERTYCHANGE)]
void PropertyChange([in] BSTR szProperty);
[id(DISPID_BEFORENAVIGATE2)]
void BeforeNavigate2(
[in] IDispatch *pDisp,
[in] VARIANT *URL,
[in] VARIANT *Flags,
[in] VARIANT *TargetFrameName,
[in] VARIANT *PostData,
[in] VARIANT *Headers,
[in, out] VARIANT_BOOL *Cancel);
[id(DISPID_NEWWINDOW2)]
void NewWindow2([in, out] IDispatch **ppDisp, [in, out] VARIANT_BOOL *Cancel);
[id(DISPID_NAVIGATECOMPLETE2)]
void NavigateComplete2([in] IDispatch *pDisp, [in] VARIANT *URL);
[id(DISPID_DOCUMENTCOMPLETE)]
void DocumentComplete([in] IDispatch *pDisp, [in] VARIANT *URL);
[id(DISPID_ONQUIT)]
void OnQuit();
[id(DISPID_ONVISIBLE)]
void OnVisible([in] VARIANT_BOOL Visible);
[id(DISPID_ONTOOLBAR)]
void OnToolBar([in] VARIANT_BOOL ToolBar);
[id(DISPID_ONMENUBAR)]
void OnMenuBar([in] VARIANT_BOOL MenuBar);
[id(DISPID_ONSTATUSBAR)]
void OnStatusBar([in] VARIANT_BOOL StatusBar);
[id(DISPID_ONFULLSCREEN)]
void OnFullScreen([in] VARIANT_BOOL FullScreen);
[id(DISPID_ONTHEATERMODE)]
void OnTheaterMode([in] VARIANT_BOOL TheaterMode);
}
[
uuid(8856f961-340a-11d0-a96b-00c04fd705a2)
]
coclass WebBrowser
{
[default] interface IWebBrowser2;
interface IWebBrowser;
[default, source] dispinterface DWebBrowserEvents2;
[source] dispinterface DWebBrowserEvents;
}
[
object,
oleautomation,
@ -177,6 +342,3 @@ interface IShellWindows : IDispatch
HRESULT OnCreated( [in] long lCookie, [in] IUnknown *punk );
HRESULT ProcessAttachDetach( [in] VARIANT_BOOL fAttach );
}
/* FIXME */
cpp_quote("DEFINE_GUID(CLSID_WebBrowser, 0x8856f961, 0x340a, 0x11d0, 0xa9, 0x6b, 0x00, 0xc0, 0x4f, 0xd7, 0x05, 0xa2);")

66
include/exdispid.h Normal file
View File

@ -0,0 +1,66 @@
/*
* Copyright 2004 Jacek Caban
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef EXDISPID_H_
#define EXDISPID_H_
#define DISPID_BEFORENAVIGATE 100
#define DISPID_NAVIGATECOMPLETE 101
#define DISPID_STATUSTEXTCHANGE 102
#define DISPID_QUIT 103
#define DISPID_DOWNLOADCOMPLETE 104
#define DISPID_COMMANDSTATECHANGE 105
#define DISPID_DOWNLOADBEGIN 106
#define DISPID_NEWWINDOW 107
#define DISPID_PROGRESSCHANGE 108
#define DISPID_WINDOWMOVE 109
#define DISPID_WINDOWRESIZE 110
#define DISPID_WINDOWACTIVATE 111
#define DISPID_PROPERTYCHANGE 112
#define DISPID_TITLECHANGE 113
#define DISPID_FRAMEBEFORENAVIGATE 200
#define DISPID_FRAMENAVIGATECOMPLETE 201
#define DISPID_FRAMENEWWINDOW 204
#define DISPID_BEFORENAVIGATE2 250
#define DISPID_NEWWINDOW2 251
#define DISPID_NAVIGATECOMPLETE2 252
#define DISPID_ONQUIT 253
#define DISPID_ONVISIBLE 254
#define DISPID_ONTOOLBAR 255
#define DISPID_ONMENUBAR 256
#define DISPID_ONSTATUSBAR 257
#define DISPID_ONFULLSCREEN 258
#define DISPID_DOCUMENTCOMPLETE 259
#define DISPID_ONTHEATERMODE 260
#define DISPID_ONADDRESSBAR 261
#define DISPID_SELECTIONCHANGED 200
#define DISPID_WINDOWREGISTERED 200
#define DISPID_WINDOWREVOKED 201
#define DISPID_RESETFIRSTBOOTMODE 1
#define DISPID_RESETSAFEMODE 2
#define DISPID_REFRESHOFFLINEDESKTOP 3
#define DISPID_ADDFAVORITE 4
#define DISPID_ADDCHANNEL 5
#define DISPID_ADDDESKTOPCOMPONENT 6
#define DISPID_ISSUBSCRIBED 7
#define DISPID_SHELLUIHELPERLAST 7
#endif /* EXDISPID_H_ */