DWebBrowserEvents2Impl Struct Reference

#include <webchild.h>

Inheritance diagram for DWebBrowserEvents2Impl:

Inheritance graph
[legend]
Collaboration diagram for DWebBrowserEvents2Impl:

Collaboration graph
[legend]

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)

Data Fields

DWebBrowserEvents2IF_callback

Protected Member Functions

void NavigateComplete2 (IDispatch *pDisp, const Variant &url)

Protected Attributes

BrowserNavigator_navigator

Detailed Description

Definition at line 617 of file webchild.h.


Member Typedef Documentation

typedef IComSrvBase<FixedDWebBrowserEvents2, DWebBrowserEvents2Impl> DWebBrowserEvents2Impl::super

Reimplemented from IComSrvBase< FixedDWebBrowserEvents2, DWebBrowserEvents2Impl >.

Reimplemented in WebChildWindow.

Definition at line 621 of file webchild.h.


Constructor & Destructor Documentation

DWebBrowserEvents2Impl::DWebBrowserEvents2Impl ( BrowserNavigator navigator  )  [inline]

Definition at line 627 of file webchild.h.

00628      :  super(DIID_DWebBrowserEvents2),
00629         _navigator(navigator)
00630     {
00631         _callback = this;
00632     }


Member Function Documentation

STDMETHOD() DWebBrowserEvents2Impl::GetTypeInfoCount ( UINT *  pctinfo  )  [inline]

Definition at line 648 of file webchild.h.

00649         {return E_NOTIMPL;}

STDMETHOD() DWebBrowserEvents2Impl::GetTypeInfo ( UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
) [inline]

Definition at line 651 of file webchild.h.

00652         {return E_NOTIMPL;}

STDMETHOD() DWebBrowserEvents2Impl::GetIDsOfNames ( REFIID  riid,
LPOLESTR *  rgszNames,
UINT  cNames,
LCID  lcid,
DISPID *  rgDispId 
) [inline]

Definition at line 654 of file webchild.h.

00655         {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 657 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().

00659     {
00660         switch(dispIdMember) {
00661           case DISPID_STATUSTEXTCHANGE:
00662             _callback->StatusTextChange((BStr)Variant(pDispParams->rgvarg[0]));
00663             break;
00664 
00665           case DISPID_COMMANDSTATECHANGE:
00666             _callback->CommandStateChange(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0]));
00667             break;
00668 
00669           case DISPID_DOWNLOADBEGIN:
00670             _callback->DownloadBegin();
00671             break;
00672 
00673           case DISPID_PROGRESSCHANGE:   // sent when download progress is updated
00674             _callback->ProgressChange(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0]));
00675             break;
00676 
00677           case DISPID_WINDOWMOVE:       // sent when main window has been moved
00678             _callback->WindowMove();
00679             break;
00680 
00681           case DISPID_WINDOWRESIZE:     // sent when main window has been sized
00682             _callback->WindowResize();
00683             break;
00684 
00685           case DISPID_WINDOWACTIVATE:   // sent when main window has been activated
00686             _callback->WindowActivate();
00687             break;
00688 
00689           case DISPID_PROPERTYCHANGE:   // sent when the PutProperty method is called
00690             _callback->PropertyChange((BStr)Variant(pDispParams->rgvarg[0]));
00691             break;
00692 
00693           case DISPID_TITLECHANGE:      // sent when the document title changes
00694             _callback->TitleChange((BStr)Variant(pDispParams->rgvarg[0]));
00695             break;
00696 
00697           case DISPID_TITLEICONCHANGE:  // sent when the top level window icon may have changed.
00698             _callback->TitleIconChange((BStr)Variant(pDispParams->rgvarg[0]));
00699             break;
00700 
00701 
00702             // anything below here is not present in DWebBrowserEvents, only in DWebBrowserEvents2: ->
00703 
00704           case DISPID_FRAMEBEFORENAVIGATE:
00705             if (pDispParams->cArgs != 6)
00706                 return E_INVALIDARG;
00707             if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF))
00708                 return E_INVALIDARG;
00709             _callback->FrameBeforeNavigate(
00710                                   (BStr)Variant(&pDispParams->rgvarg[5]), Variant(&pDispParams->rgvarg[4]),
00711                                   (BStr)Variant(&pDispParams->rgvarg[3]), &pDispParams->rgvarg[2],
00712                                   (BStr)Variant(&pDispParams->rgvarg[1]), *V_BOOLREF(&pDispParams->rgvarg[0]));
00713             break;
00714 
00715           case DISPID_FRAMENAVIGATECOMPLETE:
00716             if (pDispParams->cArgs != 1)
00717                 return E_INVALIDARG;
00718             _callback->FrameNavigateComplete((BStr)Variant(pDispParams->rgvarg[0]));
00719             break;
00720 
00721           case DISPID_FRAMENEWWINDOW:
00722             if (pDispParams->cArgs != 6)
00723                 return E_INVALIDARG;
00724             if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF))
00725                 return E_INVALIDARG;
00726             _callback->FrameNewWindow((BStr)Variant(&pDispParams->rgvarg[5]), Variant(&pDispParams->rgvarg[4]),
00727                                   (BStr)Variant(&pDispParams->rgvarg[3]), &pDispParams->rgvarg[2],
00728                                   (BStr)Variant(&pDispParams->rgvarg[1]), *V_BOOLREF(&pDispParams->rgvarg[0]));
00729             break;
00730 
00731           case DISPID_BEFORENAVIGATE2:  // hyperlink clicked on
00732             if (pDispParams->cArgs != 7)
00733                 return E_INVALIDARG;
00734             if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF))
00735                 return E_INVALIDARG;
00736             _callback->BeforeNavigate2(Variant(pDispParams->rgvarg[6]),
00737                                   pDispParams->rgvarg[5], &pDispParams->rgvarg[4],
00738                                   pDispParams->rgvarg[3], &pDispParams->rgvarg[2],
00739                                   pDispParams->rgvarg[1], *V_BOOLREF(&pDispParams->rgvarg[0]));
00740             break;
00741 
00742           case DISPID_NEWWINDOW2:       // sent when a new window should be created
00743             if (pDispParams->cArgs != 2)
00744                 return E_INVALIDARG;
00745             if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF))
00746                 return E_INVALIDARG;
00747             if (V_VT(&pDispParams->rgvarg[1]) != (VT_DISPATCH|VT_BYREF))
00748                 return E_INVALIDARG;
00749             _callback->NewWindow2(V_DISPATCHREF(&pDispParams->rgvarg[1]), *V_BOOLREF(&pDispParams->rgvarg[0]));
00750             break;
00751 
00752           case DISPID_NAVIGATECOMPLETE2:// UIActivate new document
00753             if (pDispParams->cArgs != 2)
00754                 return E_INVALIDARG;
00755 
00756              // notify the navigator
00757             NavigateComplete2(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0]));
00758 
00759             _callback->NavigateComplete2(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0]));
00760             break;
00761 
00762           case DISPID_ONQUIT:
00763             _callback->OnQuit();
00764             break;
00765 
00766           case DISPID_ONVISIBLE:        // sent when the window goes visible/hidden
00767             if (pDispParams->cArgs != 1)
00768                 return E_INVALIDARG;
00769             _callback->OnVisible(Variant(pDispParams->rgvarg[0]));
00770             break;
00771 
00772           case DISPID_ONTOOLBAR:        // sent when the toolbar should be shown/hidden
00773             if (pDispParams->cArgs != 1)
00774                 return E_INVALIDARG;
00775             _callback->OnToolbar(Variant(pDispParams->rgvarg[0]));
00776             break;
00777 
00778           case DISPID_ONMENUBAR:        // sent when the menubar should be shown/hidden
00779             if (pDispParams->cArgs != 1)
00780                 return E_INVALIDARG;
00781             _callback->OnMenubar(Variant(pDispParams->rgvarg[0]));
00782             break;
00783 
00784           case DISPID_ONSTATUSBAR:      // sent when the statusbar should be shown/hidden
00785             if (pDispParams->cArgs != 1)
00786                 return E_INVALIDARG;
00787             _callback->OnStatusbar(Variant(pDispParams->rgvarg[0]));
00788             break;
00789 
00790           case DISPID_ONFULLSCREEN:     // sent when kiosk mode should be on/off
00791             if (pDispParams->cArgs != 1)
00792                 return E_INVALIDARG;
00793             _callback->OnFullscreen(Variant(pDispParams->rgvarg[0]));
00794             break;
00795 
00796           case DISPID_DOCUMENTCOMPLETE:// new document goes ReadyState_Complete
00797             _callback->DocumentComplete();
00798             break;
00799 
00800           case DISPID_DOWNLOADCOMPLETE:
00801             _callback->DownloadComplete();
00802             break;
00803 
00804           case DISPID_ONTHEATERMODE:    // sent when theater mode should be on/off
00805             if (pDispParams->cArgs != 1)
00806                 return E_INVALIDARG;
00807             _callback->OnTheatermode(Variant(pDispParams->rgvarg[0]));
00808             break;
00809 
00810           case DISPID_ONADDRESSBAR:     // sent when the address bar should be shown/hidden
00811             if (pDispParams->cArgs != 1)
00812                 return E_INVALIDARG;
00813             _callback->OnAddressbar(Variant(pDispParams->rgvarg[0]));
00814             break;
00815 
00816           case DISPID_WINDOWSETRESIZABLE:// sent to set the style of the host window frame
00817             if (pDispParams->cArgs != 1)
00818                 return E_INVALIDARG;
00819             _callback->WindowSetResizable(Variant(pDispParams->rgvarg[0]));
00820             break;
00821 
00822           case DISPID_WINDOWCLOSING:    // sent before script window.close closes the window
00823             if (pDispParams->cArgs != 2)
00824                 return E_INVALIDARG;
00825             if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF))
00826                 return E_INVALIDARG;
00827             _callback->WindowClosing(Variant(pDispParams->rgvarg[1]), *V_BOOLREF(&pDispParams->rgvarg[0]));
00828             break;
00829 
00830           case DISPID_WINDOWSETLEFT:    // sent when the put_left method is called on the WebOC
00831             if (pDispParams->cArgs != 1)
00832                 return E_INVALIDARG;
00833             _callback->WindowSetLeft(Variant(pDispParams->rgvarg[0]));
00834             break;
00835 
00836           case DISPID_WINDOWSETTOP:     // sent when the put_top method is called on the WebOC
00837             if (pDispParams->cArgs != 1)
00838                 return E_INVALIDARG;
00839             _callback->WindowSetTop(Variant(pDispParams->rgvarg[0]));
00840             break;
00841 
00842           case DISPID_WINDOWSETWIDTH:   // sent when the put_width method is called on the WebOC
00843             if (pDispParams->cArgs != 1)
00844                 return E_INVALIDARG;
00845             _callback->WindowSetWidth(Variant(pDispParams->rgvarg[0]));
00846             break;
00847 
00848           case DISPID_WINDOWSETHEIGHT:  // sent when the put_height method is called on the WebOC
00849             if (pDispParams->cArgs != 1)
00850                 return E_INVALIDARG;
00851             _callback->WindowSetHeight(Variant(pDispParams->rgvarg[0]));
00852             break;
00853 
00854           case DISPID_CLIENTTOHOSTWINDOW:// sent during window.open to request conversion of dimensions
00855             if (pDispParams->cArgs != 2)
00856                 return E_INVALIDARG;
00857             if (V_VT(&pDispParams->rgvarg[0]) != (VT_I4|VT_BYREF))
00858                 return E_INVALIDARG;
00859             if (V_VT(&pDispParams->rgvarg[1]) != (VT_I4|VT_BYREF))
00860                 return E_INVALIDARG;
00861             _callback->ClientToHostWindow(*V_I4REF(&pDispParams->rgvarg[1]), *V_I4REF(&pDispParams->rgvarg[0]));
00862             break;
00863 
00864           case DISPID_SETSECURELOCKICON:// sent to suggest the appropriate security icon to show
00865             if (pDispParams->cArgs != 1)
00866                 return E_INVALIDARG;
00867             _callback->SetSecureLockIcon(Variant(pDispParams->rgvarg[0]));
00868             break;
00869 
00870           case DISPID_FILEDOWNLOAD: {   // Fired to indicate the File Download dialog is opening
00871             if (pDispParams->cArgs != 1)    //@@ every time 2 ?!
00872                 return E_INVALIDARG;
00873             Variant var(pDispParams->rgvarg[0]);
00874             _callback->FileDownload(var);}
00875             break;
00876 
00877           case DISPID_NAVIGATEERROR:    // Fired to indicate the a binding error has occured
00878             if (pDispParams->cArgs != 5)
00879                 return E_INVALIDARG;
00880             if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF))
00881                 return E_INVALIDARG;
00882             _callback->NavigateError(Variant(pDispParams->rgvarg[4]), Variant(pDispParams->rgvarg[3]),
00883                                 Variant(pDispParams->rgvarg[2]), Variant(pDispParams->rgvarg[1]),
00884                                 *V_BOOLREF(&pDispParams->rgvarg[0]));
00885             break;
00886 
00887           case DISPID_PRIVACYIMPACTEDSTATECHANGE:// Fired when the user's browsing experience is impacted
00888             if (pDispParams->cArgs != 1)
00889                 return E_INVALIDARG;
00890             _callback->PrivacyImpactedStateChange(Variant(pDispParams->rgvarg[0]));
00891             break;
00892 
00893           default:
00894             return NOERROR;
00895         }
00896 
00897         return S_OK;
00898     }

Here is the call graph for this function:

void DWebBrowserEvents2Impl::NavigateComplete2 ( IDispatch *  pDisp,
const Variant &  url 
) [inline, protected, virtual]

Reimplemented from DWebBrowserEvents2IF.

Reimplemented in WebChildWindow.

Definition at line 903 of file webchild.h.

Referenced by WebChildWindow::NavigateComplete2().

00904     {
00905         String adr = (BStr)url;
00906 
00907         _navigator.navigated(adr);
00908     }

Here is the caller graph for this function:


Field Documentation

DWebBrowserEvents2IF* DWebBrowserEvents2Impl::_callback

Definition at line 624 of file webchild.h.

BrowserNavigator& DWebBrowserEvents2Impl::_navigator [protected]

Reimplemented in WebChildWindow.

Definition at line 901 of file webchild.h.


The documentation for this struct was generated from the following file:
IBrowser Source Code Documentation
generated on 18.09.2008 by doxygen

Homepage