[ros-diffs] [gedmurphy] 33205: More COM interfaces needed for the new explorer

gedmurphy at svn.reactos.org gedmurphy at svn.reactos.org
Thu May 1 10:21:16 CEST 2008


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/todo.h?rev=33205&r1=33204&r2=33205&view=diff
==============================================================================
--- 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?rev=33205&r1=33204&r2=33205&view=diff
==============================================================================
--- 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 */")



More information about the Ros-diffs mailing list