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/tod... ============================================================================== --- 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?r... ============================================================================== --- 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 */")