4 * Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 #include <shlobj_undoc.h>
25 #include <shlguid_undoc.h>
33 #include "commonbrowser.h"
35 CCommonBrowser::CCommonBrowser()
39 CCommonBrowser::~CCommonBrowser()
43 HRESULT STDMETHODCALLTYPE
CCommonBrowser::QueryService(REFGUID guidService
, REFIID riid
, void **ppvObject
)
48 HRESULT STDMETHODCALLTYPE
CCommonBrowser::QueryStatus(const GUID
*pguidCmdGroup
, ULONG cCmds
, OLECMD prgCmds
[ ], OLECMDTEXT
*pCmdText
)
53 HRESULT STDMETHODCALLTYPE
CCommonBrowser::Exec(const GUID
*pguidCmdGroup
, DWORD nCmdID
, DWORD nCmdexecopt
, VARIANT
*pvaIn
, VARIANT
*pvaOut
)
58 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetParentSite(IOleInPlaceSite
**ppipsite
)
63 HRESULT STDMETHODCALLTYPE
CCommonBrowser::SetTitle(IShellView
*psv
, LPCWSTR pszName
)
68 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetTitle(IShellView
*psv
, LPWSTR pszName
, DWORD cchName
)
73 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetOleObject(IOleObject
**ppobjv
)
78 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetTravelLog(ITravelLog
**pptl
)
83 HRESULT STDMETHODCALLTYPE
CCommonBrowser::ShowControlWindow(UINT id
, BOOL fShow
)
88 HRESULT STDMETHODCALLTYPE
CCommonBrowser::IsControlWindowShown(UINT id
, BOOL
*pfShown
)
93 HRESULT STDMETHODCALLTYPE
CCommonBrowser::IEGetDisplayName(LPCITEMIDLIST pidl
, LPWSTR pwszName
, UINT uFlags
)
98 HRESULT STDMETHODCALLTYPE
CCommonBrowser::IEParseDisplayName(UINT uiCP
, LPCWSTR pwszPath
, LPCITEMIDLIST
*ppidlOut
)
103 HRESULT STDMETHODCALLTYPE
CCommonBrowser::DisplayParseError(HRESULT hres
, LPCWSTR pwszPath
)
108 HRESULT STDMETHODCALLTYPE
CCommonBrowser::NavigateToPidl(LPCITEMIDLIST pidl
, DWORD grfHLNF
)
113 HRESULT STDMETHODCALLTYPE
CCommonBrowser::SetNavigateState(BNSTATE bnstate
)
118 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetNavigateState(BNSTATE
*pbnstate
)
123 HRESULT STDMETHODCALLTYPE
CCommonBrowser::NotifyRedirect(IShellView
*psv
, LPCITEMIDLIST pidl
, BOOL
*pfDidBrowse
)
128 HRESULT STDMETHODCALLTYPE
CCommonBrowser::UpdateWindowList()
133 HRESULT STDMETHODCALLTYPE
CCommonBrowser::UpdateBackForwardState()
138 HRESULT STDMETHODCALLTYPE
CCommonBrowser::SetFlags(DWORD dwFlags
, DWORD dwFlagMask
)
143 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetFlags(DWORD
*pdwFlags
)
148 HRESULT STDMETHODCALLTYPE
CCommonBrowser::CanNavigateNow( void)
153 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetPidl(LPCITEMIDLIST
*ppidl
)
158 HRESULT STDMETHODCALLTYPE
CCommonBrowser::SetReferrer(LPCITEMIDLIST pidl
)
163 DWORD STDMETHODCALLTYPE
CCommonBrowser::GetBrowserIndex()
168 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetBrowserByIndex(DWORD dwID
, IUnknown
**ppunk
)
173 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetHistoryObject(IOleObject
**ppole
, IStream
**pstm
, IBindCtx
**ppbc
)
178 HRESULT STDMETHODCALLTYPE
CCommonBrowser::SetHistoryObject(IOleObject
*pole
, BOOL fIsLocalAnchor
)
183 HRESULT STDMETHODCALLTYPE
CCommonBrowser::CacheOLEServer(IOleObject
*pole
)
188 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetSetCodePage(VARIANT
*pvarIn
, VARIANT
*pvarOut
)
193 HRESULT STDMETHODCALLTYPE
CCommonBrowser::OnHttpEquiv(IShellView
*psv
, BOOL fDone
, VARIANT
*pvarargIn
, VARIANT
*pvarargOut
)
198 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetPalette(HPALETTE
*hpal
)
203 HRESULT STDMETHODCALLTYPE
CCommonBrowser::RegisterWindow(BOOL fForceRegister
, int swc
)
208 LRESULT STDMETHODCALLTYPE
CCommonBrowser::WndProcBS(HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
)
213 HRESULT STDMETHODCALLTYPE
CCommonBrowser::SetAsDefFolderSettings()
218 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetViewRect(RECT
*prc
)
223 HRESULT STDMETHODCALLTYPE
CCommonBrowser::OnSize(WPARAM wParam
)
228 HRESULT STDMETHODCALLTYPE
CCommonBrowser::OnCreate(struct tagCREATESTRUCTW
*pcs
)
233 LRESULT STDMETHODCALLTYPE
CCommonBrowser::OnCommand(WPARAM wParam
, LPARAM lParam
)
238 HRESULT STDMETHODCALLTYPE
CCommonBrowser::OnDestroy()
243 LRESULT STDMETHODCALLTYPE
CCommonBrowser::OnNotify(struct tagNMHDR
*pnm
)
248 HRESULT STDMETHODCALLTYPE
CCommonBrowser::OnSetFocus()
253 HRESULT STDMETHODCALLTYPE
CCommonBrowser::OnFrameWindowActivateBS(BOOL fActive
)
258 HRESULT STDMETHODCALLTYPE
CCommonBrowser::ReleaseShellView()
263 HRESULT STDMETHODCALLTYPE
CCommonBrowser::ActivatePendingView()
268 HRESULT STDMETHODCALLTYPE
CCommonBrowser::CreateViewWindow(IShellView
*psvNew
, IShellView
*psvOld
, LPRECT prcView
, HWND
*phwnd
)
273 HRESULT STDMETHODCALLTYPE
CCommonBrowser::CreateBrowserPropSheetExt(REFIID riid
, void **ppv
)
278 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetViewWindow(HWND
*phwndView
)
283 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetBaseBrowserData(LPCBASEBROWSERDATA
*pbbd
)
288 LPBASEBROWSERDATA
CCommonBrowser::PutBaseBrowserData()
293 HRESULT STDMETHODCALLTYPE
CCommonBrowser::InitializeTravelLog(ITravelLog
*ptl
, DWORD dw
)
298 HRESULT STDMETHODCALLTYPE
CCommonBrowser::SetTopBrowser()
303 HRESULT STDMETHODCALLTYPE
CCommonBrowser::Offline(int iCmd
)
308 HRESULT STDMETHODCALLTYPE
CCommonBrowser::AllowViewResize(BOOL f
)
313 HRESULT STDMETHODCALLTYPE
CCommonBrowser::SetActivateState(UINT u
)
318 HRESULT STDMETHODCALLTYPE
CCommonBrowser::UpdateSecureLockIcon(int eSecureLock
)
323 HRESULT STDMETHODCALLTYPE
CCommonBrowser::InitializeDownloadManager()
328 HRESULT STDMETHODCALLTYPE
CCommonBrowser::InitializeTransitionSite()
333 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_Initialize(HWND hwnd
, IUnknown
*pauto
)
338 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_CancelPendingNavigationAsync( void)
343 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_CancelPendingView()
348 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_MaySaveChanges()
353 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_PauseOrResumeView(BOOL fPaused
)
358 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_DisableModeless()
363 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_NavigateToPidl(LPCITEMIDLIST pidl
, DWORD grfHLNF
, DWORD dwFlags
)
368 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_TryShell2Rename(IShellView
*psv
, LPCITEMIDLIST pidlNew
)
373 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_SwitchActivationNow()
378 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_ExecChildren(IUnknown
*punkBar
, BOOL fBroadcast
, const GUID
*pguidCmdGroup
, DWORD nCmdID
, DWORD nCmdexecopt
, VARIANTARG
*pvarargIn
, VARIANTARG
*pvarargOut
)
383 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_SendChildren(HWND hwndBar
, BOOL fBroadcast
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
)
388 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetFolderSetData(struct tagFolderSetData
*pfsd
)
393 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_OnFocusChange(UINT itb
)
398 HRESULT STDMETHODCALLTYPE
CCommonBrowser::v_ShowHideChildWindows(BOOL fChildOnly
)
403 UINT STDMETHODCALLTYPE
CCommonBrowser::_get_itbLastFocus()
408 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_put_itbLastFocus(UINT itbLastFocus
)
413 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_UIActivateView(UINT uState
)
418 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_GetViewBorderRect(RECT
*prc
)
423 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_UpdateViewRectSize()
428 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_ResizeNextBorder(UINT itb
)
433 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_ResizeView()
438 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_GetEffectiveClientArea(LPRECT lprectBorder
, HMONITOR hmon
)
443 IStream
*STDMETHODCALLTYPE
CCommonBrowser::v_GetViewStream(LPCITEMIDLIST pidl
, DWORD grfMode
, LPCWSTR pwszName
)
448 LRESULT STDMETHODCALLTYPE
CCommonBrowser::ForwardViewMsg(UINT uMsg
, WPARAM wParam
, LPARAM lParam
)
453 HRESULT STDMETHODCALLTYPE
CCommonBrowser::SetAcceleratorMenu(HACCEL hacc
)
458 int STDMETHODCALLTYPE
CCommonBrowser::_GetToolbarCount()
463 LPTOOLBARITEM STDMETHODCALLTYPE
CCommonBrowser::_GetToolbarItem(int itb
)
468 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_SaveToolbars(IStream
*pstm
)
473 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_LoadToolbars(IStream
*pstm
)
478 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_CloseAndReleaseToolbars(BOOL fClose
)
483 HRESULT STDMETHODCALLTYPE
CCommonBrowser::v_MayGetNextToolbarFocus(LPMSG lpMsg
, UINT itbNext
, int citb
, LPTOOLBARITEM
*pptbi
, HWND
*phwnd
)
488 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_ResizeNextBorderHelper(UINT itb
, BOOL bUseHmonitor
)
493 UINT STDMETHODCALLTYPE
CCommonBrowser::_FindTBar(IUnknown
*punkSrc
)
498 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_SetFocus(LPTOOLBARITEM ptbi
, HWND hwnd
, LPMSG lpMsg
)
503 HRESULT STDMETHODCALLTYPE
CCommonBrowser::v_MayTranslateAccelerator(MSG
*pmsg
)
508 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_GetBorderDWHelper(IUnknown
*punkSrc
, LPRECT lprectBorder
, BOOL bUseHmonitor
)
513 HRESULT STDMETHODCALLTYPE
CCommonBrowser::v_CheckZoneCrossing(LPCITEMIDLIST pidl
)
518 HRESULT STDMETHODCALLTYPE
CCommonBrowser::_PositionViewWindow(HWND
*, RECT
*)
523 HRESULT STDMETHODCALLTYPE
CCommonBrowser::IEParseDisplayNameEx(unsigned int, const unsigned short *, DWORD
, LPITEMIDLIST
*)
528 HRESULT STDMETHODCALLTYPE
CCommonBrowser::InsertMenusSB(HMENU hmenuShared
, LPOLEMENUGROUPWIDTHS lpMenuWidths
)
533 HRESULT STDMETHODCALLTYPE
CCommonBrowser::SetMenuSB(HMENU hmenuShared
, HOLEMENU holemenuRes
, HWND hwndActiveObject
)
538 HRESULT STDMETHODCALLTYPE
CCommonBrowser::RemoveMenusSB(HMENU hmenuShared
)
543 HRESULT STDMETHODCALLTYPE
CCommonBrowser::SetStatusTextSB(LPCOLESTR pszStatusText
)
548 HRESULT STDMETHODCALLTYPE
CCommonBrowser::EnableModelessSB(BOOL fEnable
)
553 HRESULT STDMETHODCALLTYPE
CCommonBrowser::TranslateAcceleratorSB(MSG
*pmsg
, WORD wID
)
558 HRESULT STDMETHODCALLTYPE
CCommonBrowser::BrowseObject(LPCITEMIDLIST pidl
, UINT wFlags
)
563 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetViewStateStream(DWORD grfMode
, IStream
**ppStrm
)
568 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetControlWindow(UINT id
, HWND
*lphwnd
)
573 HRESULT STDMETHODCALLTYPE
CCommonBrowser::SendControlMsg(UINT id
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
, LRESULT
*pret
)
578 HRESULT STDMETHODCALLTYPE
CCommonBrowser::QueryActiveShellView(struct IShellView
**ppshv
)
583 HRESULT STDMETHODCALLTYPE
CCommonBrowser::OnViewWindowActive(struct IShellView
*ppshv
)
588 HRESULT STDMETHODCALLTYPE
CCommonBrowser::SetToolbarItems(LPTBBUTTON lpButtons
, UINT nButtons
, UINT uFlags
)
593 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetPropertyBag(long flags
, REFIID riid
, void **ppvObject
)
598 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetWindow(HWND
*lphwnd
)
603 HRESULT STDMETHODCALLTYPE
CCommonBrowser::ContextSensitiveHelp(BOOL fEnterMode
)
608 HRESULT STDMETHODCALLTYPE
CCommonBrowser::GetBorderDW(IUnknown
* punkObj
, LPRECT prcBorder
)
613 HRESULT STDMETHODCALLTYPE
CCommonBrowser::RequestBorderSpaceDW(IUnknown
* punkObj
, LPCBORDERWIDTHS pbw
)
618 HRESULT STDMETHODCALLTYPE
CCommonBrowser::SetBorderSpaceDW(IUnknown
* punkObj
, LPCBORDERWIDTHS pbw
)
623 HRESULT STDMETHODCALLTYPE
CCommonBrowser::AddToolbar(IUnknown
*punkSrc
, LPCWSTR pwszItem
, DWORD dwAddFlags
)
628 HRESULT STDMETHODCALLTYPE
CCommonBrowser::RemoveToolbar(IUnknown
*punkSrc
, DWORD dwRemoveFlags
)
633 HRESULT STDMETHODCALLTYPE
CCommonBrowser::FindToolbar(LPCWSTR pwszItem
, REFIID riid
, void **ppv
)
638 HRESULT STDMETHODCALLTYPE
CCommonBrowser::OnFocusChangeIS(IUnknown
*punkObj
, BOOL fSetFocus
)
643 HRESULT STDMETHODCALLTYPE
CCommonBrowser::DragEnter(IDataObject
*pDataObj
, DWORD grfKeyState
, POINTL pt
, DWORD
*pdwEffect
)
648 HRESULT STDMETHODCALLTYPE
CCommonBrowser::DragOver(DWORD grfKeyState
, POINTL pt
, DWORD
*pdwEffect
)
653 HRESULT STDMETHODCALLTYPE
CCommonBrowser::DragLeave()
658 HRESULT STDMETHODCALLTYPE
CCommonBrowser::Drop(IDataObject
*pDataObj
, DWORD grfKeyState
, POINTL pt
, DWORD
*pdwEffect
)