ReactOS 0.4.17-dev-966-gf06eace
CConsoleWnd.cpp
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Management Console
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: Single 'console' window
5 * COPYRIGHT: Copyright 2006-2007 Thomas Weidenmueller
6 * Copyright 2017 Mark Jansen (mark.jansen@reactos.org)
7 * Copyright 2026 Eric Kohl (eric.kohl@reactos.org)
8 */
9
10#include "precomp.h"
11
13{
14 m_MainWnd = MainWnd;
17 m_pfnSuperWindowProc = DefMDIChildProc;
18
19 m_hMenuTreeView = LoadMenu(_AtlBaseModule.GetModuleInstance(), MAKEINTRESOURCE(IDM_TREEVIEW_CONTEXT));
20
21 if (!m_thunk.Init(NULL, NULL))
22 return;
23 _AtlWinModule.AddCreateWndData(&m_thunk.cd, this);
24}
25
27{
29}
30
33{
34 SetWindowLongPtr(0, (LONG_PTR)this);
35
40
42 m_iSplitSide = 0;
43
44 RECT Rect;
46 m_iTreeViewWidth = (Rect.right - Rect.left) / 4;
47 m_iActionsPaneWidth = (Rect.right - Rect.left) / 4;
48
49 m_StatusBar.Create(this->m_hWnd, NULL);
50 m_StatusBar.GetClientRect(&Rect);
51 m_iStatusBarHeight = Rect.bottom - Rect.top;
52
53 Rect.right = 0;
54 Rect.left = 0;
55 Rect.top = 0;
56 Rect.bottom = 0;
57 m_DescriptionBar.Create(L"Static", this->m_hWnd, &Rect, L"Description",
61
62 m_TreeView.Create(this->m_hWnd,
64
66
68
70
72
73 LPMDICREATESTRUCT mdicreate = reinterpret_cast<LPMDICREATESTRUCT>(reinterpret_cast<LPCREATESTRUCT>(lParam)->lpCreateParams);
74 if (mdicreate->lParam)
76
77 return 0;
78}
79
82{
84 m_MainWnd->PostMessage(WM_USER_CLOSE_CHILD, 0, 0);
85 return 0;
86}
87
90{
92 return DefMDIChildProc(this->m_hWnd, WM_SIZE, wParam, lParam);
93}
94
97{
98 POINT pt;
99
100 if ((HWND)wParam == m_TreeView.m_hWnd)
101 {
102 TVHITTESTINFO hti;
103 int nPos = 0;
104
105 pt.x = (short) LOWORD(lParam);
106 pt.y = (short) HIWORD(lParam);
107
108 if (pt.x == -1 && pt.y == -1)
109 {
110 RECT rc;
112 if (hti.hItem != NULL)
113 {
114 TreeView_GetItemRect(m_TreeView.m_hWnd, hti.hItem, &rc, TRUE);
115 pt.x = rc.left + 8;
116 pt.y = rc.top + 8;
117 m_TreeView.ClientToScreen(&pt);
118 hti.flags = TVHT_ONITEM;
119 }
120 else
121 {
122 hti.flags = 0;
123 }
124 }
125 else
126 {
127 hti.pt.x = pt.x;
128 hti.pt.y = pt.y;
129 m_TreeView.ScreenToClient(&hti.pt);
130 m_TreeView.HitTest(&hti);
131
132 if (hti.hItem)
133 {
134 if (hti.hItem == m_TreeView.GetSelection())
135 {
136 nPos = 1;
137 }
138 }
139 }
140
141 if (hti.flags & TVHT_ONITEM)
142 {
143 TrackPopupMenu(GetSubMenu(m_hMenuTreeView, nPos), TPM_RIGHTBUTTON, pt.x, pt.y, 0, this->m_hWnd, NULL);
144 }
145 }
146 return 0;
147}
148
151{
153 WCHAR WindowText[256];
154
155 HBRUSH hBrush = GetSysColorBrush(COLOR_3DDKSHADOW);
156 FillRect(lpDrawItem->hDC, &lpDrawItem->rcItem, hBrush);
157
159
160 ::GetWindowTextW(lpDrawItem->hwndItem, WindowText, ARRAYSIZE(WindowText));
161 ::SetBkMode(lpDrawItem->hDC, TRANSPARENT);
162
163 lpDrawItem->rcItem.left += 4;
164 DrawTextW(lpDrawItem->hDC, (LPCWSTR)WindowText, -1, &lpDrawItem->rcItem,
166
167 return TRUE;
168}
169
172{
173
174 NMHDR *phdr = (NMHDR *)lParam;
175 switch (phdr->code)
176 {
178 return FALSE;
179
180 case TVN_ENDLABELEDIT:
181 {
183 LPWSTR pszText = pNM->item.pszText;
184 CSnapin *Snapin = (CSnapin *)pNM->item.lParam;
185 Snapin->SetDisplayName(pszText);
186 TreeView_SetItem(pNM->hdr.hwndFrom, &pNM->item);
188 }
189 return FALSE;
190
191 case TVN_SELCHANGED:
192 {
193 LPNMTREEVIEW pNmTreeview = (LPNMTREEVIEW)lParam;
194 CSnapin *Snapin = (CSnapin *)pNmTreeview->itemNew.lParam;
195
197 }
198 return FALSE;
199 }
200
201 return 0;
202}
203
205CConsoleWnd::OnActionNewWindow(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
206{
207 HTREEITEM hTreeItem = m_TreeView.GetSelection();
208 if (!hTreeItem)
209 return 0;
210
211 CSnapin *Snapin = (CSnapin *)m_TreeView.GetItemData(hTreeItem);
212 if (!Snapin)
213 return 0;
214
216 HWND hChild;
218
219 mcs.szTitle = Snapin->DisplayName();
221 mcs.hOwner = _AtlBaseModule.GetModuleInstance();
222 mcs.x = mcs.cx = CW_USEDEFAULT;
223 mcs.y = mcs.cy = CW_USEDEFAULT;
224 mcs.style = MDIS_ALLCHILDSTYLES;
225
226 CConsoleWnd* child = new CConsoleWnd(m_MainWnd, Snapin);
227 BOOL bMaximized = FALSE;
228 HWND hWndOld = (HWND)m_MainWnd->m_MDIClient.SendMessage(WM_MDIGETACTIVE, 0, (LPARAM)&bMaximized);
229 mcs.lParam = bMaximized || !hWndOld;
231 if (!hChild)
232 {
233 delete child;
234 }
235
236 return 0;
237}
238
240CConsoleWnd::OnActionRename(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
241{
243 return 0;
244}
245
247CConsoleWnd::OnViewCustomize(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
248{
249 return m_MainWnd->OnViewCustomize(wNotifyCode, wID, hWndCtl, bHandled);
250}
251
252VOID
254{
255 HTREEITEM hTreeItem;
256
257 hTreeItem = m_TreeView.AddItem(hParentTreeItem,
258 (LPWSTR)Node->DisplayName().GetString(),
259 Node->CacheEntry()->NormalImageIndex(),
260 Node->CacheEntry()->OpenImageIndex(),
261 (LPARAM)Node);
262 if (hTreeItem)
263 {
264 POSITION pos = Node->m_SubNodes.GetHeadPosition();
265 while (pos)
266 {
267 CSnapin *ChildNode = (CSnapin*)Node->m_SubNodes.GetNext(pos);
268 if (ChildNode)
269 AddTreeViewItemRecursive(hTreeItem, ChildNode);
270 }
271
272 m_TreeView.Expand(hTreeItem, TVE_EXPAND);
273
275 m_TreeView.SelectItem(hTreeItem);
276 }
277}
278
279VOID
281{
284}
285
286BOOL
288{
289 return m_bTreeViewVisible;
290}
291
292VOID
294{
295 m_bTreeViewVisible = bVisible;
296 UpdateLayout();
297}
298
299BOOL
301{
302 return m_bStatusBarVisible;
303}
304
305VOID
307{
308 m_bStatusBarVisible = bVisible;
309 UpdateLayout();
310}
311
312BOOL
314{
316}
317
318VOID
320{
321 m_bDescriptionBarVisible = bVisible;
322 UpdateLayout();
323}
324
325BOOL
327{
329}
330
331VOID
333{
334 m_bActionsPaneVisible = bVisible;
335 UpdateLayout();
336}
337
338VOID
340{
341 RECT Rect;
342 int iTreeViewWidth, iTreeViewHeight;
343 int iListViewPosX, iListViewPosY = 0;
344 int iListViewWidth, iListViewHeight;
345
347 int iClientHeight = Rect.bottom - Rect.top;
348 int iClientWidth = Rect.right - Rect.left;
349
350 int iStatusHeight = 0;
351
352 int iDescriptionBarHeight = 0;
353
355 {
356 iTreeViewWidth = m_iTreeViewWidth;
357 iListViewPosX = m_iTreeViewWidth + m_iSplitterWidth;
358 iListViewWidth = iClientWidth - m_iTreeViewWidth - m_iSplitterWidth;
359 }
360 else
361 {
362 iTreeViewWidth = 0;
363 iListViewPosX = 0;
364 iListViewWidth = iClientWidth;
365 }
366
367 iTreeViewHeight = iClientHeight;
368 iListViewHeight = iClientHeight;
369
371 {
372 iStatusHeight = m_iStatusBarHeight;
373 iTreeViewHeight -= iStatusHeight;
374 iListViewHeight -= iStatusHeight;
375 }
376
378 {
379 iDescriptionBarHeight = 24;
380 iListViewPosY += iDescriptionBarHeight;
381 iListViewHeight -= iDescriptionBarHeight;
382 }
383
385 {
386 iListViewWidth -= (m_iActionsPaneWidth + m_iSplitterWidth);
387 }
388
389 /* Move the status bar */
390 m_StatusBar.MoveWindow(0, iClientHeight - iStatusHeight, iClientWidth, iStatusHeight);
391
392 /* Move the tree view */
393 m_TreeView.MoveWindow(0, 0, iTreeViewWidth, iTreeViewHeight);
394
395 /* Move the list view */
396 m_ListView.MoveWindow(iListViewPosX, iListViewPosY, iListViewWidth, iListViewHeight);
397
398 m_DescriptionBar.MoveWindow(iListViewPosX, 0, iListViewWidth, iDescriptionBarHeight);
399}
400
401VOID
403{
405}
406
407VOID
409{
410 m_StatusBar.SetText(pszStatusText);
411}
412
413VOID
415{
416 IXMLDOMElement *pViewElement = NULL;
417 IXMLDOMElement *pViewOptionsElement = NULL;
418 WCHAR szBuffer[32];
419 HRESULT hr = S_OK;
420
421 /* <View ID="1" ScopePaneWidth="292" ActionsPaneWidth="-1"> */
422 CHK_HR(mscFile->CreateAndAddElementNode(L"View", pParentElement, &pViewElement));
423 _swprintf(szBuffer, L"%d", m_ViewId);
424 CHK_HR(mscFile->CreateAndAddAttributeNode(L"ID", szBuffer, pViewElement));
425 _swprintf(szBuffer, L"%d", m_iTreeViewWidth);
426 CHK_HR(mscFile->CreateAndAddAttributeNode(L"ScopePaneWidth", szBuffer, pViewElement));
427 _swprintf(szBuffer, L"%d", m_iActionsPaneWidth);
428 CHK_HR(mscFile->CreateAndAddAttributeNode(L"ActionsPaneWidth", szBuffer, pViewElement));
429
430 mscFile->SaveWindowPlacement(this, pViewElement);
431
432 /* <ViewOptions ViewMode="Report" ScopePaneVisible="true" ActionsPaneVisible="true" DescriptionBarVisible="false" DefaultColumn0Width="200" DefaultColumn1Width="0"/> */
433 CHK_HR(mscFile->CreateAndAddElementNode(L"ViewOptions", pViewElement, &pViewOptionsElement));
434 CHK_HR(mscFile->CreateAndAddAttributeNode(L"ViewMode", L"Report", pViewOptionsElement)); /* FIXME */
435 CHK_HR(mscFile->CreateAndAddAttributeNode(L"ScopePaneVisible", IsTreeViewVisible() ? L"true" : L"false", pViewOptionsElement));
436 if (!IsStatusBarVisible())
437 CHK_HR(mscFile->CreateAndAddAttributeNode(L"NoStatusBar", L"true", pViewOptionsElement));
438 CHK_HR(mscFile->CreateAndAddAttributeNode(L"ActionsPaneVisible", IsActionsPaneVisible() ? L"true" : L"false", pViewOptionsElement));
439 CHK_HR(mscFile->CreateAndAddAttributeNode(L"DescriptionBarVisible", IsDescriptionBarVisible() ? L"true" : L"false", pViewOptionsElement));
440 CHK_HR(mscFile->CreateAndAddAttributeNode(L"DefaultColumn0Width", L"200", pViewOptionsElement)); /* FIXME */
441 CHK_HR(mscFile->CreateAndAddAttributeNode(L"DefaultColumn1Width", L"0", pViewOptionsElement)); /* FIXME */
442 SAFE_RELEASE(pViewOptionsElement); /* </ViewOptions> */
443
444CleanUp:
445 SAFE_RELEASE(pViewElement); /* </View> */
446}
447
448
449// +IConsole
452{
453 if (riid == IID_IUnknown || riid == IID_IConsole)
454 {
455 *ppvObject = static_cast<IConsole*>(this);
456 AddRef();
457 return S_OK;
458 }
459 else if (riid == IID_IConsole2)
460 {
461 *ppvObject = static_cast<IConsole2*>(this);
462 AddRef();
463 return S_OK;
464 }
465 else if (riid == IID_IConsoleNameSpace)
466 {
467 *ppvObject = static_cast<IConsoleNameSpace*>(this);
468 AddRef();
469 return S_OK;
470 }
471 else if (riid == IID_IConsoleNameSpace2)
472 {
473 *ppvObject = static_cast<IConsoleNameSpace2*>(this);
474 AddRef();
475 return S_OK;
476 }
477 else
478 {
479 CComHeapPtr<OLECHAR> guidstr;
480 HRESULT hr = StringFromCLSID(riid, &guidstr);
481 if (SUCCEEDED(hr))
482 DPRINT1("Unhandled riid: %S\n", (PCWSTR)guidstr);
483 else
484 DPRINT1("Unhandled riid\n");
485 }
486
487
488 *ppvObject = NULL;
489 return E_NOINTERFACE;
490}
491
494{
495 DPRINT("%s()\n", __FUNCTION__);
496 return 2;
497}
498
501{
502 DPRINT("%s()\n", __FUNCTION__);
503 return 1;
504}
505
506
509{
510 DPRINT("%s()\n", __FUNCTION__);
511 __debugbreak();
512 return E_NOTIMPL;
513}
514
517{
518 DPRINT("%s()\n", __FUNCTION__);
519 __debugbreak();
520 return E_NOTIMPL;
521}
522
525{
526 DPRINT("%s()\n", __FUNCTION__);
527 __debugbreak();
528 return E_NOTIMPL;
529}
530
533{
534 DPRINT("%s(%p)\n", __FUNCTION__);
535 if (!ppImageList)
536 return E_INVALIDARG;
537
538 __debugbreak();
539 //*ppImageList = m_ScopeImageList;
540 return S_OK;
541}
542
545{
546 DPRINT("%s()\n", __FUNCTION__);
547 __debugbreak();
548 return E_NOTIMPL;
549}
550
553{
554 DPRINT("%s()\n", __FUNCTION__);
555 __debugbreak();
556 return E_NOTIMPL;
557}
558
560CConsoleWnd::MessageBox(LPCWSTR lpszText, LPCWSTR lpszTitle, UINT fuStyle, int *piRetval)
561{
562 DPRINT("%s()\n", __FUNCTION__);
563 __debugbreak();
564 return E_NOTIMPL;
565}
566
569{
570 DPRINT("%s()\n", __FUNCTION__);
571 __debugbreak();
572 return E_NOTIMPL;
573}
574
577{
578 DPRINT("%s()\n", __FUNCTION__);
579 __debugbreak();
580 return E_NOTIMPL;
581}
582
585{
586 DPRINT("%s()\n", __FUNCTION__);
587 __debugbreak();
588 return E_NOTIMPL;
589}
590
593{
594 DPRINT("%s()\n", __FUNCTION__);
595 __debugbreak();
596 return E_NOTIMPL;
597}
598// -IConsole
599
600// +IConsole2
603{
604 DPRINT("%s()\n", __FUNCTION__);
605 __debugbreak();
606 return E_NOTIMPL;
607}
608
611{
612 DPRINT("%s()\n", __FUNCTION__);
613 __debugbreak();
614 return E_NOTIMPL;
615}
616
617
619CConsoleWnd::SetStatusText(LPOLESTR pszStatusText)
620{
621 DPRINT("%s()\n", __FUNCTION__);
622 __debugbreak();
623 return E_NOTIMPL;
624}
625// -IConsole2
626
627// +IConsoleNameSpace
630{
631 DPRINT("%s()\n", __FUNCTION__);
632 __debugbreak();
633 return E_NOTIMPL;
634}
635
638{
639 DPRINT("%s()\n", __FUNCTION__);
640 __debugbreak();
641 return E_NOTIMPL;
642}
643
646{
647 DPRINT("%s()\n", __FUNCTION__);
648 __debugbreak();
649 return E_NOTIMPL;
650}
651
654{
655 DPRINT("%s()\n", __FUNCTION__);
656 __debugbreak();
657 return E_NOTIMPL;
658}
659
662{
663 DPRINT("%s()\n", __FUNCTION__);
664 __debugbreak();
665 return E_NOTIMPL;
666}
667
670{
671 DPRINT("%s()\n", __FUNCTION__);
672 __debugbreak();
673 return E_NOTIMPL;
674}
675
678{
679 DPRINT("%s()\n", __FUNCTION__);
680 __debugbreak();
681 return E_NOTIMPL;
682}
683// -IConsoleNameSpace
684
685
686
687// +IConsoleNameSpace2
690{
691 DPRINT("%s()\n", __FUNCTION__);
692 __debugbreak();
693 return E_NOTIMPL;
694}
695
698{
699 DPRINT("%s()\n", __FUNCTION__);
700 __debugbreak();
701 return E_NOTIMPL;
702}
703// -IConsoleNameSpace2
static struct myctx * mcs
Definition: adnstest.c:53
#define WM_USER_CLOSE_CHILD
Definition: precomp.h:14
#define IDM_TREEVIEW_CONTEXT
Definition: resource.h:25
#define DPRINT1
Definition: precomp.h:8
#define STDMETHODIMP
Definition: basetyps.h:43
#define STDMETHODIMP_(t)
Definition: basetyps.h:44
const GUID IID_IUnknown
#define ARRAYSIZE(a)
Definition: cat.c:25
HWND Create(LPCTSTR lpstrWndClass, HWND hWndParent, _U_RECT rect=NULL, LPCTSTR szWindowName=NULL, DWORD dwStyle=0, DWORD dwExStyle=0, _U_MENUorID MenuOrID=0U, LPVOID lpCreateParam=NULL)
Definition: atlwin.h:417
LRESULT SendMessage(UINT message, WPARAM wParam=0, LPARAM lParam=0)
Definition: atlwin.h:1116
BOOL SetWindowText(LPCTSTR lpszString)
Definition: atlwin.h:1300
BOOL MoveWindow(int x, int y, int nWidth, int nHeight, BOOL bRepaint=TRUE)
Definition: atlwin.h:1026
LRESULT OnActionNewWindow(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
STDMETHODIMP GetParentItem(HSCOPEITEM item, HSCOPEITEM *pItemParent, LONG *plCookie)
VOID AddTreeViewItemRecursive(HTREEITEM hParentTreeItem, CSnapin *Node)
CSnapin * m_ViewRootNode
Definition: CConsoleWnd.h:39
STDMETHODIMP AddExtension(HSCOPEITEM hItem, LPCLSID lpClsid)
int m_iActionsPaneWidth
Definition: CConsoleWnd.h:27
BOOL m_bTreeViewVisible
Definition: CConsoleWnd.h:32
LRESULT OnDrawItem(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHODIMP UpdateAllViews(LPDATAOBJECT lpDataObject, LPARAM data, LONG_PTR hint)
STDMETHODIMP QueryResultImageList(LPIMAGELIST *ppImageList)
STDMETHODIMP DeleteItem(HSCOPEITEM hItem, LONG fDeleteThis)
BOOL m_bStatusBarVisible
Definition: CConsoleWnd.h:34
int m_iSplitterWidth
Definition: CConsoleWnd.h:28
STDMETHODIMP InsertItem(LPSCOPEDATAITEM item)
LRESULT OnCreate(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: CConsoleWnd.cpp:32
STDMETHODIMP Expand(HSCOPEITEM hItem, BOOL bExpand)
CTreeView m_TreeView
Definition: CConsoleWnd.h:22
STDMETHODIMP SetStatusText(LPOLESTR pszStatusText)
VOID SetStatusBarText(LPWSTR pszStatusText)
VOID UpdateView()
VOID SetStatusBarVisible(BOOL bVisible)
int m_iSplitSide
Definition: CConsoleWnd.h:30
LRESULT OnNotify(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHODIMP MessageBox(LPCWSTR lpszText, LPCWSTR lpszTitle, UINT fuStyle, int *piRetval)
CConsoleWnd(CMainWnd *MainWnd, CSnapin *RootNode)
Definition: CConsoleWnd.cpp:12
CMainWnd * m_MainWnd
Definition: CConsoleWnd.h:21
STDMETHODIMP GetMainWindow(HWND *phwnd)
BOOL IsDescriptionBarVisible()
CListView m_ListView
Definition: CConsoleWnd.h:23
BOOL m_bActionsPaneVisible
Definition: CConsoleWnd.h:33
CSnapin * m_ViewSelectedNode
Definition: CConsoleWnd.h:40
STDMETHODIMP GetItem(LPSCOPEDATAITEM item)
STDMETHODIMP GetChildItem(HSCOPEITEM item, HSCOPEITEM *pItemChild, LONG *plCookie)
LRESULT OnContextMenu(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: CConsoleWnd.cpp:96
BOOL m_bDescriptionBarVisible
Definition: CConsoleWnd.h:35
STDMETHODIMP SetHeader(LPHEADERCTRL pHeader)
STDMETHODIMP GetNextItem(HSCOPEITEM item, HSCOPEITEM *pItemNext, LONG *plCookie)
VOID SaveView(MscFile *mscFile, IXMLDOMElement *pParentElement)
VOID SetDescriptionBarVisible(BOOL bVisible)
int m_iTreeViewWidth
Definition: CConsoleWnd.h:26
BOOL IsTreeViewVisible()
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObject)
STDMETHODIMP QueryScopeImageList(LPIMAGELIST *ppImageList)
CWindow m_DescriptionBar
Definition: CConsoleWnd.h:25
STDMETHODIMP SelectScopeItem(HSCOPEITEM hScopeItem)
LRESULT OnDestroy(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: CConsoleWnd.cpp:81
LRESULT OnViewCustomize(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
VOID UpdateTreeView()
STDMETHODIMP QueryConsoleVerb(LPCONSOLEVERB *ppConsoleVerb)
CStatusBar m_StatusBar
Definition: CConsoleWnd.h:24
int m_iStatusBarHeight
Definition: CConsoleWnd.h:31
LRESULT OnSize(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: CConsoleWnd.cpp:89
STDMETHODIMP IsTaskpadViewPreferred()
STDMETHODIMP NewWindow(HSCOPEITEM hScopeItem, ULONG lOptions)
BOOL IsStatusBarVisible()
static LPCWSTR GetWndClassName()
Definition: CConsoleWnd.h:80
STDMETHODIMP SetToolbar(LPTOOLBAR pToolbar)
STDMETHODIMP QueryResultView(LPUNKNOWN *pUnknown)
LRESULT OnActionRename(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
STDMETHODIMP SetItem(LPSCOPEDATAITEM item)
HMENU m_hMenuTreeView
Definition: CConsoleWnd.h:37
VOID SetActionsPaneVisible(BOOL bVisible)
VOID SetTreeViewVisible(BOOL bVisible)
VOID UpdateLayout()
BOOL IsActionsPaneVisible()
HWND Create(HWND hWndParent, _U_RECT rect, LPCTSTR szWindowName=NULL, DWORD dwStyle=0, DWORD dwExStyle=0, _U_MENUorID MenuOrID=0U, LPVOID lpCreateParam=NULL)
Definition: rosctrls.h:8
int RegisterView(CConsoleWnd *pView)
Definition: CMainWnd.cpp:620
CWindow m_MDIClient
Definition: CMainWnd.h:54
HIMAGELIST SnapinImageList()
Definition: CMainWnd.cpp:608
void UnregisterView(CConsoleWnd *pView)
Definition: CMainWnd.cpp:627
LRESULT OnViewCustomize(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:409
const CAtlString & DisplayName() const
Definition: CSnapin.cpp:40
void SetDisplayName(LPWSTR pszName)
Definition: CSnapin.cpp:42
VOID SetText(LPCWSTR lpszText)
Definition: rosctrls.h:457
HWND Create(HWND hwndParent, HMENU hMenu)
Definition: rosctrls.h:462
BOOL Expand(HTREEITEM item, DWORD action)
Definition: rosctrls.h:604
HIMAGELIST SetImageList(HIMAGELIST himl, int iImageList)
Definition: rosctrls.h:535
HWND Create(HWND hwndParent, DWORD dwStyles=0)
Definition: rosctrls.h:483
BOOL DeleteItem(HTREEITEM i)
Definition: rosctrls.h:545
BOOL SelectItem(HTREEITEM item, DWORD action=TVGN_CARET)
Definition: rosctrls.h:609
HTREEITEM HitTest(TVHITTESTINFO *phtInfo)
Definition: rosctrls.h:585
DWORD_PTR GetItemData(HTREEITEM item)
Definition: rosctrls.h:590
HTREEITEM AddItem(HTREEITEM hParent, LPWSTR lpText, INT Image, INT SelectedImage, LPARAM lParam)
Definition: rosctrls.h:503
HTREEITEM GetSelection()
Definition: rosctrls.h:599
HWND EditLabel(HTREEITEM i)
Definition: rosctrls.h:570
HRESULT SaveWindowPlacement(CWindow *pWindow, IXMLDOMElement *pParentNode)
Definition: mscfile.cpp:264
HRESULT CreateAndAddAttributeNode(PCWSTR wszName, PCWSTR wszValue, IXMLDOMElement *pParent)
Definition: mscfile.cpp:135
HRESULT CreateAndAddElementNode(PCWSTR wszName, IXMLDOMNode *pParent, IXMLDOMElement **ppElement=NULL)
Definition: mscfile.cpp:199
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define E_INVALIDARG
Definition: ddrawi.h:101
#define E_NOTIMPL
Definition: ddrawi.h:99
HRESULT hr
Definition: delayimp.cpp:582
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
HRESULT WINAPI StringFromCLSID(REFCLSID clsid, LPOLESTR *str)
Definition: combase.c:1515
HANDLE HWND
Definition: compat.h:19
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
Definition: typeof.h:94
#define pt(x, y)
Definition: drawing.c:79
#define L(x)
Definition: resources.c:13
#define __FUNCTION__
Definition: types.h:116
_In_ PUNKNOWN pUnknown
Definition: drmk.h:76
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned int BOOL
Definition: ntddk_ex.h:94
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
unsigned int UINT
Definition: sysinfo.c:13
FxContextHeader * pHeader
Definition: handleapi.cpp:604
REFIID riid
Definition: atlbase.h:39
ULONG AddRef()
ULONG Release()
#define S_OK
Definition: intsafe.h:52
#define SUCCEEDED(hr)
Definition: intsafe.h:50
PCONFIGURATION_COMPONENT_DATA RootNode
Definition: macharm.c:19
LONG_PTR LPARAM
Definition: minwindef.h:175
LONG_PTR LRESULT
Definition: minwindef.h:176
UINT_PTR WPARAM
Definition: minwindef.h:174
LONG_PTR HSCOPEITEM
Definition: mmc.idl:115
#define _swprintf(buf, format,...)
Definition: sprintf.c:56
static HTREEITEM hChild
Definition: treeview.c:383
static HWND child
Definition: cursoricon.c:298
#define SAFE_RELEASE(p)
Definition: mscfile.h:15
#define CHK_HR(stmt)
Definition: mscfile.h:9
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
INT WINAPI DrawTextW(HDC hdc, LPCWSTR str, INT count, LPRECT rect, UINT flags)
Definition: defwnd.c:16
#define MAKEINTRESOURCE(i)
Definition: ntverrsrc.c:25
interface IDataObject * LPDATAOBJECT
Definition: objfwd.h:21
#define LOWORD(l)
Definition: pedump.c:82
#define WS_CHILD
Definition: pedump.c:617
short WCHAR
Definition: pedump.c:58
#define WS_VISIBLE
Definition: pedump.c:620
long LONG
Definition: pedump.c:60
#define WS_CLIPSIBLINGS
Definition: pedump.c:618
static char title[]
Definition: ps.c:92
#define TVN_SELCHANGED
Definition: commctrl.h:3740
#define TVHT_ONITEM
Definition: commctrl.h:3532
#define TVN_BEGINLABELEDIT
Definition: commctrl.h:3748
#define TVSIL_NORMAL
Definition: commctrl.h:3448
#define LPNMTREEVIEW
Definition: commctrl.h:3648
#define TVS_SHOWSELALWAYS
Definition: commctrl.h:3257
#define TVN_ENDLABELEDIT
Definition: commctrl.h:3749
#define TVS_HASLINES
Definition: commctrl.h:3253
#define TreeView_GetItemRect(hwnd, hitem, prc, code)
Definition: commctrl.h:3434
#define TVE_EXPAND
Definition: commctrl.h:3428
#define TVI_ROOT
Definition: commctrl.h:3373
#define TV_DISPINFO
Definition: commctrl.h:3668
#define TVS_EDITLABELS
Definition: commctrl.h:3255
#define TreeView_SetItem(hwnd, pitem)
Definition: commctrl.h:3502
#define REFIID
Definition: guiddef.h:118
struct tagDRAWITEMSTRUCT * LPDRAWITEMSTRUCT
DWORD WINAPI GetSysColor(_In_ int)
#define WS_EX_STATICEDGE
Definition: winuser.h:403
#define WM_SYSCOMMAND
Definition: winuser.h:1769
#define DT_NOPREFIX
Definition: winuser.h:537
#define WM_MDICREATE
Definition: winuser.h:1840
#define DT_END_ELLIPSIS
Definition: winuser.h:529
#define TPM_RIGHTBUTTON
Definition: winuser.h:2416
#define WM_SIZE
Definition: winuser.h:1639
HBRUSH WINAPI GetSysColorBrush(_In_ int)
#define SS_OWNERDRAW
Definition: winuser.h:352
#define DT_SINGLELINE
Definition: winuser.h:540
#define COLOR_3DDKSHADOW
Definition: winuser.h:950
#define MDIS_ALLCHILDSTYLES
Definition: winuser.h:253
#define DT_LEFT
Definition: winuser.h:534
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
#define DT_MODIFYSTRING
Definition: winuser.h:535
#define LoadMenu
Definition: winuser.h:5983
#define DT_VCENTER
Definition: winuser.h:543
#define PostMessage
Definition: winuser.h:5998
#define CW_USEDEFAULT
Definition: winuser.h:225
BOOL WINAPI DestroyMenu(_In_ HMENU)
#define COLOR_3DHILIGHT
Definition: winuser.h:948
BOOL WINAPI TrackPopupMenu(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _Reserved_ int, _In_ HWND, _Reserved_ LPCRECT)
#define WS_EX_CLIENTEDGE
Definition: winuser.h:384
#define WM_MDIGETACTIVE
Definition: winuser.h:1849
#define SC_MAXIMIZE
Definition: winuser.h:2624
#define DefMDIChildProc
Definition: ros2win.h:33
void __cdecl __debugbreak(void)
Definition: intrin_ppc.h:698
#define DPRINT
Definition: sndvol32.h:73
long y
Definition: dcommon.idl:24
long x
Definition: dcommon.idl:24
Definition: dcommon.idl:28
long left
Definition: dcommon.idl:29
long top
Definition: dcommon.idl:29
UINT code
Definition: winuser.h:3267
HTREEITEM hItem
Definition: commctrl.h:3526
#define SetWindowLongPtr
Definition: treelist.c:70
const uint16_t * PCWSTR
Definition: typedefs.h:57
const uint16_t * LPCWSTR
Definition: typedefs.h:57
uint16_t * LPWSTR
Definition: typedefs.h:56
uint32_t ULONG
Definition: typedefs.h:59
#define HIWORD(l)
Definition: typedefs.h:247
Definition: dlist.c:348
DWORD hint
Definition: vfdcmd.c:88
int WINAPI GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount)
Definition: window.c:1382
#define E_NOINTERFACE
Definition: winerror.h:3479
#define TRANSPARENT
Definition: wingdi.h:950
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
Definition: dc.c:1056
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
Definition: text.c:917