Public Member Functions | Protected Member Functions | Protected Attributes

IShellBrowserImpl Struct Reference

Implementation of IShellBrowser and ICommDlgBrowser interfaces for explorer child windows (see ShellBrowserChild) More...

#include <shellbrowserimpl.h>

Inheritance diagram for IShellBrowserImpl:
Inheritance graph
[legend]
Collaboration diagram for IShellBrowserImpl:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 IShellBrowserImpl ()
virtual ~IShellBrowserImpl ()
virtual HRESULT STDMETHODCALLTYPE QueryInterface (REFIID iid, void **ppvObject)
virtual ULONG STDMETHODCALLTYPE AddRef ()
virtual ULONG STDMETHODCALLTYPE Release ()
virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp (BOOL fEnterMode)
virtual HRESULT STDMETHODCALLTYPE OnDefaultCommand (IShellView *ppshv)
virtual HRESULT STDMETHODCALLTYPE OnStateChange (IShellView *ppshv, ULONG uChange)
virtual HRESULT STDMETHODCALLTYPE IncludeObject (IShellView *ppshv, LPCITEMIDLIST pidl)
virtual HRESULT STDMETHODCALLTYPE InsertMenusSB (HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
virtual HRESULT STDMETHODCALLTYPE SetMenuSB (HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject)
virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB (HMENU hmenuShared)
virtual HRESULT STDMETHODCALLTYPE SetStatusTextSB (LPCOLESTR lpszStatusText)
virtual HRESULT STDMETHODCALLTYPE EnableModelessSB (BOOL fEnable)
virtual HRESULT STDMETHODCALLTYPE BrowseObject (LPCITEMIDLIST pidl, UINT wFlags)
virtual HRESULT STDMETHODCALLTYPE GetViewStateStream (DWORD grfMode, LPSTREAM *ppStrm)
virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive (IShellView *ppshv)
virtual HRESULT STDMETHODCALLTYPE SetToolbarItems (LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags)
virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorSB (LPMSG lpmsg, WORD wID)
virtual HRESULT STDMETHODCALLTYPE QueryService (REFGUID guidService, REFIID riid, void **ppvObject)
virtual HRESULT STDMETHODCALLTYPE QueryStatus (const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText)
virtual HRESULT STDMETHODCALLTYPE Exec (const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)

Protected Member Functions

virtual HRESULT OnDefaultCommand (LPIDA pida)

Protected Attributes

DWORD _dwRef

Detailed Description

Implementation of IShellBrowser and ICommDlgBrowser interfaces for explorer child windows (see ShellBrowserChild)

Definition at line 37 of file shellbrowserimpl.h.


Constructor & Destructor Documentation

IShellBrowserImpl::IShellBrowserImpl (  ) [inline]

Definition at line 43 of file shellbrowserimpl.h.

     :  _dwRef(0)
    {
    }
virtual IShellBrowserImpl::~IShellBrowserImpl (  ) [inline, virtual]

Definition at line 48 of file shellbrowserimpl.h.

    {
    }

Member Function Documentation

virtual ULONG STDMETHODCALLTYPE IShellBrowserImpl::AddRef (  ) [inline, virtual]

Definition at line 54 of file shellbrowserimpl.h.

References _dwRef.

{return ++_dwRef;}
virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::BrowseObject ( LPCITEMIDLIST  pidl,
UINT  wFlags 
) [inline, virtual]

Definition at line 79 of file shellbrowserimpl.h.

{return E_NOTIMPL;}
virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::ContextSensitiveHelp ( BOOL  fEnterMode ) [inline, virtual]

Definition at line 58 of file shellbrowserimpl.h.

{return E_NOTIMPL;}
virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::EnableModelessSB ( BOOL  fEnable ) [inline, virtual]

Definition at line 78 of file shellbrowserimpl.h.

{return E_NOTIMPL;}
HRESULT IShellBrowserImpl::Exec ( const GUID *  pguidCmdGroup,
DWORD  nCmdID,
DWORD  nCmdexecopt,
VARIANT pvaIn,
VARIANT pvaOut 
) [virtual]

Todo:
implement IOleCommandTarget

Definition at line 89 of file shellbrowserimpl.cpp.

{
    return E_FAIL;  ///@todo implement IOleCommandTarget
}
virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::GetViewStateStream ( DWORD  grfMode,
LPSTREAM *  ppStrm 
) [inline, virtual]

Definition at line 80 of file shellbrowserimpl.h.

{return E_NOTIMPL;}
virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::IncludeObject ( IShellView *  ppshv,
LPCITEMIDLIST  pidl 
) [inline, virtual]

Definition at line 68 of file shellbrowserimpl.h.

    {   //filter files if needed
        return S_OK;
    }
virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::InsertMenusSB ( HMENU  hmenuShared,
LPOLEMENUGROUPWIDTHS  lpMenuWidths 
) [inline, virtual]

Definition at line 74 of file shellbrowserimpl.h.

{return E_NOTIMPL;}
HRESULT IShellBrowserImpl::OnDefaultCommand ( IShellView *  ppshv ) [virtual]

Definition at line 96 of file shellbrowserimpl.cpp.

References PIDList::GetData().

{
    IDataObject* selection;

    HRESULT hr = ppshv->GetItemObject(SVGIO_SELECTION, IID_IDataObject, (void**)&selection);
    if (FAILED(hr))
        return hr;

    PIDList pidList;

    hr = pidList.GetData(selection);
    if (FAILED(hr)) {
        selection->Release();
        return hr;
    }

    hr = OnDefaultCommand(pidList);

    selection->Release();

    return hr;
}

Here is the call graph for this function:

virtual HRESULT IShellBrowserImpl::OnDefaultCommand ( LPIDA  pida ) [inline, protected, virtual]

Reimplemented in DesktopWindow, and ShellBrowser.

Definition at line 95 of file shellbrowserimpl.h.

{return E_NOTIMPL;}
virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::OnStateChange ( IShellView *  ppshv,
ULONG  uChange 
) [inline, virtual]

Definition at line 63 of file shellbrowserimpl.h.

    {   //handle selection, rename, focus if needed
        return E_NOTIMPL;
    }
virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::OnViewWindowActive ( IShellView *  ppshv ) [inline, virtual]

Definition at line 81 of file shellbrowserimpl.h.

{return E_NOTIMPL;}
HRESULT IShellBrowserImpl::QueryInterface ( REFIID  iid,
void **  ppvObject 
) [virtual]

Definition at line 34 of file shellbrowserimpl.cpp.

{
    if (!ppvObject)
        return E_POINTER;

    if (iid == IID_IUnknown)
        *ppvObject = (IUnknown*)static_cast<IShellBrowser*>(this);
    else if (iid == IID_IOleWindow)
        *ppvObject = static_cast<IOleWindow*>(this);
    else if (iid == IID_IShellBrowser)
        *ppvObject = static_cast<IShellBrowser*>(this);
    else if (iid == IID_ICommDlgBrowser)
        *ppvObject = static_cast<ICommDlgBrowser*>(this);
    else if (iid == IID_IServiceProvider)
        *ppvObject = static_cast<IServiceProvider*>(this);
    else {
        *ppvObject = NULL;
        return E_NOINTERFACE;
    }

    return S_OK;
}
HRESULT IShellBrowserImpl::QueryService ( REFGUID  guidService,
REFIID  riid,
void **  ppvObject 
) [virtual]

Todo:
use guidService

Definition at line 57 of file shellbrowserimpl.cpp.

{
    if (!ppvObject)
        return E_POINTER;

    ///@todo use guidService

    if (riid == IID_IUnknown)
        *ppvObject = (IUnknown*)static_cast<IShellBrowser*>(this);
    else if (riid == IID_IOleWindow)
        *ppvObject = static_cast<IOleWindow*>(this);
    else if (riid == IID_IShellBrowser)
        *ppvObject = static_cast<IShellBrowser*>(this);
    else if (riid == IID_ICommDlgBrowser)
        *ppvObject = static_cast<ICommDlgBrowser*>(this);
    else if (riid == IID_IServiceProvider)
        *ppvObject = static_cast<IServiceProvider*>(this);
    else if (riid == IID_IOleCommandTarget)
        *ppvObject = static_cast<IOleCommandTarget*>(this);
    else {
        *ppvObject = NULL;
        return E_NOINTERFACE;
    }

    return S_OK;
}
HRESULT IShellBrowserImpl::QueryStatus ( const GUID *  pguidCmdGroup,
ULONG  cCmds,
OLECMD  prgCmds[],
OLECMDTEXT *  pCmdText 
) [virtual]

Todo:
implement IOleCommandTarget

Definition at line 84 of file shellbrowserimpl.cpp.

{
    return E_FAIL;  ///@todo implement IOleCommandTarget
}
virtual ULONG STDMETHODCALLTYPE IShellBrowserImpl::Release (  ) [inline, virtual]

Definition at line 55 of file shellbrowserimpl.h.

References _dwRef.

{return --_dwRef;}  //not heap based
virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::RemoveMenusSB ( HMENU  hmenuShared ) [inline, virtual]

Definition at line 76 of file shellbrowserimpl.h.

{return E_NOTIMPL;}
virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::SetMenuSB ( HMENU  hmenuShared,
HOLEMENU  holemenuReserved,
HWND  hwndActiveObject 
) [inline, virtual]

Definition at line 75 of file shellbrowserimpl.h.

{return E_NOTIMPL;}
virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::SetStatusTextSB ( LPCOLESTR  lpszStatusText ) [inline, virtual]

Definition at line 77 of file shellbrowserimpl.h.

{return E_NOTIMPL;}
virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::SetToolbarItems ( LPTBBUTTON  lpButtons,
UINT  nButtons,
UINT  uFlags 
) [inline, virtual]

Definition at line 82 of file shellbrowserimpl.h.

{return E_NOTIMPL;}
virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::TranslateAcceleratorSB ( LPMSG  lpmsg,
WORD  wID 
) [inline, virtual]

Definition at line 83 of file shellbrowserimpl.h.

{return S_OK;}

Member Data Documentation

DWORD IShellBrowserImpl::_dwRef [protected]

Definition at line 93 of file shellbrowserimpl.h.

Referenced by AddRef(), and Release().


The documentation for this struct was generated from the following files:

ROS Explorer Source Code Documentation
generated on 02.01.2013 by doxygen

ROS Explorer Homepage