#include <CExplorerBand.h>
|
| CExplorerBand () |
|
virtual | ~CExplorerBand () |
|
STDMETHODIMP | GetClassID (CLSID *pClassID) override |
|
STDMETHODIMP | OnSelectionChanged (_In_ PCIDLIST_ABSOLUTE pidl) override |
|
STDMETHODIMP | Invoke (_In_ PCIDLIST_ABSOLUTE pidl) override |
|
STDMETHODIMP | GetTypeInfoCount (UINT *pctinfo) override |
|
STDMETHODIMP | GetTypeInfo (UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) override |
|
STDMETHODIMP | GetIDsOfNames (REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) override |
|
STDMETHODIMP | Invoke (DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) override |
|
| ~CComObjectRootEx () |
|
ULONG | InternalAddRef () |
|
ULONG | InternalRelease () |
|
void | Lock () |
|
void | Unlock () |
|
HRESULT | _AtlInitialConstruct () |
|
| CComObjectRootBase () |
|
| ~CComObjectRootBase () |
|
void | SetVoid (void *) |
|
HRESULT | _AtlFinalConstruct () |
|
HRESULT | FinalConstruct () |
|
void | InternalFinalConstructAddRef () |
|
void | InternalFinalConstructRelease () |
|
void | FinalRelease () |
|
HRESULT | GetTypeInfoCount ([out] UINT *pctinfo) |
|
HRESULT | GetTypeInfo ([in] UINT iTInfo, [in] LCID lcid, [out] ITypeInfo **ppTInfo) |
|
HRESULT | GetIDsOfNames ([in] REFIID riid, [in, size_is(cNames)] LPOLESTR *rgszNames, [in] UINT cNames, [in] LCID lcid, [out, size_is(cNames)] DISPID *rgDispId) |
|
HRESULT | Invoke ([in] DISPID dispIdMember, [in] REFIID riid, [in] LCID lcid, [in] WORD wFlags, [in, out] DISPPARAMS *pDispParams, [out] VARIANT *pVarResult, [out] EXCEPINFO *pExcepInfo, [out] UINT *puArgErr) |
|
HRESULT | RemoteInvoke ([in] DISPID dispIdMember, [in] REFIID riid, [in] LCID lcid, [in] DWORD dwFlags, [in] DISPPARAMS *pDispParams, [out] VARIANT *pVarResult, [out] EXCEPINFO *pExcepInfo, [out] UINT *pArgErr, [in] UINT cVarRef, [in, size_is(cVarRef)] UINT *rgVarRefIdx, [in, out, size_is(cVarRef)] VARIANTARG *rgVarRef) |
|
HRESULT | QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject) |
|
ULONG | AddRef () |
|
ULONG | Release () |
|
Definition at line 13 of file CExplorerBand.h.
◆ CExplorerBand()
CExplorerBand::CExplorerBand |
( |
| ) |
|
◆ ~CExplorerBand()
CExplorerBand::~CExplorerBand |
( |
| ) |
|
|
virtual |
◆ _CompareTreeItems()
Definition at line 96 of file CExplorerBand.cpp.
97{
98 CItemData *info1 = (CItemData*)p1;
99 CItemData *info2 = (CItemData*)p2;
103 return 0;
105}
HRESULT CompareIDs([in] LPARAM lParam, [in] PCUIDLIST_RELATIVE pidl1, [in] PCUIDLIST_RELATIVE pidl2)
Referenced by _SortItems().
◆ _CreateTreeView()
HRESULT CExplorerBand::_CreateTreeView |
( |
HWND |
hwndParent | ) |
|
|
overrideprotected |
Definition at line 107 of file CExplorerBand.cpp.
108{
112
113
114 m_hRoot = _InsertItem(
NULL, m_pDesktop, m_pidlRoot, m_pidlRoot,
FALSE);
115 if (!m_hRoot)
116 {
117 ERR(
"Failed to create root item\n");
119 }
121
122
124
125
126 CComPtr<IWebBrowser2> browserService;
130
131
132 hr =
AtlAdvise(browserService,
dynamic_cast<IDispatch*
>(
this), DIID_DWebBrowserEvents, &m_adviseCookie);
135
137}
BOOL _NavigateToCurrentFolder()
HRESULT WINAPI AtlAdvise(IUnknown *pUnkCP, IUnknown *pUnk, const IID *iid, DWORD *pdw)
#define FAILED_UNEXPECTEDLY(hr)
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
#define TreeView_Expand(hwnd, hitem, code)
#define SID_SWebBrowserApp
#define IID_PPV_ARG(Itype, ppType)
◆ _DestroyTreeView()
void CExplorerBand::_DestroyTreeView |
( |
| ) |
|
|
overrideprotected |
Definition at line 139 of file CExplorerBand.cpp.
140{
141 CComPtr<IWebBrowser2> browserService;
145 return;
146
147 AtlUnadvise(browserService, DIID_DWebBrowserEvents, m_adviseCookie);
148
149 CNSCBand::_DestroyTreeView();
150}
HRESULT WINAPI AtlUnadvise(IUnknown *pUnkCP, const IID *iid, DWORD dw)
◆ _GetEnumFlags()
DWORD CExplorerBand::_GetEnumFlags |
( |
| ) |
|
|
overrideprotected |
◆ _GetRootCsidl()
INT CExplorerBand::_GetRootCsidl |
( |
| ) |
|
|
overrideprotected |
◆ _GetTitle()
◆ _GetTVExStyle()
DWORD CExplorerBand::_GetTVExStyle |
( |
| ) |
|
|
overrideprotected |
◆ _GetTVStyle()
DWORD CExplorerBand::_GetTVStyle |
( |
| ) |
|
|
overrideprotected |
◆ _NavigateToCurrentFolder()
BOOL CExplorerBand::_NavigateToCurrentFolder |
( |
| ) |
|
|
protected |
Definition at line 197 of file CExplorerBand.cpp.
198{
199 CComHeapPtr<ITEMIDLIST> pidl;
203
204
205 ++m_mtxBlockNavigate;
208 --m_mtxBlockNavigate;
209
211}
BOOL _NavigateToPIDL(_In_ LPCITEMIDLIST dest, _Out_ HTREEITEM *phItem, _In_ BOOL bExpand, _In_ BOOL bInsert, _In_ BOOL bSelect)
Referenced by _CreateTreeView(), and Invoke().
◆ _NavigateToPIDL()
Navigate to a given PIDL in the treeview, and return matching tree item handle
- dest: The absolute PIDL we should navigate in the treeview
- item: Handle of the tree item matching the PIDL
- bExpand: expand collapsed nodes in order to find the right element
- bInsert: insert the element at the right place if we don't find it
- bSelect: select the item after we found it
Definition at line 222 of file CExplorerBand.cpp.
228{
229 if (!phItem)
231
233
237 {
238 CItemData *pItemData = GetItemData(
hItem);
239 if (!pItemData)
240 {
241 ERR(
"Something has gone wrong, no data associated to node\n");
243 }
244
245
246 if (!m_pDesktop->CompareIDs(0, pItemData->absolutePidl,
dest))
247 {
248 if (bSelect)
252 }
253
254
257 if (relativeChild)
258 {
259
264
265
266 if (bExpand)
267 {
268 if (!pItemData->expanded)
269 {
270 _InsertSubitems(
hItem, pItemData->absolutePidl);
271 pItemData->expanded =
TRUE;
272 }
274 }
275
276
278 if (tmp)
279 {
280
283 continue;
284 }
285
286 if (
bInsert && pItemData->expanded)
287 {
288
290 }
291
292
293
296 }
297
298
300 if (tmp)
301 {
303 continue;
304 }
305
307 {
310 }
311
313 }
314
316}
LPITEMIDLIST WINAPI ILFindLastID(LPCITEMIDLIST pidl)
PUIDLIST_RELATIVE WINAPI ILFindChild(PIDLIST_ABSOLUTE pidl1, PCIDLIST_ABSOLUTE pidl2)
#define TreeView_SelectItem(hwnd, hitem)
#define TreeView_GetChild(hwnd, hitem)
#define TreeView_GetFirstVisible(hwnd)
#define TreeView_GetNextSibling(hwnd, hitem)
#define TreeView_SetItem(hwnd, pitem)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Referenced by _NavigateToCurrentFolder().
◆ _SortItems()
Definition at line 87 of file CExplorerBand.cpp.
88{
94}
static INT CALLBACK _CompareTreeItems(LPARAM p1, LPARAM p2, LPARAM p3)
#define TreeView_SortChildrenCB(hwnd, psort, recurse)
◆ _WantsRootItem()
BOOL CExplorerBand::_WantsRootItem |
( |
| ) |
|
|
overrideprotected |
◆ GetClassID()
Definition at line 29 of file CExplorerBand.cpp.
30{
31 if (!pClassID)
33 *pClassID = CLSID_ExplorerBand;
35}
◆ GetIDsOfNames()
◆ GetTypeInfo()
◆ GetTypeInfoCount()
◆ Invoke() [1/2]
◆ Invoke() [2/2]
Implements IDispatch.
Definition at line 173 of file CExplorerBand.cpp.
182{
183 switch (dispIdMember)
184 {
187 {
188 TRACE(
"dispId %d received\n", dispIdMember);
191 }
192 }
193 TRACE(
"Unknown dispid requested: %08x\n", dispIdMember);
195}
#define DISPID_NAVIGATECOMPLETE2
#define DISPID_DOWNLOADCOMPLETE
◆ OnSelectionChanged()
Definition at line 70 of file CExplorerBand.cpp.
71{
73}
STDMETHODIMP Invoke(_In_ PCIDLIST_ABSOLUTE pidl) override
The documentation for this class was generated from the following files: