ReactOS  0.4.12-dev-75-g00dd17e
IShellBrowserImpl Struct Reference

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

#include <shellbrowserimpl.h>

Inheritance diagram for IShellBrowserImpl:
Collaboration diagram for IShellBrowserImpl:

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)
 
- Public Member Functions inherited from IShellBrowser
HRESULT TranslateAcceleratorSB ([in] MSG *pmsg, [in] WORD wID)
 
HRESULT GetViewStateStream ([in] DWORD grfMode, [out] IStream **ppStrm)
 
HRESULT GetControlWindow ([in] UINT id, [out] HWND *phwnd)
 
HRESULT SendControlMsg ([in] UINT id, [in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam, [in] LRESULT *pret)
 
HRESULT QueryActiveShellView ([out] IShellView **ppshv)
 
- Public Member Functions inherited from IOleWindow
HRESULT GetWindow ([out] HWND *phwnd)
 
- Public Member Functions inherited from IServiceProvider
HRESULT RemoteQueryService ([in] REFGUID guidService, [in] REFIID riid, [out, iid_is(riid)] IUnknown **ppvObject)
 

Public Attributes

IShellBrowser IShellBrowser_iface
 
ICommDlgBrowser ICommDlgBrowser_iface
 
IServiceProvider IServiceProvider_iface
 
LONG ref
 
HWND hwndOwner
 
- Public Attributes inherited from IShellBrowser
FCT_ADDTOEND typedef LPARAM LPTBBUTTONSB
 
- Public Attributes inherited from ICommDlgBrowser
CDBOSC_STATECHANGE typedef ICommDlgBrowserLPCOMMDLGBROWSER
 

Protected Member Functions

virtual HRESULT OnDefaultCommand (LPIDA pida)
 

Protected Attributes

DWORD _dwRef
 

Additional Inherited Members

- Public Types inherited from IShellBrowser
typedef IShellBrowserLPSHELLBROWSER
 
typedef LPTBBUTTON LPTBBUTTONSB
 
- Public Types inherited from IOleWindow
typedef IOleWindowLPOLEWINDOW
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Public Types inherited from IServiceProvider
typedef IServiceProviderLPSERVICEPROVIDER
 
- Public Types inherited from IOleCommandTarget
enum  OLECMDF {
  OLECMDF_SUPPORTED = 0x1, OLECMDF_ENABLED = 0x2, OLECMDF_LATCHED = 0x4, OLECMDF_NINCHED = 0x8,
  OLECMDF_INVISIBLE = 0x10, OLECMDF_DEFHIDEONCTXTMENU = 0x20
}
 
enum  OLECMDTEXTF { OLECMDTEXTF_NONE = 0, OLECMDTEXTF_NAME = 1, OLECMDTEXTF_STATUS = 2 }
 
enum  OLECMDEXECOPT { OLECMDEXECOPT_DODEFAULT = 0, OLECMDEXECOPT_PROMPTUSER = 1, OLECMDEXECOPT_DONTPROMPTUSER = 2, OLECMDEXECOPT_SHOWHELP = 3 }
 
enum  OLECMDID {
  OLECMDID_OPEN = 1, OLECMDID_NEW = 2, OLECMDID_SAVE = 3, OLECMDID_SAVEAS = 4,
  OLECMDID_SAVECOPYAS = 5, OLECMDID_PRINT = 6, OLECMDID_PRINTPREVIEW = 7, OLECMDID_PAGESETUP = 8,
  OLECMDID_SPELL = 9, OLECMDID_PROPERTIES = 10, OLECMDID_CUT = 11, OLECMDID_COPY = 12,
  OLECMDID_PASTE = 13, OLECMDID_PASTESPECIAL = 14, OLECMDID_UNDO = 15, OLECMDID_REDO = 16,
  OLECMDID_SELECTALL = 17, OLECMDID_CLEARSELECTION = 18, OLECMDID_ZOOM = 19, OLECMDID_GETZOOMRANGE = 20,
  OLECMDID_UPDATECOMMANDS = 21, OLECMDID_REFRESH = 22, OLECMDID_STOP = 23, OLECMDID_HIDETOOLBARS = 24,
  OLECMDID_SETPROGRESSMAX = 25, OLECMDID_SETPROGRESSPOS = 26, OLECMDID_SETPROGRESSTEXT = 27, OLECMDID_SETTITLE = 28,
  OLECMDID_SETDOWNLOADSTATE = 29, OLECMDID_STOPDOWNLOAD = 30, OLECMDID_ONTOOLBARACTIVATED = 31, OLECMDID_FIND = 32,
  OLECMDID_DELETE = 33, OLECMDID_HTTPEQUIV = 34, OLECMDID_HTTPEQUIV_DONE = 35, OLECMDID_ENABLE_INTERACTION = 36,
  OLECMDID_ONUNLOAD = 37, OLECMDID_PROPERTYBAG2 = 38, OLECMDID_PREREFRESH = 39, OLECMDID_SHOWSCRIPTERROR = 40,
  OLECMDID_SHOWMESSAGE = 41, OLECMDID_SHOWFIND = 42, OLECMDID_SHOWPAGESETUP = 43, OLECMDID_SHOWPRINT = 44,
  OLECMDID_CLOSE = 45, OLECMDID_ALLOWUILESSSAVEAS = 46, OLECMDID_DONTDOWNLOADCSS = 47, OLECMDID_UPDATEPAGESTATUS = 48,
  OLECMDID_PRINT2 = 49, OLECMDID_PRINTPREVIEW2 = 50, OLECMDID_SETPRINTTEMPLATE = 51, OLECMDID_GETPRINTTEMPLATE = 52,
  OLECMDID_PAGEACTIONBLOCKED = 55, OLECMDID_PAGEACTIONUIQUERY = 56, OLECMDID_FOCUSVIEWCONTROLS = 57, OLECMDID_FOCUSVIEWCONTROLSQUERY = 58,
  OLECMDID_SHOWPAGEACTIONMENU = 59, OLECMDID_ADDTRAVELENTRY = 60, OLECMDID_UPDATETRAVELENTRY = 61, OLECMDID_UPDATEBACKFORWARDSTATE = 62,
  OLECMDID_OPTICAL_ZOOM = 63, OLECMDID_OPTICAL_GETZOOMRANGE = 64, OLECMDID_WINDOWSTATECHANGED = 65, OLECMDID_ACTIVEXINSTALLSCOPE = 66,
  OLECMDID_UPDATETRAVELENTRY_DATARECOVERY = 67, OLECMDID_SHOWTASKDLG = 68, OLECMDID_POPSTATEEVENT = 69, OLECMDID_VIEWPORT_MODE = 70,
  OLECMDID_LAYOUT_VIEWPORT_WIDTH = 71, OLECMDID_VISUAL_VIEWPORT_EXCLUDE_BOTTOM = 72, OLECMDID_USER_OPTICAL_ZOOM = 73, OLECMDID_PAGEAVAILABLE = 74,
  OLECMDID_GETUSERSCALABLE = 75, OLECMDID_UPDATE_CARET = 76, OLECMDID_ENABLE_VISIBILITY = 77, OLECMDID_MEDIA_PLAYBACK = 78
}
 
typedef IOleCommandTargetLPOLECOMMANDTARGET
 
typedef enum IOleCommandTarget::OLECMDF OLECMDF
 
typedef struct IOleCommandTarget::_tagOLECMD OLECMD
 
typedef struct IOleCommandTarget::_tagOLECMDTEXT OLECMDTEXT
 
typedef enum IOleCommandTarget::OLECMDTEXTF OLECMDTEXTF
 
typedef enum IOleCommandTarget::OLECMDEXECOPT OLECMDEXECOPT
 
typedef enum IOleCommandTarget::OLECMDID OLECMDID
 

Detailed Description

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

Definition at line 47 of file filedlgbrowser.c.

Constructor & Destructor Documentation

◆ IShellBrowserImpl()

IShellBrowserImpl::IShellBrowserImpl ( )
inline

Definition at line 43 of file shellbrowserimpl.h.

44  : _dwRef(0)
45  {
46  }

◆ ~IShellBrowserImpl()

virtual IShellBrowserImpl::~IShellBrowserImpl ( )
inlinevirtual

Definition at line 48 of file shellbrowserimpl.h.

49  {
50  }

Member Function Documentation

◆ AddRef()

virtual ULONG STDMETHODCALLTYPE IShellBrowserImpl::AddRef ( void  )
inlinevirtual

Implements IUnknown.

Definition at line 54 of file shellbrowserimpl.h.

54 {return ++_dwRef;}

◆ BrowseObject()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::BrowseObject ( LPCITEMIDLIST  pidl,
UINT  wFlags 
)
inlinevirtual

Implements IShellBrowser.

Definition at line 79 of file shellbrowserimpl.h.

79 {return E_NOTIMPL;}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ ContextSensitiveHelp()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::ContextSensitiveHelp ( BOOL  fEnterMode)
inlinevirtual

Implements IOleWindow.

Definition at line 58 of file shellbrowserimpl.h.

58 {return E_NOTIMPL;}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ EnableModelessSB()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::EnableModelessSB ( BOOL  fEnable)
inlinevirtual

Implements IShellBrowser.

Definition at line 78 of file shellbrowserimpl.h.

78 {return E_NOTIMPL;}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ Exec()

HRESULT IShellBrowserImpl::Exec ( const GUID pguidCmdGroup,
DWORD  nCmdID,
DWORD  nCmdexecopt,
VARIANT pvaIn,
VARIANT pvaOut 
)
virtual
Todo:
implement IOleCommandTarget

Implements IOleCommandTarget.

Definition at line 89 of file shellbrowserimpl.cpp.

Referenced by TranslateAcceleratorSB().

90 {
91  return E_FAIL;
92 }
#define E_FAIL
Definition: ddrawi.h:102

◆ GetViewStateStream()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::GetViewStateStream ( DWORD  grfMode,
LPSTREAM ppStrm 
)
inlinevirtual

Definition at line 80 of file shellbrowserimpl.h.

80 {return E_NOTIMPL;}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ IncludeObject()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::IncludeObject ( IShellView ppshv,
LPCITEMIDLIST  pidl 
)
inlinevirtual

Implements ICommDlgBrowser.

Definition at line 68 of file shellbrowserimpl.h.

69  { //filter files if needed
70  return S_OK;
71  }
#define S_OK
Definition: intsafe.h:59

◆ InsertMenusSB()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::InsertMenusSB ( HMENU  hmenuShared,
LPOLEMENUGROUPWIDTHS  lpMenuWidths 
)
inlinevirtual

Implements IShellBrowser.

Definition at line 74 of file shellbrowserimpl.h.

74 {return E_NOTIMPL;}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ OnDefaultCommand() [1/2]

HRESULT IShellBrowserImpl::OnDefaultCommand ( IShellView ppshv)
virtual

Implements ICommDlgBrowser.

Definition at line 96 of file shellbrowserimpl.cpp.

Referenced by ContextSensitiveHelp().

97 {
99 
100  HRESULT hr = ppshv->GetItemObject(SVGIO_SELECTION, IID_IDataObject, (void**)&selection);
101  if (FAILED(hr))
102  return hr;
103 
104  PIDList pidList;
105 
106  hr = pidList.GetData(selection);
107  if (FAILED(hr)) {
108  selection->Release();
109  return hr;
110  }
111 
112  hr = OnDefaultCommand(pidList);
113 
114  selection->Release();
115 
116  return hr;
117 }
HRESULT GetData(IDataObject *selection)
const GUID IID_IDataObject
int selection
Definition: ctm.c:90
virtual HRESULT STDMETHODCALLTYPE OnDefaultCommand(IShellView *ppshv)
list of PIDLs
LONG HRESULT
Definition: typedefs.h:77
nsrefcnt Release()
HRESULT GetItemObject([in] UINT uItem, [in] REFIID riid, [out, iid_is(riid)] void **ppv)

◆ OnDefaultCommand() [2/2]

virtual HRESULT IShellBrowserImpl::OnDefaultCommand ( LPIDA  pida)
inlineprotectedvirtual

Reimplemented in ShellBrowser, and DesktopWindow.

Definition at line 95 of file shellbrowserimpl.h.

95 {return E_NOTIMPL;}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ OnStateChange()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::OnStateChange ( IShellView ppshv,
ULONG  uChange 
)
inlinevirtual

Implements ICommDlgBrowser.

Definition at line 63 of file shellbrowserimpl.h.

64  { //handle selection, rename, focus if needed
65  return E_NOTIMPL;
66  }
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ OnViewWindowActive()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::OnViewWindowActive ( IShellView ppshv)
inlinevirtual

Implements IShellBrowser.

Definition at line 81 of file shellbrowserimpl.h.

81 {return E_NOTIMPL;}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ QueryInterface()

HRESULT IShellBrowserImpl::QueryInterface ( REFIID  iid,
void **  ppvObject 
)
virtual

Implements IUnknown.

Definition at line 34 of file shellbrowserimpl.cpp.

Referenced by ~IShellBrowserImpl().

35 {
36  if (!ppvObject)
37  return E_POINTER;
38 
39  if (iid == IID_IUnknown)
40  *ppvObject = (IUnknown*)static_cast<IShellBrowser*>(this);
41  else if (iid == IID_IOleWindow)
42  *ppvObject = static_cast<IOleWindow*>(this);
43  else if (iid == IID_IShellBrowser)
44  *ppvObject = static_cast<IShellBrowser*>(this);
45  else if (iid == IID_ICommDlgBrowser)
46  *ppvObject = static_cast<ICommDlgBrowser*>(this);
47  else if (iid == IID_IServiceProvider)
48  *ppvObject = static_cast<IServiceProvider*>(this);
49  else {
50  *ppvObject = NULL;
51  return E_NOINTERFACE;
52  }
53 
54  return S_OK;
55 }
#define E_NOINTERFACE
Definition: winerror.h:2364
smooth NULL
Definition: ftsmooth.c:416
const GUID IID_IUnknown
#define S_OK
Definition: intsafe.h:59
const GUID IID_IOleWindow
#define E_POINTER
Definition: winerror.h:2365

◆ QueryService()

HRESULT IShellBrowserImpl::QueryService ( REFGUID  guidService,
REFIID  riid,
void **  ppvObject 
)
virtual
Todo:
use guidService

Implements IServiceProvider.

Definition at line 57 of file shellbrowserimpl.cpp.

Referenced by TranslateAcceleratorSB().

58 {
59  if (!ppvObject)
60  return E_POINTER;
61 
63 
64  if (riid == IID_IUnknown)
65  *ppvObject = (IUnknown*)static_cast<IShellBrowser*>(this);
66  else if (riid == IID_IOleWindow)
67  *ppvObject = static_cast<IOleWindow*>(this);
68  else if (riid == IID_IShellBrowser)
69  *ppvObject = static_cast<IShellBrowser*>(this);
70  else if (riid == IID_ICommDlgBrowser)
71  *ppvObject = static_cast<ICommDlgBrowser*>(this);
72  else if (riid == IID_IServiceProvider)
73  *ppvObject = static_cast<IServiceProvider*>(this);
74  else if (riid == IID_IOleCommandTarget)
75  *ppvObject = static_cast<IOleCommandTarget*>(this);
76  else {
77  *ppvObject = NULL;
78  return E_NOINTERFACE;
79  }
80 
81  return S_OK;
82 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
smooth NULL
Definition: ftsmooth.c:416
const GUID IID_IUnknown
#define S_OK
Definition: intsafe.h:59
const GUID IID_IOleWindow
#define E_POINTER
Definition: winerror.h:2365

◆ QueryStatus()

HRESULT IShellBrowserImpl::QueryStatus ( const GUID pguidCmdGroup,
ULONG  cCmds,
OLECMD  prgCmds[],
OLECMDTEXT pCmdText 
)
virtual
Todo:
implement IOleCommandTarget

Implements IOleCommandTarget.

Definition at line 84 of file shellbrowserimpl.cpp.

Referenced by TranslateAcceleratorSB().

85 {
86  return E_FAIL;
87 }
#define E_FAIL
Definition: ddrawi.h:102

◆ Release()

virtual ULONG STDMETHODCALLTYPE IShellBrowserImpl::Release ( void  )
inlinevirtual

Implements IUnknown.

Definition at line 55 of file shellbrowserimpl.h.

55 {return --_dwRef;} //not heap based

◆ RemoveMenusSB()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::RemoveMenusSB ( HMENU  hmenuShared)
inlinevirtual

Implements IShellBrowser.

Definition at line 76 of file shellbrowserimpl.h.

76 {return E_NOTIMPL;}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ SetMenuSB()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::SetMenuSB ( HMENU  hmenuShared,
HOLEMENU  holemenuReserved,
HWND  hwndActiveObject 
)
inlinevirtual

Implements IShellBrowser.

Definition at line 75 of file shellbrowserimpl.h.

75 {return E_NOTIMPL;}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ SetStatusTextSB()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::SetStatusTextSB ( LPCOLESTR  lpszStatusText)
inlinevirtual

Implements IShellBrowser.

Definition at line 77 of file shellbrowserimpl.h.

77 {return E_NOTIMPL;}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ SetToolbarItems()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::SetToolbarItems ( LPTBBUTTON  lpButtons,
UINT  nButtons,
UINT  uFlags 
)
inlinevirtual

Implements IShellBrowser.

Definition at line 82 of file shellbrowserimpl.h.

82 {return E_NOTIMPL;}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TranslateAcceleratorSB()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::TranslateAcceleratorSB ( LPMSG  lpmsg,
WORD  wID 
)
inlinevirtual

Definition at line 83 of file shellbrowserimpl.h.

83 {return S_OK;}
#define S_OK
Definition: intsafe.h:59

Member Data Documentation

◆ _dwRef

DWORD IShellBrowserImpl::_dwRef
protected

Definition at line 93 of file shellbrowserimpl.h.

Referenced by AddRef(), and Release().

◆ hwndOwner

◆ ICommDlgBrowser_iface

ICommDlgBrowser IShellBrowserImpl::ICommDlgBrowser_iface

◆ IServiceProvider_iface

IServiceProvider IShellBrowserImpl::IServiceProvider_iface

◆ IShellBrowser_iface

◆ ref

LONG IShellBrowserImpl::ref

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