#include <webchild.h>
Public Types | |
typedef IComSrvBase < FixedDWebBrowserEvents2, DWebBrowserEvents2Impl > | super |
Public Member Functions | |
DWebBrowserEvents2Impl (BrowserNavigator &navigator) | |
STDMETHOD() | GetTypeInfoCount (UINT *pctinfo) |
STDMETHOD() | GetTypeInfo (UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) |
STDMETHOD() | GetIDsOfNames (REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) |
STDMETHOD() | Invoke (DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS __RPC_FAR *pDispParams, VARIANT __RPC_FAR *pVarResult, EXCEPINFO __RPC_FAR *pExcepInfo, UINT __RPC_FAR *puArgErr) |
Public Attributes | |
DWebBrowserEvents2IF * | _callback |
Protected Member Functions | |
void | NavigateComplete2 (IDispatch *pDisp, const Variant &url) |
Protected Attributes | |
BrowserNavigator & | _navigator |
Definition at line 533 of file webchild.h.
Reimplemented from IComSrvBase< FixedDWebBrowserEvents2, DWebBrowserEvents2Impl >.
Reimplemented in WebChildWindow.
Definition at line 537 of file webchild.h.
DWebBrowserEvents2Impl::DWebBrowserEvents2Impl | ( | BrowserNavigator & | navigator ) | [inline] |
Definition at line 543 of file webchild.h.
: super(DIID_DWebBrowserEvents2), _navigator(navigator) { _callback = this; }
STDMETHOD() DWebBrowserEvents2Impl::GetIDsOfNames | ( | REFIID | riid, |
LPOLESTR * | rgszNames, | ||
UINT | cNames, | ||
LCID | lcid, | ||
DISPID * | rgDispId | ||
) | [inline] |
Definition at line 570 of file webchild.h.
{return E_NOTIMPL;}
STDMETHOD() DWebBrowserEvents2Impl::GetTypeInfo | ( | UINT | iTInfo, |
LCID | lcid, | ||
ITypeInfo ** | ppTInfo | ||
) | [inline] |
Definition at line 567 of file webchild.h.
{return E_NOTIMPL;}
STDMETHOD() DWebBrowserEvents2Impl::GetTypeInfoCount | ( | UINT * | pctinfo ) | [inline] |
Definition at line 564 of file webchild.h.
{return E_NOTIMPL;}
STDMETHOD() DWebBrowserEvents2Impl::Invoke | ( | DISPID | dispIdMember, |
REFIID | riid, | ||
LCID | lcid, | ||
WORD | wFlags, | ||
DISPPARAMS __RPC_FAR * | pDispParams, | ||
VARIANT __RPC_FAR * | pVarResult, | ||
EXCEPINFO __RPC_FAR * | pExcepInfo, | ||
UINT __RPC_FAR * | puArgErr | ||
) | [inline] |
Definition at line 573 of file webchild.h.
References DISPID_CLIENTTOHOSTWINDOW, DISPID_COMMANDSTATECHANGE, DISPID_DOCUMENTCOMPLETE, DISPID_DOWNLOADBEGIN, DISPID_DOWNLOADCOMPLETE, DISPID_FILEDOWNLOAD, DISPID_FRAMEBEFORENAVIGATE, DISPID_FRAMENAVIGATECOMPLETE, DISPID_FRAMENEWWINDOW, DISPID_NAVIGATECOMPLETE2, DISPID_NAVIGATEERROR, DISPID_ONADDRESSBAR, DISPID_ONFULLSCREEN, DISPID_ONMENUBAR, DISPID_ONQUIT, DISPID_ONSTATUSBAR, DISPID_ONTHEATERMODE, DISPID_ONTOOLBAR, DISPID_ONVISIBLE, DISPID_PRIVACYIMPACTEDSTATECHANGE, DISPID_PROGRESSCHANGE, DISPID_PROPERTYCHANGE, DISPID_SETSECURELOCKICON, DISPID_STATUSTEXTCHANGE, DISPID_TITLECHANGE, DISPID_TITLEICONCHANGE, DISPID_WINDOWACTIVATE, DISPID_WINDOWCLOSING, DISPID_WINDOWMOVE, DISPID_WINDOWRESIZE, DISPID_WINDOWSETHEIGHT, DISPID_WINDOWSETLEFT, DISPID_WINDOWSETRESIZABLE, DISPID_WINDOWSETTOP, DISPID_WINDOWSETWIDTH, and DWebBrowserEvents2IF::NavigateComplete2().
{ switch(dispIdMember) { case DISPID_STATUSTEXTCHANGE: _callback->StatusTextChange((BStr)Variant(pDispParams->rgvarg[0])); break; case DISPID_COMMANDSTATECHANGE: _callback->CommandStateChange(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0])); break; case DISPID_DOWNLOADBEGIN: _callback->DownloadBegin(); break; case DISPID_PROGRESSCHANGE: // sent when download progress is updated _callback->ProgressChange(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0])); break; case DISPID_WINDOWMOVE: // sent when main window has been moved _callback->WindowMove(); break; case DISPID_WINDOWRESIZE: // sent when main window has been sized _callback->WindowResize(); break; case DISPID_WINDOWACTIVATE: // sent when main window has been activated _callback->WindowActivate(); break; case DISPID_PROPERTYCHANGE: // sent when the PutProperty method is called _callback->PropertyChange((BStr)Variant(pDispParams->rgvarg[0])); break; case DISPID_TITLECHANGE: // sent when the document title changes _callback->TitleChange((BStr)Variant(pDispParams->rgvarg[0])); break; case DISPID_TITLEICONCHANGE: // sent when the top level window icon may have changed. _callback->TitleIconChange((BStr)Variant(pDispParams->rgvarg[0])); break; // anything below here is not present in DWebBrowserEvents, only in DWebBrowserEvents2: -> case DISPID_FRAMEBEFORENAVIGATE: if (pDispParams->cArgs != 6) return E_INVALIDARG; if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF)) return E_INVALIDARG; _callback->FrameBeforeNavigate( (BStr)Variant(&pDispParams->rgvarg[5]), Variant(&pDispParams->rgvarg[4]), (BStr)Variant(&pDispParams->rgvarg[3]), &pDispParams->rgvarg[2], (BStr)Variant(&pDispParams->rgvarg[1]), *V_BOOLREF(&pDispParams->rgvarg[0])); break; case DISPID_FRAMENAVIGATECOMPLETE: if (pDispParams->cArgs != 1) return E_INVALIDARG; _callback->FrameNavigateComplete((BStr)Variant(pDispParams->rgvarg[0])); break; case DISPID_FRAMENEWWINDOW: if (pDispParams->cArgs != 6) return E_INVALIDARG; if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF)) return E_INVALIDARG; _callback->FrameNewWindow((BStr)Variant(&pDispParams->rgvarg[5]), Variant(&pDispParams->rgvarg[4]), (BStr)Variant(&pDispParams->rgvarg[3]), &pDispParams->rgvarg[2], (BStr)Variant(&pDispParams->rgvarg[1]), *V_BOOLREF(&pDispParams->rgvarg[0])); break; case DISPID_BEFORENAVIGATE2: // hyperlink clicked on if (pDispParams->cArgs != 7) return E_INVALIDARG; if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF)) return E_INVALIDARG; _callback->BeforeNavigate2(Variant(pDispParams->rgvarg[6]), pDispParams->rgvarg[5], &pDispParams->rgvarg[4], pDispParams->rgvarg[3], &pDispParams->rgvarg[2], pDispParams->rgvarg[1], *V_BOOLREF(&pDispParams->rgvarg[0])); break; case DISPID_NEWWINDOW2: // sent when a new window should be created if (pDispParams->cArgs != 2) return E_INVALIDARG; if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF)) return E_INVALIDARG; if (V_VT(&pDispParams->rgvarg[1]) != (VT_DISPATCH|VT_BYREF)) return E_INVALIDARG; _callback->NewWindow2(V_DISPATCHREF(&pDispParams->rgvarg[1]), *V_BOOLREF(&pDispParams->rgvarg[0])); break; case DISPID_NAVIGATECOMPLETE2:// UIActivate new document if (pDispParams->cArgs != 2) return E_INVALIDARG; // notify the navigator NavigateComplete2(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0])); _callback->NavigateComplete2(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0])); break; case DISPID_ONQUIT: _callback->OnQuit(); break; case DISPID_ONVISIBLE: // sent when the window goes visible/hidden if (pDispParams->cArgs != 1) return E_INVALIDARG; _callback->OnVisible(Variant(pDispParams->rgvarg[0])); break; case DISPID_ONTOOLBAR: // sent when the toolbar should be shown/hidden if (pDispParams->cArgs != 1) return E_INVALIDARG; _callback->OnToolbar(Variant(pDispParams->rgvarg[0])); break; case DISPID_ONMENUBAR: // sent when the menubar should be shown/hidden if (pDispParams->cArgs != 1) return E_INVALIDARG; _callback->OnMenubar(Variant(pDispParams->rgvarg[0])); break; case DISPID_ONSTATUSBAR: // sent when the statusbar should be shown/hidden if (pDispParams->cArgs != 1) return E_INVALIDARG; _callback->OnStatusbar(Variant(pDispParams->rgvarg[0])); break; case DISPID_ONFULLSCREEN: // sent when kiosk mode should be on/off if (pDispParams->cArgs != 1) return E_INVALIDARG; _callback->OnFullscreen(Variant(pDispParams->rgvarg[0])); break; case DISPID_DOCUMENTCOMPLETE:// new document goes ReadyState_Complete _callback->DocumentComplete(); break; case DISPID_DOWNLOADCOMPLETE: _callback->DownloadComplete(); break; case DISPID_ONTHEATERMODE: // sent when theater mode should be on/off if (pDispParams->cArgs != 1) return E_INVALIDARG; _callback->OnTheatermode(Variant(pDispParams->rgvarg[0])); break; case DISPID_ONADDRESSBAR: // sent when the address bar should be shown/hidden if (pDispParams->cArgs != 1) return E_INVALIDARG; _callback->OnAddressbar(Variant(pDispParams->rgvarg[0])); break; case DISPID_WINDOWSETRESIZABLE:// sent to set the style of the host window frame if (pDispParams->cArgs != 1) return E_INVALIDARG; _callback->WindowSetResizable(Variant(pDispParams->rgvarg[0])); break; case DISPID_WINDOWCLOSING: // sent before script window.close closes the window if (pDispParams->cArgs != 2) return E_INVALIDARG; if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF)) return E_INVALIDARG; _callback->WindowClosing(Variant(pDispParams->rgvarg[1]), *V_BOOLREF(&pDispParams->rgvarg[0])); break; case DISPID_WINDOWSETLEFT: // sent when the put_left method is called on the WebOC if (pDispParams->cArgs != 1) return E_INVALIDARG; _callback->WindowSetLeft(Variant(pDispParams->rgvarg[0])); break; case DISPID_WINDOWSETTOP: // sent when the put_top method is called on the WebOC if (pDispParams->cArgs != 1) return E_INVALIDARG; _callback->WindowSetTop(Variant(pDispParams->rgvarg[0])); break; case DISPID_WINDOWSETWIDTH: // sent when the put_width method is called on the WebOC if (pDispParams->cArgs != 1) return E_INVALIDARG; _callback->WindowSetWidth(Variant(pDispParams->rgvarg[0])); break; case DISPID_WINDOWSETHEIGHT: // sent when the put_height method is called on the WebOC if (pDispParams->cArgs != 1) return E_INVALIDARG; _callback->WindowSetHeight(Variant(pDispParams->rgvarg[0])); break; case DISPID_CLIENTTOHOSTWINDOW:// sent during window.open to request conversion of dimensions { long cx, cy; if (pDispParams->cArgs != 2) return E_INVALIDARG; if (V_VT(&pDispParams->rgvarg[0]) != (VT_I4|VT_BYREF)) return E_INVALIDARG; if (V_VT(&pDispParams->rgvarg[1]) != (VT_I4|VT_BYREF)) return E_INVALIDARG; cx = *V_I4REF(&pDispParams->rgvarg[1]); cy = *V_I4REF(&pDispParams->rgvarg[0]); _callback->ClientToHostWindow(cx, cy); break; } case DISPID_SETSECURELOCKICON:// sent to suggest the appropriate security icon to show if (pDispParams->cArgs != 1) return E_INVALIDARG; _callback->SetSecureLockIcon(Variant(pDispParams->rgvarg[0])); break; case DISPID_FILEDOWNLOAD: { // Fired to indicate the File Download dialog is opening if (pDispParams->cArgs != 1) //@@ every time 2 ?! return E_INVALIDARG; Variant var(pDispParams->rgvarg[0]); _callback->FileDownload(var);} break; case DISPID_NAVIGATEERROR: // Fired to indicate the a binding error has occured if (pDispParams->cArgs != 5) return E_INVALIDARG; if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF)) return E_INVALIDARG; _callback->NavigateError(Variant(pDispParams->rgvarg[4]), Variant(pDispParams->rgvarg[3]), Variant(pDispParams->rgvarg[2]), Variant(pDispParams->rgvarg[1]), *V_BOOLREF(&pDispParams->rgvarg[0])); break; case DISPID_PRIVACYIMPACTEDSTATECHANGE:// Fired when the user's browsing experience is impacted if (pDispParams->cArgs != 1) return E_INVALIDARG; _callback->PrivacyImpactedStateChange(Variant(pDispParams->rgvarg[0])); break; default: return NOERROR; } return S_OK; }
void DWebBrowserEvents2Impl::NavigateComplete2 | ( | IDispatch * | pDisp, |
const Variant & | url | ||
) | [inline, protected, virtual] |
Reimplemented from DWebBrowserEvents2IF.
Reimplemented in WebChildWindow.
Definition at line 824 of file webchild.h.
Referenced by WebChildWindow::NavigateComplete2().
{ String adr = (BStr)url; _navigator.navigated(adr); }
Definition at line 540 of file webchild.h.
BrowserNavigator& DWebBrowserEvents2Impl::_navigator [protected] |
Reimplemented in WebChildWindow.
Definition at line 822 of file webchild.h.
ROS Explorer Source Code Documentation
generated on 02.01.2013 by |