Author: gedmurphy
Date: Thu May 1 03:21:15 2008
New Revision: 33205
URL:
http://svn.reactos.org/svn/reactos?rev=33205&view=rev
Log:
More COM interfaces needed for the new explorer
Modified:
trunk/reactos/base/shell/explorer-new/todo.h
trunk/reactos/include/psdk/shobjidl.idl
Modified: trunk/reactos/base/shell/explorer-new/todo.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer-new/to…
==============================================================================
--- trunk/reactos/base/shell/explorer-new/todo.h [iso-8859-1] (original)
+++ trunk/reactos/base/shell/explorer-new/todo.h [iso-8859-1] Thu May 1 03:21:15 2008
@@ -44,35 +44,6 @@
#define IDeskBarClient_SetModeDBC(T,a) (T)->lpVtbl->SetModeDBC(T,a)
#define IDeskBarClient_UIActivateDBC(T,a) (T)->lpVtbl->UIActivateDBC(T,a)
#define IDeskBarClient_GetSize(T,a,b) (T)->lpVtbl->GetSize(T,a,b)
-#endif
-
-
-#define INTERFACE IDeskBar
-DECLARE_INTERFACE_(IDeskBar,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IOleWindow methods ***/
- STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL) PURE;
- /*** IDeskBar methods ***/
- STDMETHOD_(HRESULT,SetClient)(THIS_ IUnknown*) PURE;
- STDMETHOD_(HRESULT,GetClient)(THIS_ IUnknown**) PURE;
- STDMETHOD_(HRESULT,OnPosRectChangeDB)(THIS_ RECT*) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IDeskBar_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IDeskBar_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IDeskBar_Release(T) (T)->lpVtbl->Release(T)
-#define IDeskBar_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
-#define IDeskBar_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
-#define IDeskBar_SetClient(T,a) (T)->lpVtbl->SetClient(T,a)
-#define IDeskBar_GetClient(T,a) (T)->lpVtbl->GetClient(T,a)
-#define IDeskBar_OnPosRectChangeDB(T,a) (T)->lpVtbl->OnPosRectChangeDB(T,a)
#endif
#include <pshpack8.h>
@@ -315,59 +286,8 @@
#define IBanneredBar_GetBitmap(T,a) (T)->lpVtbl->GetBitmap(T,a)
#endif
-enum tagMENUPOPUPPOPUPFLAGS
-{
- MPPF_SETFOCUS = 0x1,
- MPPF_INITIALSELECT = 0x2,
- MPPF_NOANIMATE = 0x4,
- MPPF_KEYBOARD = 0x10,
- MPPF_REPOSITION = 0x20,
- MPPF_FORCEZORDER = 0x40,
- MPPF_FINALSELECT = 0x80,
- MPPF_TOP = 0x20000000,
- MPPF_LEFT = 0x40000000,
- MPPF_RIGHT = 0x60000000,
- MPPF_BOTTOM = 0x80000000,
- MPPF_POS_MASK = 0xE0000000,
- MPPF_ALIGN_LEFT = 0x2000000,
- MPPF_ALIGN_RIGHT = 0x4000000,
-};
-typedef int MP_POPUPFLAGS;
-
-#define INTERFACE IMenuPopup
-DECLARE_INTERFACE_(IMenuPopup,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IOleWindow methods ***/
- STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL) PURE;
- /*** IDeskBar methods ***/
- STDMETHOD_(HRESULT,SetClient)(THIS_ IUnknown*) PURE;
- STDMETHOD_(HRESULT,GetClient)(THIS_ IUnknown**) PURE;
- STDMETHOD_(HRESULT,OnPosRectChangeDB)(THIS_ RECT*) PURE;
- /*** IMenuPopup methods ***/
- STDMETHOD_(HRESULT,Popup)(THIS_ POINTL*,RECTL*,MP_POPUPFLAGS) PURE;
- STDMETHOD_(HRESULT,OnSelect)(THIS_ DWORD) PURE;
- STDMETHOD_(HRESULT,SetSubMenu)(THIS_ IMenuPopup*,BOOL) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IMenuPopup_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IMenuPopup_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IMenuPopup_Release(T) (T)->lpVtbl->Release(T)
-#define IMenuPopup_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
-#define IMenuPopup_ContextSensitiveHelp(T,a)
(T)->lpVtbl->ContextSensitiveHelp(T,a)
-#define IMenuPopup_SetClient(T,a) (T)->lpVtbl->SetClient(T,a)
-#define IMenuPopup_GetClient(T,a) (T)->lpVtbl->GetClient(T,a)
-#define IMenuPopup_OnPosRectChangeDB(T,a) (T)->lpVtbl->OnPosRectChangeDB(T,a)
-#define IMenuPopup_Popup(T,a,b,c) (T)->lpVtbl->Popup(T,a,b,c)
-#define IMenuPopup_OnSelect(T,a) (T)->lpVtbl->OnSelect(T,a)
-#define IMenuPopup_SetSubMenu(T,a,b) (T)->lpVtbl->SetSubMenu(T,a,b)
-#endif
+
+
#define INTERFACE IMenuBand
DECLARE_INTERFACE_(IMenuBand,IUnknown)
Modified: trunk/reactos/include/psdk/shobjidl.idl
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/shobjidl.idl?…
==============================================================================
--- trunk/reactos/include/psdk/shobjidl.idl [iso-8859-1] (original)
+++ trunk/reactos/include/psdk/shobjidl.idl [iso-8859-1] Thu May 1 03:21:15 2008
@@ -1510,3 +1510,76 @@
cpp_quote("#endif // NTDDI_LONGHORN")
+
+
+cpp_quote("#if (_WIN32_IE >= _WIN32_IE_IE60)")
+
+[
+ uuid(EB0FE173-1A3A-11D0-89B3-00A0C90A90AC),
+ object,
+ pointer_default(unique),
+ local
+]
+interface IDeskBar : IOleWindow
+{
+ HRESULT SetClient([in] IUnknown* punkClient);
+
+ HRESULT GetClient([out] IUnknown** ppunkClient);
+
+ HRESULT OnPosRectChangeDB([in] RECT *prc);
+}
+
+
+/*****************************************************************************
+ * IMenuPopup interface
+ */
+[
+ uuid(D1E7AFEB-6A2E-11d0-8C78-00C04FD918B4),
+ object,
+ pointer_default(unique),
+ local
+]
+interface IMenuPopup : IDeskBar
+{
+ enum tagMENUPOPUPSELECT
+ {
+ MPOS_EXECUTE = 0,
+ MPOS_FULLCANCEL,
+ MPOS_CANCELLEVEL,
+ MPOS_SELECTLEFT,
+ MPOS_SELECTRIGHT,
+ MPOS_CHILDTRACKING
+ };
+
+ enum tagMENUPOPUPPOPUPFLAGS
+ {
+ MPPF_SETFOCUS = 0x00000001,
+ MPPF_INITIALSELECT = 0x00000002,
+ MPPF_NOANIMATE = 0x00000004,
+ MPPF_KEYBOARD = 0x00000010,
+ MPPF_REPOSITION = 0x00000020,
+ MPPF_FORCEZORDER = 0x00000040,
+ MPPF_FINALSELECT = 0x00000080,
+ MPPF_TOP = 0x20000000,
+ MPPF_LEFT = 0x40000000,
+ MPPF_RIGHT = 0x60000000,
+ MPPF_BOTTOM = 0x80000000,
+ MPPF_POS_MASK = 0xE0000000,
+ MPPF_ALIGN_LEFT = 0x02000000,
+ MPPF_ALIGN_RIGHT = 0x04000000
+ };
+ typedef int MP_POPUPFLAGS;
+
+ HRESULT Popup(
+ [in] POINTL *ppt,
+ [in] RECTL *prcExclude,
+ [in] MP_POPUPFLAGS dwFlags);
+
+ HRESULT OnSelect([in] DWORD dwSelectType);
+
+ HRESULT SetSubMenu(
+ [in] IMenuPopup* pmp,
+ [in] BOOL fSet);
+}
+
+cpp_quote("#endif /* _WIN32_IE_IE60 */")