Author: gadamopoulos Date: Tue Jul 23 10:53:06 2013 New Revision: 59561
URL: http://svn.reactos.org/svn/reactos?rev=59561&view=rev Log: [shell32] - Stub CMenuBand class
Added: trunk/reactos/dll/win32/shell32/CMenuBand.cpp (with props) trunk/reactos/dll/win32/shell32/CMenuBand.h (with props) trunk/reactos/dll/win32/shell32/res/rgs/menuband.rgs (with props) Modified: trunk/reactos/dll/win32/shell32/CMakeLists.txt trunk/reactos/dll/win32/shell32/precomp.h trunk/reactos/dll/win32/shell32/shell32_main.cpp trunk/reactos/dll/win32/shell32/shresdef.h
Modified: trunk/reactos/dll/win32/shell32/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/CMakeList... ============================================================================== --- trunk/reactos/dll/win32/shell32/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/CMakeLists.txt [iso-8859-1] Tue Jul 23 10:53:06 2013 @@ -23,6 +23,7 @@ classes.cpp clipboard.cpp control.cpp + CMenuBand.cpp dataobject.cpp dde.cpp debughlp.cpp
Added: trunk/reactos/dll/win32/shell32/CMenuBand.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/CMenuBand... ============================================================================== --- trunk/reactos/dll/win32/shell32/CMenuBand.cpp (added) +++ trunk/reactos/dll/win32/shell32/CMenuBand.cpp [iso-8859-1] Tue Jul 23 10:53:06 2013 @@ -0,0 +1,312 @@ +/* + * PROJECT: shell32 + * LICENSE: GPL - See COPYING in the top level directory + * FILE: dll/win32/shell32/CMenuBand.c + * PURPOSE: menu band implementation + * PROGRAMMERS: Giannis Adamopoulos (gadamopoulos@reactos.org) + */ + +#include "precomp.h" + +WINE_DEFAULT_DEBUG_CHANNEL(CMenuBand); + +HRESULT STDMETHODCALLTYPE CMenuBand::GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO *pdbi) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::ShowDW(BOOL fShow) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::CloseDW(DWORD dwReserved) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::GetWindow(HWND *phwnd) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::ContextSensitiveHelp(BOOL fEnterMode) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::SetSite(IUnknown *pUnkSite) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::GetSite(REFIID riid, PVOID *ppvSite) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::UIActivateIO(BOOL fActivate, LPMSG lpMsg) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::HasFocusIO() +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::TranslateAcceleratorIO(LPMSG lpMsg) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::IsDirty() +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::Load(IStream *pStm) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::Save(IStream *pStm, BOOL fClearDirty) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::GetSizeMax(ULARGE_INTEGER *pcbSize) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::GetClassID(CLSID *pClassID) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::QueryService(REFGUID guidService, REFIID riid, void **ppvObject) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::Popup(POINTL *ppt, RECTL *prcExclude, MP_POPUPFLAGS dwFlags) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::OnSelect(DWORD dwSelectType) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::SetSubMenu(IMenuPopup *pmp, BOOL fSet) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::SetClient(IUnknown *punkClient) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::GetClient(IUnknown **ppunkClient) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::OnPosRectChangeDB(RECT *prc) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::IsMenuMessage(MSG *pmsg) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::TranslateMenuMessage(MSG *pmsg, LRESULT *plRet) +{ + UNIMPLEMENTED; + return S_FALSE; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::Initialize(IShellMenuCallback *psmc, UINT uId, UINT uIdAncestor,DWORD dwFlags) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::GetMenuInfo(IShellMenuCallback **ppsmc, UINT *puId, UINT *puIdAncestor, DWORD *pdwFlags) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::SetShellFolder(IShellFolder *psf, LPCITEMIDLIST pidlFolder, HKEY hKey, DWORD dwFlags) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::GetShellFolder(DWORD *pdwFlags, LPITEMIDLIST *ppidl, REFIID riid, void **ppv) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::SetMenu(HMENU hmenu, HWND hwnd, DWORD dwFlags) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::GetMenu(HMENU *phmenu, HWND *phwnd, DWORD *pdwFlags) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::InvalidateItem(LPSMDATA psmd, DWORD dwFlags) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::GetState(LPSMDATA psmd) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::SetMenuToolbar(IUnknown *punk, DWORD dwFlags) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::IsWindowOwner(HWND hWnd) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::GetSubMenu(THIS) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::SetToolbar(THIS) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::SetMinWidth(THIS) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::SetNoBorder(THIS) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::SetTheme(THIS) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::GetTop(THIS) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::GetBottom(THIS) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::GetTracked(THIS) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::GetParentSite(THIS) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::GetState(THIS) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::DoDefaultAction(THIS) +{ + UNIMPLEMENTED; + return S_OK; +} + +HRESULT STDMETHODCALLTYPE CMenuBand::IsEmpty(THIS) +{ + UNIMPLEMENTED; + return S_OK; +} +
Propchange: trunk/reactos/dll/win32/shell32/CMenuBand.cpp ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/dll/win32/shell32/CMenuBand.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/CMenuBand... ============================================================================== --- trunk/reactos/dll/win32/shell32/CMenuBand.h (added) +++ trunk/reactos/dll/win32/shell32/CMenuBand.h [iso-8859-1] Tue Jul 23 10:53:06 2013 @@ -0,0 +1,125 @@ + +class CMenuBand : + public CComCoClass<CMenuBand, &CLSID_MenuBand>, + public CComObjectRootEx<CComMultiThreadModelNoCS>, + public IDeskBand, + public IObjectWithSite, + public IInputObject, + public IPersistStream, + public IOleCommandTarget, + public IServiceProvider, + public IMenuPopup, + public IMenuBand, + public IShellMenu2, + public IWinEventHandler, + public IShellMenuAcc +{ +public : + + // *** IDeskBand methods *** + virtual HRESULT STDMETHODCALLTYPE GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO *pdbi); + + // *** IDockingWindow methods *** + virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow); + virtual HRESULT STDMETHODCALLTYPE CloseDW(DWORD dwReserved); + virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved); + + // *** IOleWindow methods *** + virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *phwnd); + virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); + + // *** IObjectWithSite methods *** + virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite); + virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, PVOID *ppvSite); + + // *** IInputObject methods *** + virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg); + virtual HRESULT STDMETHODCALLTYPE HasFocusIO(); + virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg); + + // *** IPersistStream methods *** + virtual HRESULT STDMETHODCALLTYPE IsDirty(); + virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); + virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); + virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); + + // *** IPersist methods *** + virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); + + // *** IOleCommandTarget methods *** + 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); + + // *** IServiceProvider methods *** + virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); + + // *** IMenuPopup methods *** + virtual HRESULT STDMETHODCALLTYPE Popup(POINTL *ppt, RECTL *prcExclude, MP_POPUPFLAGS dwFlags); + virtual HRESULT STDMETHODCALLTYPE OnSelect(DWORD dwSelectType); + virtual HRESULT STDMETHODCALLTYPE SetSubMenu(IMenuPopup *pmp, BOOL fSet); + + // *** IDeskBar methods *** + virtual HRESULT STDMETHODCALLTYPE SetClient(IUnknown *punkClient); + virtual HRESULT STDMETHODCALLTYPE GetClient(IUnknown **ppunkClient); + virtual HRESULT STDMETHODCALLTYPE OnPosRectChangeDB(RECT *prc); + + // *** IMenuBand methods *** + virtual HRESULT STDMETHODCALLTYPE IsMenuMessage(MSG *pmsg); + virtual HRESULT STDMETHODCALLTYPE TranslateMenuMessage(MSG *pmsg, LRESULT *plRet); + + // *** IShellMenu methods *** + virtual HRESULT STDMETHODCALLTYPE Initialize(IShellMenuCallback *psmc, UINT uId, UINT uIdAncestor,DWORD dwFlags); + virtual HRESULT STDMETHODCALLTYPE GetMenuInfo(IShellMenuCallback **ppsmc, UINT *puId, UINT *puIdAncestor, DWORD *pdwFlags); + virtual HRESULT STDMETHODCALLTYPE SetShellFolder(IShellFolder *psf, LPCITEMIDLIST pidlFolder, HKEY hKey, DWORD dwFlags); + virtual HRESULT STDMETHODCALLTYPE GetShellFolder(DWORD *pdwFlags, LPITEMIDLIST *ppidl, REFIID riid, void **ppv); + virtual HRESULT STDMETHODCALLTYPE SetMenu(HMENU hmenu, HWND hwnd, DWORD dwFlags); + virtual HRESULT STDMETHODCALLTYPE GetMenu(HMENU *phmenu, HWND *phwnd, DWORD *pdwFlags); + virtual HRESULT STDMETHODCALLTYPE InvalidateItem(LPSMDATA psmd, DWORD dwFlags); + virtual HRESULT STDMETHODCALLTYPE GetState(LPSMDATA psmd); + virtual HRESULT STDMETHODCALLTYPE SetMenuToolbar(IUnknown *punk, DWORD dwFlags); + + // *** IWinEventHandler methods *** + virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult); + virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd); + + // *** IShellMenu2 methods *** + virtual HRESULT STDMETHODCALLTYPE GetSubMenu(THIS); + virtual HRESULT STDMETHODCALLTYPE SetToolbar(THIS); + virtual HRESULT STDMETHODCALLTYPE SetMinWidth(THIS); + virtual HRESULT STDMETHODCALLTYPE SetNoBorder(THIS); + virtual HRESULT STDMETHODCALLTYPE SetTheme(THIS); + + // *** IShellMenuAcc methods *** + virtual HRESULT STDMETHODCALLTYPE GetTop(THIS); + virtual HRESULT STDMETHODCALLTYPE GetBottom(THIS); + virtual HRESULT STDMETHODCALLTYPE GetTracked(THIS); + virtual HRESULT STDMETHODCALLTYPE GetParentSite(THIS); + virtual HRESULT STDMETHODCALLTYPE GetState(THIS); + virtual HRESULT STDMETHODCALLTYPE DoDefaultAction(THIS); + virtual HRESULT STDMETHODCALLTYPE IsEmpty(THIS); + +DECLARE_REGISTRY_RESOURCEID(IDR_MENUBAND) +DECLARE_NOT_AGGREGATABLE(CMenuBand) +DECLARE_PROTECT_FINAL_CONSTRUCT() + +BEGIN_COM_MAP(CMenuBand) + COM_INTERFACE_ENTRY_IID(IID_IMenuPopup, IMenuPopup) + COM_INTERFACE_ENTRY_IID(IID_IMenuBand, IMenuBand) + COM_INTERFACE_ENTRY_IID(IID_IShellMenu, IShellMenu) + COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) + COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IDeskBand) + COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow) + COM_INTERFACE_ENTRY_IID(IID_IDeskBar, IDeskBar) + COM_INTERFACE_ENTRY_IID(IID_IDeskBand, IDeskBand) + COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite, IObjectWithSite) + COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) + COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) + COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) + COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) + COM_INTERFACE_ENTRY_IID(IID_IMenuBand, IMenuBand) + COM_INTERFACE_ENTRY_IID(IID_IShellMenu2, IShellMenu2) + COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler) + COM_INTERFACE_ENTRY_IID(IID_IShellMenuAcc, IShellMenuAcc) +END_COM_MAP() + +};
Propchange: trunk/reactos/dll/win32/shell32/CMenuBand.h ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/dll/win32/shell32/precomp.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/precomp.h... ============================================================================== --- trunk/reactos/dll/win32/shell32/precomp.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/precomp.h [iso-8859-1] Tue Jul 23 10:53:06 2013 @@ -70,6 +70,7 @@ #include "startmenu.h" #include "filedefext.h" #include "drvdefext.h" +#include "CMenuBand.h"
#include <wine/debug.h>
Added: trunk/reactos/dll/win32/shell32/res/rgs/menuband.rgs URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/res/rgs/m... ============================================================================== --- trunk/reactos/dll/win32/shell32/res/rgs/menuband.rgs (added) +++ trunk/reactos/dll/win32/shell32/res/rgs/menuband.rgs [iso-8859-1] Tue Jul 23 10:53:06 2013 @@ -0,0 +1,13 @@ +HKCR +{ + NoRemove CLSID + { + ForceRemove {5B4DAE26-B807-11D0-9815-00C04FD91972} = s 'Menu Band' + { + InprocServer32 = s '%MODULE%' + { + val ThreadingModel = s 'Apartment' + } + } + } +}
Propchange: trunk/reactos/dll/win32/shell32/res/rgs/menuband.rgs ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/dll/win32/shell32/shell32_main.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shell32_m... ============================================================================== --- trunk/reactos/dll/win32/shell32/shell32_main.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/shell32_main.cpp [iso-8859-1] Tue Jul 23 10:53:06 2013 @@ -1368,6 +1368,7 @@ OBJECT_ENTRY(CLSID_NewMenu, CNewMenu) OBJECT_ENTRY(CLSID_StartMenu, CStartMenu) OBJECT_ENTRY(CLSID_MenuBandSite, CMenuBandSite) + OBJECT_ENTRY(CLSID_MenuBand, CMenuBand) END_OBJECT_MAP()
CShell32Module gModule;
Modified: trunk/reactos/dll/win32/shell32/shresdef.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shresdef.... ============================================================================== --- trunk/reactos/dll/win32/shell32/shresdef.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/shresdef.h [iso-8859-1] Tue Jul 23 10:53:06 2013 @@ -537,5 +537,6 @@ #define IDR_OPENWITHMENU 146 #define IDR_FILEDEFEXT 147 #define IDR_DRVDEFEXT 148 +#define IDR_MENUBAND 149
#endif