#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
|