David Hedberg : shell32: Add INameSpaceTreeControlEvents stub to the ExplorerBrowser control.
Alexandre Julliard
julliard at winehq.org
Thu Aug 26 11:42:06 CDT 2010
Module: wine
Branch: master
Commit: 209526088cca19dd42ea5e6a072e5c0dd5724110
URL: http://source.winehq.org/git/wine.git/?a=commit;h=209526088cca19dd42ea5e6a072e5c0dd5724110
Author: David Hedberg <david.hedberg at gmail.com>
Date: Thu Aug 26 13:58:19 2010 +0200
shell32: Add INameSpaceTreeControlEvents stub to the ExplorerBrowser control.
---
dlls/shell32/ebrowser.c | 223 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 223 insertions(+), 0 deletions(-)
diff --git a/dlls/shell32/ebrowser.c b/dlls/shell32/ebrowser.c
index 40d6739..5666926 100644
--- a/dlls/shell32/ebrowser.c
+++ b/dlls/shell32/ebrowser.c
@@ -53,6 +53,7 @@ typedef struct _ExplorerBrowserImpl {
const IShellBrowserVtbl *lpsbVtbl;
const ICommDlgBrowser3Vtbl *lpcdb3Vtbl;
const IObjectWithSiteVtbl *lpowsVtbl;
+ const INameSpaceTreeControlEventsVtbl *lpnstceVtbl;
LONG ref;
BOOL destroyed;
@@ -1378,6 +1379,227 @@ static const IObjectWithSiteVtbl vt_IObjectWithSite = {
IObjectWithSite_fnGetSite
};
+/**************************************************************************
+ * INameSpaceTreeControlEvents Implementation
+ */
+static inline ExplorerBrowserImpl *impl_from_INameSpaceTreeControlEvents(INameSpaceTreeControlEvents *iface)
+{
+ return (ExplorerBrowserImpl *)((char*)iface - FIELD_OFFSET(ExplorerBrowserImpl, lpnstceVtbl));
+}
+
+static HRESULT WINAPI NSTCEvents_fnQueryInterface(INameSpaceTreeControlEvents *iface,
+ REFIID riid, void **ppvObject)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%s, %p)\n", This, shdebugstr_guid(riid), ppvObject);
+
+ *ppvObject = NULL;
+ if(IsEqualIID(riid, &IID_INameSpaceTreeControlEvents) ||
+ IsEqualIID(riid, &IID_IUnknown))
+ {
+ *ppvObject = iface;
+ }
+
+ if(*ppvObject)
+ {
+ IUnknown_AddRef((IUnknown*)*ppvObject);
+ return S_OK;
+ }
+
+ return E_NOINTERFACE;
+}
+
+static ULONG WINAPI NSTCEvents_fnAddRef(INameSpaceTreeControlEvents *iface)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p\n", This);
+ return IUnknown_AddRef((IUnknown*)This);
+}
+
+static ULONG WINAPI NSTCEvents_fnRelease(INameSpaceTreeControlEvents *iface)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p\n", This);
+ return IUnknown_Release((IUnknown*)This);
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnItemClick(INameSpaceTreeControlEvents *iface,
+ IShellItem *psi,
+ NSTCEHITTEST nstceHitTest,
+ NSTCECLICKTYPE nstceClickType)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p, 0x%x, 0x%x)\n", This, psi, nstceHitTest, nstceClickType);
+ return S_OK;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnPropertyItemCommit(INameSpaceTreeControlEvents *iface,
+ IShellItem *psi)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p)\n", This, psi);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnItemStateChanging(INameSpaceTreeControlEvents *iface,
+ IShellItem *psi,
+ NSTCITEMSTATE nstcisMask,
+ NSTCITEMSTATE nstcisState)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p, 0x%x, 0x%x)\n", This, psi, nstcisMask, nstcisState);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnItemStateChanged(INameSpaceTreeControlEvents *iface,
+ IShellItem *psi,
+ NSTCITEMSTATE nstcisMask,
+ NSTCITEMSTATE nstcisState)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p, 0x%x, 0x%x)\n", This, psi, nstcisMask, nstcisState);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnSelectionChanged(INameSpaceTreeControlEvents *iface,
+ IShellItemArray *psiaSelection)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p)\n", This, psiaSelection);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnKeyboardInput(INameSpaceTreeControlEvents *iface,
+ UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%d, 0x%lx, 0x%lx)\n", This, uMsg, wParam, lParam);
+ return S_OK;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnBeforeExpand(INameSpaceTreeControlEvents *iface,
+ IShellItem *psi)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p)\n", This, psi);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnAfterExpand(INameSpaceTreeControlEvents *iface,
+ IShellItem *psi)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p)\n", This, psi);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnBeginLabelEdit(INameSpaceTreeControlEvents *iface,
+ IShellItem *psi)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p)\n", This, psi);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnEndLabelEdit(INameSpaceTreeControlEvents *iface,
+ IShellItem *psi)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p)\n", This, psi);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnGetToolTip(INameSpaceTreeControlEvents *iface,
+ IShellItem *psi, LPWSTR pszTip, int cchTip)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p, %p, %d)\n", This, psi, pszTip, cchTip);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnBeforeItemDelete(INameSpaceTreeControlEvents *iface,
+ IShellItem *psi)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p)\n", This, psi);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnItemAdded(INameSpaceTreeControlEvents *iface,
+ IShellItem *psi, BOOL fIsRoot)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p, %d)\n", This, psi, fIsRoot);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnItemDeleted(INameSpaceTreeControlEvents *iface,
+ IShellItem *psi, BOOL fIsRoot)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p, %d)\n", This, psi, fIsRoot);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnBeforeContextMenu(INameSpaceTreeControlEvents *iface,
+ IShellItem *psi, REFIID riid, void **ppv)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p, %s, %p)\n", This, psi, shdebugstr_guid(riid), ppv);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnAfterContextMenu(INameSpaceTreeControlEvents *iface,
+ IShellItem *psi, IContextMenu *pcmIn,
+ REFIID riid, void **ppv)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p, %p, %s, %p)\n", This, psi, pcmIn, shdebugstr_guid(riid), ppv);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnBeforeStateImageChange(INameSpaceTreeControlEvents *iface,
+ IShellItem *psi)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p)\n", This, psi);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI NSTCEvents_fnOnGetDefaultIconIndex(INameSpaceTreeControlEvents* iface,
+ IShellItem *psi,
+ int *piDefaultIcon, int *piOpenIcon)
+{
+ ExplorerBrowserImpl *This = impl_from_INameSpaceTreeControlEvents(iface);
+ TRACE("%p (%p, %p, %p)\n", This, psi, piDefaultIcon, piOpenIcon);
+ return E_NOTIMPL;
+}
+
+
+const INameSpaceTreeControlEventsVtbl vt_INameSpaceTreeControlEvents = {
+ NSTCEvents_fnQueryInterface,
+ NSTCEvents_fnAddRef,
+ NSTCEvents_fnRelease,
+ NSTCEvents_fnOnItemClick,
+ NSTCEvents_fnOnPropertyItemCommit,
+ NSTCEvents_fnOnItemStateChanging,
+ NSTCEvents_fnOnItemStateChanged,
+ NSTCEvents_fnOnSelectionChanged,
+ NSTCEvents_fnOnKeyboardInput,
+ NSTCEvents_fnOnBeforeExpand,
+ NSTCEvents_fnOnAfterExpand,
+ NSTCEvents_fnOnBeginLabelEdit,
+ NSTCEvents_fnOnEndLabelEdit,
+ NSTCEvents_fnOnGetToolTip,
+ NSTCEvents_fnOnBeforeItemDelete,
+ NSTCEvents_fnOnItemAdded,
+ NSTCEvents_fnOnItemDeleted,
+ NSTCEvents_fnOnBeforeContextMenu,
+ NSTCEvents_fnOnAfterContextMenu,
+ NSTCEvents_fnOnBeforeStateImageChange,
+ NSTCEvents_fnOnGetDefaultIconIndex
+};
+
HRESULT WINAPI ExplorerBrowser_Constructor(IUnknown *pUnkOuter, REFIID riid, void **ppv)
{
ExplorerBrowserImpl *eb;
@@ -1396,6 +1618,7 @@ HRESULT WINAPI ExplorerBrowser_Constructor(IUnknown *pUnkOuter, REFIID riid, voi
eb->lpsbVtbl = &vt_IShellBrowser;
eb->lpcdb3Vtbl = &vt_ICommDlgBrowser3;
eb->lpowsVtbl = &vt_IObjectWithSite;
+ eb->lpnstceVtbl = &vt_INameSpaceTreeControlEvents;
list_init(&eb->event_clients);
list_init(&eb->travellog);
More information about the wine-cvs
mailing list