34 #ifndef DISPID_BEFORENAVIGATE // missing in MinGW (as of 07.02.2004) 35 #define DISPID_BEFORENAVIGATE 100 36 #define DISPID_NAVIGATECOMPLETE 101 37 #define DISPID_STATUSTEXTCHANGE 102 38 #define DISPID_QUIT 103 39 #define DISPID_DOWNLOADCOMPLETE 104 40 #define DISPID_COMMANDSTATECHANGE 105 41 #define DISPID_DOWNLOADBEGIN 106 42 #define DISPID_NEWWINDOW 107 43 #define DISPID_PROGRESSCHANGE 108 44 #define DISPID_WINDOWMOVE 109 45 #define DISPID_WINDOWRESIZE 110 46 #define DISPID_WINDOWACTIVATE 111 47 #define DISPID_PROPERTYCHANGE 112 48 #define DISPID_TITLECHANGE 113 49 #define DISPID_TITLEICONCHANGE 114 50 #define DISPID_FRAMEBEFORENAVIGATE 200 51 #define DISPID_FRAMENAVIGATECOMPLETE 201 52 #define DISPID_FRAMENEWWINDOW 204 54 #define DISPID_NAVIGATECOMPLETE2 252 55 #define DISPID_ONQUIT 253 56 #define DISPID_ONVISIBLE 254 57 #define DISPID_ONTOOLBAR 255 58 #define DISPID_ONMENUBAR 256 59 #define DISPID_ONSTATUSBAR 257 60 #define DISPID_ONFULLSCREEN 258 61 #define DISPID_DOCUMENTCOMPLETE 259 62 #define DISPID_ONTHEATERMODE 260 63 #define DISPID_ONADDRESSBAR 261 64 #define DISPID_WINDOWSETRESIZABLE 262 65 #define DISPID_WINDOWCLOSING 263 66 #define DISPID_WINDOWSETLEFT 264 67 #define DISPID_WINDOWSETTOP 265 68 #define DISPID_WINDOWSETWIDTH 266 69 #define DISPID_WINDOWSETHEIGHT 267 70 #define DISPID_CLIENTTOHOSTWINDOW 268 71 #define DISPID_SETSECURELOCKICON 269 72 #define DISPID_FILEDOWNLOAD 270 73 #define DISPID_NAVIGATEERROR 271 74 #define DISPID_PRIVACYIMPACTEDSTATECHANGE 272 77 #ifndef V_INT // missing in MinGW (as of 07.02.2004) 78 #define V_INT(x) V_UNION(x, intVal) 82 #pragma warning(disable: 4355) // use of 'this' for initialization of _connector 184 {*
ppv=static_cast<IOleClientSite*>(
this);
IncRef();
return S_OK;}
187 {*
ppv=static_cast<IOleInPlaceSite*>(
this);
IncRef();
return S_OK;}
269 LPOLEINPLACEFRAMEINFO lpFrameInfo)
276 *lprcClipRect =
rect;
278 assert(lpFrameInfo->cb>=
sizeof(OLEINPLACEFRAMEINFO));
279 lpFrameInfo->fMDIApp =
FALSE;
280 lpFrameInfo->hwndFrame = 0;
281 lpFrameInfo->haccel = 0;
282 lpFrameInfo->cAccelEntries = 0;
435 const Variant& targetFrameName,
const Variant& postData,
510 void attach(IWebBrowser* browser);
512 void set_html_page(
const String& html_txt);
526 interface FixedDWebBrowserEvents2 :
public IDispatch 529 virtual ~FixedDWebBrowserEvents2() {}
544 :
super(DIID_DWebBrowserEvents2),
545 _navigator(navigator)
576 switch(dispIdMember) {
582 _callback->
CommandStateChange(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0]));
590 _callback->
ProgressChange(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0]));
610 _callback->
TitleChange((BStr)Variant(pDispParams->rgvarg[0]));
621 if (pDispParams->cArgs != 6)
626 (BStr)Variant(&pDispParams->rgvarg[5]), Variant(&pDispParams->rgvarg[4]),
627 (BStr)Variant(&pDispParams->rgvarg[3]), &pDispParams->rgvarg[2],
628 (BStr)Variant(&pDispParams->rgvarg[1]), *
V_BOOLREF(&pDispParams->rgvarg[0]));
632 if (pDispParams->cArgs != 1)
638 if (pDispParams->cArgs != 6)
642 _callback->
FrameNewWindow((BStr)Variant(&pDispParams->rgvarg[5]), Variant(&pDispParams->rgvarg[4]),
643 (BStr)Variant(&pDispParams->rgvarg[3]), &pDispParams->rgvarg[2],
644 (BStr)Variant(&pDispParams->rgvarg[1]), *
V_BOOLREF(&pDispParams->rgvarg[0]));
648 if (pDispParams->cArgs != 7)
653 pDispParams->rgvarg[5], &pDispParams->rgvarg[4],
654 pDispParams->rgvarg[3], &pDispParams->rgvarg[2],
655 pDispParams->rgvarg[1], *
V_BOOLREF(&pDispParams->rgvarg[0]));
659 if (pDispParams->cArgs != 2)
669 if (pDispParams->cArgs != 2)
673 NavigateComplete2(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0]));
675 _callback->
NavigateComplete2(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0]));
683 if (pDispParams->cArgs != 1)
685 _callback->
OnVisible(Variant(pDispParams->rgvarg[0]));
689 if (pDispParams->cArgs != 1)
691 _callback->
OnToolbar(Variant(pDispParams->rgvarg[0]));
695 if (pDispParams->cArgs != 1)
697 _callback->
OnMenubar(Variant(pDispParams->rgvarg[0]));
701 if (pDispParams->cArgs != 1)
703 _callback->
OnStatusbar(Variant(pDispParams->rgvarg[0]));
707 if (pDispParams->cArgs != 1)
709 _callback->
OnFullscreen(Variant(pDispParams->rgvarg[0]));
721 if (pDispParams->cArgs != 1)
727 if (pDispParams->cArgs != 1)
729 _callback->
OnAddressbar(Variant(pDispParams->rgvarg[0]));
733 if (pDispParams->cArgs != 1)
739 if (pDispParams->cArgs != 2)
747 if (pDispParams->cArgs != 1)
753 if (pDispParams->cArgs != 1)
755 _callback->
WindowSetTop(Variant(pDispParams->rgvarg[0]));
759 if (pDispParams->cArgs != 1)
765 if (pDispParams->cArgs != 1)
773 if (pDispParams->cArgs != 2)
786 if (pDispParams->cArgs != 1)
792 if (pDispParams->cArgs != 1)
794 Variant
var(pDispParams->rgvarg[0]);
799 if (pDispParams->cArgs != 5)
803 _callback->
NavigateError(Variant(pDispParams->rgvarg[4]), Variant(pDispParams->rgvarg[3]),
804 Variant(pDispParams->rgvarg[2]), Variant(pDispParams->rgvarg[1]),
809 if (pDispParams->cArgs != 1)
847 return static_cast<WebChildWindow*>(
child);
854 const Variant& targetFrameName,
const Variant& postData,
virtual void OnTheatermode(bool Visible)
#define DISPID_COMMANDSTATECHANGE
virtual HRESULT STDMETHODCALLTYPE OnInPlaceDeactivate()
void FrameBeforeNavigate(const BStr &url, long flags, const BStr &targetFrameName, VARIANT *postData, const BStr &headers, VARIANT_BOOL &cancel)
void WindowSetWidth(long Width)
static unsigned int progressMax
#define DISPID_BEFORENAVIGATE2
void OnFullscreen(bool Visible)
void ProgressChange(long Progress, long ProgressMax)
virtual HRESULT STDMETHODCALLTYPE CanInPlaceActivate()
HRESULT SetClientSite([in, unique] IOleClientSite *pClientSite)
virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode)
virtual void ClientToHostWindow(long &CX, long &CY)
HRESULT DoVerb([in] LONG iVerb, [in, unique] LPMSG lpmsg, [in, unique] IOleClientSite *pActiveSite, [in] LONG lindex, [in] HWND hwndParent, [in, unique] LPCRECT lprcPosRect)
void OnVisible(bool Visible)
virtual void FrameNewWindow(const BStr &url, long flags, const BStr &targetFrameName, VARIANT *postData, const BStr &headers, VARIANT_BOOL &processed)
void navigated(LPCTSTR url)
virtual void WindowResize()
const GUID IID_IOleInPlaceSite
virtual void OnMenubar(bool Visible)
STDMETHODIMP_(ULONG) Release()
const GUID IID_IOleClientSite
HRESULT attach_control(IOleObject *ole_obj, LONG iVerb=OLEIVERB_INPLACEACTIVATE, HWND hwndParent=0, LPCRECT pRect=NULL)
#define DISPID_ONSTATUSBAR
const GUID IID_IConnectionPointContainer
virtual void WindowClosing(VARIANT_BOOL IsChildWindow, VARIANT_BOOL &cancel)
#define DISPID_DOCUMENTCOMPLETE
virtual void OnVisible(bool Visible)
void SetSecureLockIcon(long SecureLockIcon)
#define DISPID_DOWNLOADCOMPLETE
DWebBrowserEvents2IF * _callback
virtual void WindowSetLeft(long Left)
virtual void WindowActivate()
vector< Header * > headers
#define DISPID_CLIENTTOHOSTWINDOW
#define DISPID_FRAMENAVIGATECOMPLETE
virtual void DownloadComplete()
virtual HRESULT STDMETHODCALLTYPE GetContainer(IOleContainer __RPC_FAR *__RPC_FAR *ppContainer)
virtual HRESULT STDMETHODCALLTYPE OnShowWindow(BOOL fShow)
void FileDownload(Variant &cancel)
virtual void WindowSetHeight(long Height)
void WindowClosing(VARIANT_BOOL IsChildWindow, VARIANT_BOOL &cancel)
EventConnection(IConnectionPoint *connectionpoint, IUnknown *sink)
#define DISPID_STATUSTEXTCHANGE
GLsizei GLenum GLboolean sink
#define DISPID_WINDOWSETRESIZABLE
#define DISPID_ONADDRESSBAR
#define DISPID_TITLECHANGE
HRESULT SetObjectRects([in] LPCRECT lprcPosRect, [in] LPCRECT lprcClipRect)
HRESULT Advise([in] IUnknown *pUnkSink, [out] DWORD *pdwCookie)
virtual HRESULT STDMETHODCALLTYPE GetWindowContext(IOleInPlaceFrame __RPC_FAR *__RPC_FAR *ppFrame, IOleInPlaceUIWindow __RPC_FAR *__RPC_FAR *ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo)
BrowserNavigator & _navigator
SIfacePtr< IWebBrowser > _browser
LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
void WindowSetHeight(long Height)
HRESULT detach(IOleObject *ole_obj, DWORD dwSaveOption=OLECLOSE_SAVEIFDIRTY)
void NavigateComplete2(IDispatch *pDisp, const Variant &url)
virtual HRESULT STDMETHODCALLTYPE DiscardUndoState()
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
OleInPlaceClient(HWND hwnd=0)
virtual void WindowMove()
virtual HRESULT STDMETHODCALLTYPE OnUIDeactivate(BOOL fUndoable)
virtual HRESULT STDMETHODCALLTYPE OnPosRectChange(LPCRECT lprcPosRect)
static UINT WPARAM LPARAM lparam
HRESULT create_control(HWND hwnd, REFIID clsid, REFIID riid)
_Out_opt_ int _Out_opt_ int * cy
#define DISPID_NAVIGATECOMPLETE2
#define CLASSNAME_CHILDWND
virtual HRESULT STDMETHODCALLTYPE OnInPlaceActivate()
virtual HRESULT STDMETHODCALLTYPE Scroll(SIZE scrollExtant)
virtual void NavigateError(IDispatch *pDisp, const Variant &url, const Variant &Frame, const Variant &StatusCode, VARIANT_BOOL &cancel)
virtual void WindowSetResizable(bool Visible)
void TitleIconChange(const BStr &text)
STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppv)
void PrivacyImpactedStateChange(bool bImpacted)
#define DISPID_FRAMEBEFORENAVIGATE
virtual String jump_to_int(LPCTSTR url)
void OnAddressbar(bool Visible)
#define WINDOW_CREATOR_INFO(WND_CLASS, INFO_CLASS)
const GUID IID_IOleInPlaceObject
const GUID IID_IOleObject
IComSrvBase< FixedDWebBrowserEvents2, DWebBrowserEvents2Impl > super
#define DISPID_WINDOWCLOSING
virtual void OnAddressbar(bool Visible)
virtual void BeforeNavigate2(IDispatch *pDisp, const Variant &url, const Variant &flags, const Variant &targetFrameName, const Variant &postData, const Variant &headers, VARIANT_BOOL &cancel)
#define DISPID_FRAMENEWWINDOW
virtual void TitleChange(const BStr &text)
EventConnector(IUnknown *unknown, REFIID riid, IUnknown *sink)
BrowserNavigator _navigator
#define DISPID_WINDOWMOVE
void OnMenubar(bool Visible)
virtual void FrameNavigateComplete(const BStr &url)
void WindowSetLeft(long Left)
#define DISPID_WINDOWRESIZE
virtual HRESULT STDMETHODCALLTYPE DeactivateAndUndo()
void TitleChange(const BStr &text)
virtual void StatusTextChange(const BStr &text)
virtual void PropertyChange(const BStr &property)
HRESULT FindConnectionPoint([in] REFIID riid, [out] IConnectionPoint **ppCP)
#define STDMETHODCALLTYPE
virtual void FileDownload(Variant &cancel)
virtual void NavigateComplete2(IDispatch *pDisp, const Variant &url)
HRESULT Close([in] DWORD dwSaveOption)
information structure for creation of WebChildWindow
void NavigateError(IDispatch *pDisp, const Variant &url, const Variant &Frame, const Variant &StatusCode, VARIANT_BOOL &cancel)
void StatusTextChange(const BStr &text)
void WindowSetResizable(bool Visible)
void OnTheatermode(bool Visible)
virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND __RPC_FAR *phwnd)
void FrameNewWindow(const BStr &url, long flags, const BStr &targetFrameName, VARIANT *postData, const BStr &headers, VARIANT_BOOL &processed)
virtual void OnToolbar(bool Visible)
virtual void SetSecureLockIcon(long SecureLockIcon)
void NavigateComplete2(IDispatch *pDisp, const Variant &url)
static ChildWindow * create(const ChildWndInfo &info, const RECT &rect, CREATORFUNC_INFO creator, LPCTSTR classname, LPCTSTR title=NULL, DWORD style=0)
DWebBrowserEvents2Impl web_super
DWebBrowserEvents2Impl(BrowserNavigator &navigator)
virtual void PrivacyImpactedStateChange(bool bImpacted)
void NewWindow2(IDispatch **ppDisp, VARIANT_BOOL &cancel)
virtual void DocumentComplete()
#define DISPID_NAVIGATEERROR
void set_url(LPCTSTR url)
virtual void WindowSetWidth(long Width)
#define DISPID_DOWNLOADBEGIN
IPCtrlWindow(HWND hwnd, T &info)
#define DISPID_ONTHEATERMODE
void CheckError(HRESULT hr)
auto_ptr< EventConnector > _connector
#define DISPID_WINDOWSETTOP
OleInPlaceClient _client_side
GLsizei const GLfloat * value
virtual void OnStatusbar(bool Visible)
#define DISPID_PRIVACYIMPACTEDSTATECHANGE
SIfacePtr< IConnectionPoint > _connectionpoint
virtual HRESULT STDMETHODCALLTYPE OnUIActivate()
virtual HRESULT STDMETHODCALLTYPE ShowObject()
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
_In_ DWORD _Out_ _In_ WORD wFlags
bool _browser_initialized
struct stdole::EXCEPINFO EXCEPINFO
static VARIANTARG static DISPID
#define DISPID_SETSECURELOCKICON
LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
EventConnection(T &connectionpoint, IUnknown *sink)
#define OLEIVERB_INPLACEACTIVATE
void CommandStateChange(long command, bool enable)
SIfacePtr< IOleInPlaceObject > _in_place_object
virtual HRESULT STDMETHODCALLTYPE RequestNewObjectLayout()
#define DISPID_WINDOWSETWIDTH
#define DISPID_FILEDOWNLOAD
virtual HRESULT STDMETHODCALLTYPE GetMoniker(DWORD dwAssign, DWORD dwWhichMoniker, IMoniker __RPC_FAR *__RPC_FAR *ppmk)
void WindowSetTop(long Top)
HRESULT Unadvise([in] DWORD dwCookie)
virtual void WindowSetTop(long Top)
information structure for creation of FileChildWindow
void PropertyChange(const BStr &Property)
wrapper class for COM interface pointers
#define DISPID_ONFULLSCREEN
virtual ~DWebBrowserEvents2IF()
struct stdole::DISPPARAMS DISPPARAMS
void BeforeNavigate2(IDispatch *pDisp, const Variant &url, const Variant &flags, const Variant &targetFrameName, const Variant &postData, const Variant &headers, VARIANT_BOOL &cancel)
static int processed(const type_t *type)
#define DISPID_PROGRESSCHANGE
STDMETHODIMP_(ULONG) AddRef()
void ClientToHostWindow(long &CX, long &CY)
void OnStatusbar(bool Visible)
IWebBrowser * get_browser()
virtual void DownloadBegin()
static WebChildWindow * create(const FileChildWndInfo &info)
encapsulation of Web control in MDI child windows
#define DISPID_PROPERTYCHANGE
virtual void OnFullscreen(bool Visible)
virtual void FrameBeforeNavigate(const BStr &url, long flags, const BStr &targetFrameName, VARIANT *postData, const BStr &headers, VARIANT_BOOL &cancel)
#define DISPID_NEWWINDOW2
ConnectionPoint(IConnectionPointContainer *pCPC, REFIID riid)
IPCtrlWindow< ChildWindow, SIfacePtr< IWebBrowser2 > > super
#define DISPID_WINDOWACTIVATE
virtual void CommandStateChange(long command, bool enable)
virtual void NewWindow2(IDispatch **ppDisp, VARIANT_BOOL &cancel)
virtual HRESULT STDMETHODCALLTYPE SaveObject()
virtual void ProgressChange(long progress, long progressMax)
#define DISPID_WINDOWSETLEFT
#define IsEqualIID(riid1, riid2)
void FrameNavigateComplete(const BStr &url)
static UINT WPARAM wparam
virtual void TitleIconChange(const BStr &text)
#define DISPID_WINDOWSETHEIGHT
#define DISPID_TITLEICONCHANGE
void OnToolbar(bool Visible)
WebChildWindow(HWND hwnd, const WebChildWndInfo &info)