ReactOS 0.4.17-dev-1296-gb7b13d1
CConsoleWnd Class Reference

#include <CConsoleWnd.h>

Inheritance diagram for CConsoleWnd:
Collaboration diagram for CConsoleWnd:

Public Member Functions

 CConsoleWnd (CMainWnd *MainWnd, CSnapin *RootNode, CSnapin *SelectedNode=NULL)
 
 ~CConsoleWnd ()
 
LRESULT OnCreate (UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnDestroy (UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnSize (UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnLButtonDown (UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnLButtonUp (UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnMouseMove (UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnContextMenu (UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnDrawItem (UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnNotify (UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnActivate (UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnActionNewWindow (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnActionRename (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnViewMode (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnViewCustomize (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
BOOL IsTreeViewVisible ()
 
VOID SetTreeViewVisible (BOOL bVisible)
 
BOOL IsStatusBarVisible ()
 
VOID SetStatusBarVisible (BOOL bVisible)
 
BOOL IsDescriptionBarVisible ()
 
VOID SetDescriptionBarVisible (BOOL bVisible)
 
BOOL IsActionsPaneVisible ()
 
VOID SetActionsPaneVisible (BOOL bVisible)
 
VOID UpdateView ()
 
VOID SetStatusBarText (LPWSTR pszStatusText)
 
VOID SelectParent ()
 
LISTVIEW_MODE GetListViewMode ()
 
VOID SetListViewMode (LISTVIEW_MODE ListViewMode)
 
VOID SaveView (MscFile *mscFile, IXMLDOMElement *pParentElement)
 
STDMETHODIMP QueryInterface (REFIID riid, void **ppvObject)
 
 STDMETHODIMP_ (ULONG) AddRef()
 
 STDMETHODIMP_ (ULONG) Release()
 
STDMETHODIMP SetHeader (LPHEADERCTRL pHeader)
 
STDMETHODIMP SetToolbar (LPTOOLBAR pToolbar)
 
STDMETHODIMP QueryResultView (LPUNKNOWN *pUnknown)
 
STDMETHODIMP QueryScopeImageList (LPIMAGELIST *ppImageList)
 
STDMETHODIMP QueryResultImageList (LPIMAGELIST *ppImageList)
 
STDMETHODIMP UpdateAllViews (LPDATAOBJECT lpDataObject, LPARAM data, LONG_PTR hint)
 
STDMETHODIMP MessageBox (LPCWSTR lpszText, LPCWSTR lpszTitle, UINT fuStyle, int *piRetval)
 
STDMETHODIMP QueryConsoleVerb (LPCONSOLEVERB *ppConsoleVerb)
 
STDMETHODIMP SelectScopeItem (HSCOPEITEM hScopeItem)
 
STDMETHODIMP GetMainWindow (HWND *phwnd)
 
STDMETHODIMP NewWindow (HSCOPEITEM hScopeItem, ULONG lOptions)
 
STDMETHODIMP Expand (HSCOPEITEM hItem, BOOL bExpand)
 
STDMETHODIMP IsTaskpadViewPreferred ()
 
STDMETHODIMP SetStatusText (LPOLESTR pszStatusText)
 
STDMETHODIMP InsertItem (LPSCOPEDATAITEM item)
 
STDMETHODIMP DeleteItem (HSCOPEITEM hItem, LONG fDeleteThis)
 
STDMETHODIMP SetItem (LPSCOPEDATAITEM item)
 
STDMETHODIMP GetItem (LPSCOPEDATAITEM item)
 
STDMETHODIMP GetChildItem (HSCOPEITEM item, HSCOPEITEM *pItemChild, LONG *plCookie)
 
STDMETHODIMP GetNextItem (HSCOPEITEM item, HSCOPEITEM *pItemNext, LONG *plCookie)
 
STDMETHODIMP GetParentItem (HSCOPEITEM item, HSCOPEITEM *pItemParent, LONG *plCookie)
 
STDMETHODIMP Expand (HSCOPEITEM hItem)
 
STDMETHODIMP AddExtension (HSCOPEITEM hItem, LPCLSID lpClsid)
 
HRESULT Expand ([in] HSCOPEITEM hItem, [in] BOOL bExpand)
 
HRESULT IsTaskpadViewPreferred ()
 
HRESULT SetStatusText ([in] LPOLESTR pszStatusText)
 
- Public Member Functions inherited from IConsole
HRESULT SetHeader ([in] LPHEADERCTRL pHeader)
 
HRESULT SetToolbar ([in] LPTOOLBAR pToolbar)
 
HRESULT QueryResultView ([out] LPUNKNOWN *pUnknown)
 
HRESULT QueryScopeImageList ([out] LPIMAGELIST *ppImageList)
 
HRESULT QueryResultImageList ([out] LPIMAGELIST *ppImageList)
 
HRESULT UpdateAllViews ([in] LPDATAOBJECT lpDataObject, [in] LPARAM data, [in] LONG_PTR hint)
 
HRESULT MessageBox ([in] LPCWSTR lpszText, [in] LPCWSTR lpszTitle, [in] UINT fuStyle, [out] int *piRetval)
 
HRESULT QueryConsoleVerb ([out] LPCONSOLEVERB *ppConsoleVerb)
 
HRESULT SelectScopeItem ([in] HSCOPEITEM hScopeItem)
 
HRESULT GetMainWindow ([out] HWND *phwnd)
 
HRESULT NewWindow ([in] HSCOPEITEM hScopeItem, [in] unsigned long lOptions)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 
HRESULT Expand ([in] HSCOPEITEM hItem)
 
HRESULT AddExtension ([in] HSCOPEITEM hItem, [in] LPCLSID lpClsid)
 
HRESULT InsertItem ([in, out] LPSCOPEDATAITEM item)
 
HRESULT DeleteItem ([in] HSCOPEITEM hItem, [in] long fDeleteThis)
 
HRESULT SetItem ([in] LPSCOPEDATAITEM item)
 
HRESULT GetItem ([in, out] LPSCOPEDATAITEM item)
 
HRESULT GetChildItem ([in] HSCOPEITEM item, [out] HSCOPEITEM *pItemChild, [out] long *plCookie)
 
HRESULT GetNextItem ([in] HSCOPEITEM item, [out] HSCOPEITEM *pItemNext, [out] long *plCookie)
 
HRESULT GetParentItem ([in] HSCOPEITEM item, [out] HSCOPEITEM *pItemParent, [out] long *plCookie)
 

Static Public Member Functions

static CWndClassInfo & GetWndClassInfo ()
 
static LPCWSTR GetWndClassName ()
 
static HRESULT ParseView (CMainWnd *pMainWnd, MscFile *mscFile, IXMLDOMElement *pViewElement)
 

Public Attributes

UINT m_ViewId
 

Private Member Functions

VOID UpdateLayout ()
 
VOID AddTreeViewItemRecursive (HTREEITEM hParentTreeItem, CSnapin *Node)
 
VOID UpdateTreeView ()
 

Static Private Member Functions

static HRESULT ParseViewAttributes (MscFile *mscFile, IXMLDOMElement *pViewElement, UINT *puViewID, INT *piScopePanelWidth, INT *piActionsPanelWidth)
 

Private Attributes

CMainWnd * m_MainWnd
 
CTreeView m_TreeView
 
CListView m_ListView
 
CStatusBar m_StatusBar
 
CWindow m_DescriptionBar
 
CActionWnd m_ActionsPane
 
int m_iTreeViewWidth
 
int m_iActionsPaneWidth
 
int m_iSplitterWidth
 
int m_iSplitOffset
 
SPLITTER_SIDE m_iSplitSide
 
int m_iStatusBarHeight
 
BOOL m_bTreeViewVisible
 
BOOL m_bActionsPaneVisible
 
BOOL m_bStatusBarVisible
 
BOOL m_bDescriptionBarVisible
 
HMENU m_hMenuTreeView
 
LISTVIEW_MODE m_ListViewMode
 
CSnapin * m_ViewRootNode
 
CSnapin * m_ViewSelectedNode
 

Additional Inherited Members

- Public Types inherited from IUnknown
typedef IUnknown * LPUNKNOWN
 

Detailed Description

Definition at line 21 of file CConsoleWnd.h.

Constructor & Destructor Documentation

◆ CConsoleWnd()

CConsoleWnd::CConsoleWnd ( CMainWnd *  MainWnd,
CSnapin *  RootNode,
CSnapin *  SelectedNode = NULL 
)

Definition at line 14 of file CConsoleWnd.cpp.

15{
16 m_MainWnd = MainWnd;
18 m_ViewSelectedNode = SelectedNode ? SelectedNode : RootNode;
20 m_ViewId = 0;
21
28
29 m_pfnSuperWindowProc = DefMDIChildProc;
30
31 m_hMenuTreeView = LoadMenu(_AtlBaseModule.GetModuleInstance(), MAKEINTRESOURCE(IDM_TREEVIEW_CONTEXT));
32
33 if (!m_thunk.Init(NULL, NULL))
34 return;
35 _AtlWinModule.AddCreateWndData(&m_thunk.cd, this);
36}
@ ListView_Detail
Definition: precomp.h:54
#define IDM_TREEVIEW_CONTEXT
Definition: resource.h:25
LISTVIEW_MODE m_ListViewMode
Definition: CConsoleWnd.h:46
CSnapin * m_ViewRootNode
Definition: CConsoleWnd.h:48
UINT m_ViewId
Definition: CConsoleWnd.h:52
int m_iActionsPaneWidth
Definition: CConsoleWnd.h:34
BOOL m_bTreeViewVisible
Definition: CConsoleWnd.h:39
BOOL m_bStatusBarVisible
Definition: CConsoleWnd.h:41
CMainWnd * m_MainWnd
Definition: CConsoleWnd.h:27
BOOL m_bActionsPaneVisible
Definition: CConsoleWnd.h:40
CSnapin * m_ViewSelectedNode
Definition: CConsoleWnd.h:49
BOOL m_bDescriptionBarVisible
Definition: CConsoleWnd.h:42
int m_iTreeViewWidth
Definition: CConsoleWnd.h:33
HMENU m_hMenuTreeView
Definition: CConsoleWnd.h:44
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
PCONFIGURATION_COMPONENT_DATA RootNode
Definition: macharm.c:19
#define MAKEINTRESOURCE(i)
Definition: ntverrsrc.c:25
#define LoadMenu
Definition: winuser.h:5983
#define DefMDIChildProc
Definition: ros2win.h:33

◆ ~CConsoleWnd()

CConsoleWnd::~CConsoleWnd ( )

Definition at line 38 of file CConsoleWnd.cpp.

39{
41}
BOOL WINAPI DestroyMenu(_In_ HMENU)

Member Function Documentation

◆ AddExtension()

STDMETHODIMP CConsoleWnd::AddExtension ( HSCOPEITEM  hItem,
LPCLSID  lpClsid 
)

Implements IConsoleNameSpace2.

Definition at line 1135 of file CConsoleWnd.cpp.

1136{
1137 DPRINT("%s()\n", __FUNCTION__);
1138 __debugbreak();
1139 return E_NOTIMPL;
1140}
#define E_NOTIMPL
Definition: ddrawi.h:99
#define __FUNCTION__
Definition: types.h:116
void __cdecl __debugbreak(void)
Definition: intrin_ppc.h:698
#define DPRINT
Definition: sndvol32.h:73

◆ AddTreeViewItemRecursive()

VOID CConsoleWnd::AddTreeViewItemRecursive ( HTREEITEM  hParentTreeItem,
CSnapin *  Node 
)
private

Definition at line 403 of file CConsoleWnd.cpp.

404{
405 HTREEITEM hTreeItem;
406
407 hTreeItem = m_TreeView.AddItem(hParentTreeItem,
408 (LPWSTR)Node->DisplayName().GetString(),
409 Node->CacheEntry()->NormalImageIndex(),
410 Node->CacheEntry()->OpenImageIndex(),
411 (LPARAM)Node);
412 if (hTreeItem)
413 {
414 POSITION pos = Node->m_SubNodes.GetHeadPosition();
415 while (pos)
416 {
417 CSnapin *ChildNode = (CSnapin*)Node->m_SubNodes.GetNext(pos);
418 if (ChildNode)
419 AddTreeViewItemRecursive(hTreeItem, ChildNode);
420 }
421
422 m_TreeView.Expand(hTreeItem, TVE_EXPAND);
423
425 m_TreeView.SelectItem(hTreeItem);
426 }
427}
VOID AddTreeViewItemRecursive(HTREEITEM hParentTreeItem, CSnapin *Node)
CTreeView m_TreeView
Definition: CConsoleWnd.h:28
BOOL Expand(HTREEITEM item, DWORD action)
Definition: rosctrls.h:614
BOOL SelectItem(HTREEITEM item, DWORD action=TVGN_CARET)
Definition: rosctrls.h:619
HTREEITEM AddItem(HTREEITEM hParent, LPWSTR lpText, INT Image, INT SelectedImage, LPARAM lParam)
Definition: rosctrls.h:513
LONG_PTR LPARAM
Definition: minwindef.h:175
#define TVE_EXPAND
Definition: commctrl.h:3428
uint16_t * LPWSTR
Definition: typedefs.h:56
Definition: dlist.c:348

Referenced by AddTreeViewItemRecursive(), and UpdateTreeView().

◆ DeleteItem()

STDMETHODIMP CConsoleWnd::DeleteItem ( HSCOPEITEM  hItem,
LONG  fDeleteThis 
)

Implements IConsoleNameSpace.

Definition at line 1075 of file CConsoleWnd.cpp.

1076{
1077 DPRINT("%s()\n", __FUNCTION__);
1078 __debugbreak();
1079 return E_NOTIMPL;
1080}

◆ Expand() [1/2]

STDMETHODIMP CConsoleWnd::Expand ( HSCOPEITEM  hItem)

Implements IConsoleNameSpace2.

Definition at line 1127 of file CConsoleWnd.cpp.

1128{
1129 DPRINT("%s()\n", __FUNCTION__);
1130 __debugbreak();
1131 return E_NOTIMPL;
1132}

◆ Expand() [2/2]

STDMETHODIMP CConsoleWnd::Expand ( HSCOPEITEM  hItem,
BOOL  bExpand 
)

Implements IConsole2.

Definition at line 1040 of file CConsoleWnd.cpp.

1041{
1042 DPRINT("%s()\n", __FUNCTION__);
1043 __debugbreak();
1044 return E_NOTIMPL;
1045}

◆ GetChildItem()

STDMETHODIMP CConsoleWnd::GetChildItem ( HSCOPEITEM  item,
HSCOPEITEM *  pItemChild,
LONG *  plCookie 
)

Implements IConsoleNameSpace.

Definition at line 1099 of file CConsoleWnd.cpp.

1100{
1101 DPRINT("%s()\n", __FUNCTION__);
1102 __debugbreak();
1103 return E_NOTIMPL;
1104}

◆ GetItem()

STDMETHODIMP CConsoleWnd::GetItem ( LPSCOPEDATAITEM  item)

Implements IConsoleNameSpace.

Definition at line 1091 of file CConsoleWnd.cpp.

1092{
1093 DPRINT("%s()\n", __FUNCTION__);
1094 __debugbreak();
1095 return E_NOTIMPL;
1096}

◆ GetListViewMode()

LISTVIEW_MODE CConsoleWnd::GetListViewMode ( )

Definition at line 581 of file CConsoleWnd.cpp.

582{
583 return m_ListViewMode;
584}

◆ GetMainWindow()

STDMETHODIMP CConsoleWnd::GetMainWindow ( HWND *  phwnd)

Implements IConsole.

Definition at line 1022 of file CConsoleWnd.cpp.

1023{
1024 DPRINT("%s()\n", __FUNCTION__);
1025 __debugbreak();
1026 return E_NOTIMPL;
1027}

◆ GetNextItem()

STDMETHODIMP CConsoleWnd::GetNextItem ( HSCOPEITEM  item,
HSCOPEITEM *  pItemNext,
LONG *  plCookie 
)

Implements IConsoleNameSpace.

Definition at line 1107 of file CConsoleWnd.cpp.

1108{
1109 DPRINT("%s()\n", __FUNCTION__);
1110 __debugbreak();
1111 return E_NOTIMPL;
1112}

◆ GetParentItem()

STDMETHODIMP CConsoleWnd::GetParentItem ( HSCOPEITEM  item,
HSCOPEITEM *  pItemParent,
LONG *  plCookie 
)

Implements IConsoleNameSpace.

Definition at line 1115 of file CConsoleWnd.cpp.

1116{
1117 DPRINT("%s()\n", __FUNCTION__);
1118 __debugbreak();
1119 return E_NOTIMPL;
1120}

◆ GetWndClassInfo()

static CWndClassInfo & CConsoleWnd::GetWndClassInfo ( )
inlinestatic

Definition at line 76 of file CConsoleWnd.h.

77 {
78 static CWndClassInfo wc =
79 {
80 {
81 /* cbSize= */sizeof(WNDCLASSEX),
82 /* style= */CS_HREDRAW | CS_VREDRAW,
83 /* lpfnWndProc= */StartWindowProc,
84 /* cbClsExtra= */0,
85 /* cbWndExtra= */sizeof(CConsoleWnd*),
86 /* hInstance= */NULL,
87 /* hIcon= */LoadIcon(_AtlBaseModule.GetModuleInstance(), MAKEINTRESOURCE(IDI_MAINAPP)),
88 /* hCursor= */NULL,
89 /* hbrBackground= */(HBRUSH)(COLOR_3DFACE + 1),
90 /* lpszMenuName= */NULL,
91 /* lpszClassName= */L"MMCChildFrm",
92 /* hIconSm= */LoadIcon(_AtlBaseModule.GetModuleInstance(), MAKEINTRESOURCE(IDI_MAINAPP))
93 },
94 NULL, NULL, IDC_SIZEWE, TRUE, 0, L""
95 };
96 return wc;
97 }
#define IDI_MAINAPP
Definition: resource.h:6
#define L(x)
Definition: resources.c:13
_ATL_WNDCLASSINFOW CWndClassInfo
Definition: atlwin.h:70
#define CS_VREDRAW
Definition: winuser.h:666
#define CS_HREDRAW
Definition: winuser.h:661
#define LoadIcon
Definition: winuser.h:5979
WNDCLASSEXA WNDCLASSEX
Definition: winuser.h:5885
#define IDC_SIZEWE
Definition: winuser.h:702
#define COLOR_3DFACE
Definition: winuser.h:940

Referenced by GetWndClassName(), and CMMCModule::PreMessageLoop().

◆ GetWndClassName()

static LPCWSTR CConsoleWnd::GetWndClassName ( )
inlinestatic

Definition at line 99 of file CConsoleWnd.h.

100 {
101 return GetWndClassInfo().m_wc.lpszClassName;
102 }
static CWndClassInfo & GetWndClassInfo()
Definition: CConsoleWnd.h:76

Referenced by CMainWnd::CreateView(), OnActionNewWindow(), and ParseView().

◆ InsertItem()

STDMETHODIMP CConsoleWnd::InsertItem ( LPSCOPEDATAITEM  item)

Implements IConsoleNameSpace.

Definition at line 1067 of file CConsoleWnd.cpp.

1068{
1069 DPRINT("%s()\n", __FUNCTION__);
1070 __debugbreak();
1071 return E_NOTIMPL;
1072}

◆ IsActionsPaneVisible()

BOOL CConsoleWnd::IsActionsPaneVisible ( )

Definition at line 476 of file CConsoleWnd.cpp.

477{
479}

Referenced by SaveView().

◆ IsDescriptionBarVisible()

BOOL CConsoleWnd::IsDescriptionBarVisible ( )

Definition at line 463 of file CConsoleWnd.cpp.

464{
466}

Referenced by SaveView().

◆ IsStatusBarVisible()

BOOL CConsoleWnd::IsStatusBarVisible ( )

Definition at line 450 of file CConsoleWnd.cpp.

451{
452 return m_bStatusBarVisible;
453}

Referenced by SaveView().

◆ IsTaskpadViewPreferred()

STDMETHODIMP CConsoleWnd::IsTaskpadViewPreferred ( )

Implements IConsole2.

Definition at line 1048 of file CConsoleWnd.cpp.

1049{
1050 DPRINT("%s()\n", __FUNCTION__);
1051 __debugbreak();
1052 return E_NOTIMPL;
1053}

◆ IsTreeViewVisible()

BOOL CConsoleWnd::IsTreeViewVisible ( )

Definition at line 437 of file CConsoleWnd.cpp.

438{
439 return m_bTreeViewVisible;
440}

Referenced by SaveView().

◆ MessageBox()

STDMETHODIMP CConsoleWnd::MessageBox ( LPCWSTR  lpszText,
LPCWSTR  lpszTitle,
UINT  fuStyle,
int *  piRetval 
)

Implements IConsole.

Definition at line 998 of file CConsoleWnd.cpp.

999{
1000 DPRINT("%s()\n", __FUNCTION__);
1001 __debugbreak();
1002 return E_NOTIMPL;
1003}

◆ NewWindow()

STDMETHODIMP CConsoleWnd::NewWindow ( HSCOPEITEM  hScopeItem,
ULONG  lOptions 
)

Definition at line 1030 of file CConsoleWnd.cpp.

1031{
1032 DPRINT("%s()\n", __FUNCTION__);
1033 __debugbreak();
1034 return E_NOTIMPL;
1035}

◆ OnActionNewWindow()

LRESULT CConsoleWnd::OnActionNewWindow ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL &  bHandled 
)

Definition at line 344 of file CConsoleWnd.cpp.

345{
346 HTREEITEM hTreeItem = m_TreeView.GetSelection();
347 if (!hTreeItem)
348 return 0;
349
350 CSnapin *Snapin = (CSnapin *)m_TreeView.GetItemData(hTreeItem);
351 if (!Snapin)
352 return 0;
353
355 HWND hChild;
356
357 mcs.szTitle = Snapin->DisplayName();
359 mcs.hOwner = _AtlBaseModule.GetModuleInstance();
360 mcs.x = mcs.cx = CW_USEDEFAULT;
361 mcs.y = mcs.cy = CW_USEDEFAULT;
362 mcs.style = MDIS_ALLCHILDSTYLES;
363
364 CConsoleWnd* child = new CConsoleWnd(m_MainWnd, Snapin);
365 BOOL bMaximized = FALSE;
366 HWND hWndOld = (HWND)m_MainWnd->m_MDIClient.SendMessage(WM_MDIGETACTIVE, 0, (LPARAM)&bMaximized);
367 mcs.lParam = bMaximized || !hWndOld;
369 if (!hChild)
370 {
371 delete child;
372 return 0;
373 }
374
378 m_MainWnd->UpdateViewMenu(child->GetListViewMode());
379
380 return 0;
381}
static struct myctx * mcs
Definition: adnstest.c:53
LRESULT SendMessage(UINT message, WPARAM wParam=0, LPARAM lParam=0)
Definition: atlwin.h:1116
static LPCWSTR GetWndClassName()
Definition: CConsoleWnd.h:99
VOID UpdateLayout()
Definition: CMainWnd.cpp:723
VOID UpdateMenu()
Definition: CMainWnd.cpp:749
VOID UpdateViewMenu(LISTVIEW_MODE ListViewMode)
Definition: CMainWnd.cpp:837
CWindow m_MDIClient
Definition: CMainWnd.h:55
VOID UpdateTitle()
Definition: CMainWnd.cpp:763
const CAtlString & DisplayName() const
Definition: CSnapin.cpp:41
DWORD_PTR GetItemData(HTREEITEM item)
Definition: rosctrls.h:600
HTREEITEM GetSelection()
Definition: rosctrls.h:609
HANDLE HWND
Definition: compat.h:19
unsigned int BOOL
Definition: ntddk_ex.h:94
static HTREEITEM hChild
Definition: treeview.c:383
static HWND child
Definition: cursoricon.c:298
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
#define WM_MDICREATE
Definition: winuser.h:1840
#define MDIS_ALLCHILDSTYLES
Definition: winuser.h:253
#define CW_USEDEFAULT
Definition: winuser.h:225
#define WM_MDIGETACTIVE
Definition: winuser.h:1849

◆ OnActionRename()

LRESULT CConsoleWnd::OnActionRename ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL &  bHandled 
)

Definition at line 384 of file CConsoleWnd.cpp.

385{
387 return 0;
388}
HWND EditLabel(HTREEITEM i)
Definition: rosctrls.h:580

◆ OnActivate()

LRESULT CConsoleWnd::OnActivate ( UINT  nMessage,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 336 of file CConsoleWnd.cpp.

337{
340 return 0;
341}
VOID UpdateToolbuttons(BOOL bTreeViewVisible, BOOL bActionsPaneVisible)
Definition: CMainWnd.cpp:853

◆ OnContextMenu()

LRESULT CConsoleWnd::OnContextMenu ( UINT  nMessage,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 214 of file CConsoleWnd.cpp.

215{
216 POINT pt;
217
218 if ((HWND)wParam == m_TreeView.m_hWnd)
219 {
220 TVHITTESTINFO hti;
221 int nPos = 0;
222
223 pt.x = (short) LOWORD(lParam);
224 pt.y = (short) HIWORD(lParam);
225
226 if (pt.x == -1 && pt.y == -1)
227 {
228 RECT rc;
230 if (hti.hItem != NULL)
231 {
232 TreeView_GetItemRect(m_TreeView.m_hWnd, hti.hItem, &rc, TRUE);
233 pt.x = rc.left + 8;
234 pt.y = rc.top + 8;
235 m_TreeView.ClientToScreen(&pt);
236 hti.flags = TVHT_ONITEM;
237 }
238 else
239 {
240 hti.flags = 0;
241 }
242 }
243 else
244 {
245 hti.pt.x = pt.x;
246 hti.pt.y = pt.y;
247 m_TreeView.ScreenToClient(&hti.pt);
248 m_TreeView.HitTest(&hti);
249
250 if (hti.hItem)
251 {
252 if (hti.hItem == m_TreeView.GetSelection())
253 {
254 nPos = 1;
255 }
256 }
257 }
258
259 if (hti.flags & TVHT_ONITEM)
260 {
261 HMENU hContextMenu = GetSubMenu(m_hMenuTreeView, nPos);
262 if (nPos == 1)
263 {
264 CheckMenuRadioItem(hContextMenu,
269 }
270 TrackPopupMenu(hContextMenu, TPM_RIGHTBUTTON, pt.x, pt.y, 0, this->m_hWnd, NULL);
271 }
272 }
273 return 0;
274}
UINT ViewModeToCmdId(LISTVIEW_MODE ListViewMode)
Definition: misc.cpp:11
#define IDM_VIEW_LARGE_ICONS
Definition: resource.h:45
#define IDM_VIEW_DETAILS
Definition: resource.h:48
HTREEITEM HitTest(TVHITTESTINFO *phtInfo)
Definition: rosctrls.h:595
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
Definition: typeof.h:94
#define pt(x, y)
Definition: drawing.c:79
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
#define LOWORD(l)
Definition: pedump.c:82
#define TVHT_ONITEM
Definition: commctrl.h:3532
#define TreeView_GetItemRect(hwnd, hitem, prc, code)
Definition: commctrl.h:3434
#define MF_BYCOMMAND
Definition: winuser.h:202
#define TPM_RIGHTBUTTON
Definition: winuser.h:2416
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
BOOL WINAPI CheckMenuRadioItem(_In_ HMENU, _In_ UINT, _In_ UINT, _In_ UINT, _In_ UINT)
BOOL WINAPI TrackPopupMenu(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _Reserved_ int, _In_ HWND, _Reserved_ LPCRECT)
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
HTREEITEM hItem
Definition: commctrl.h:3526
#define HIWORD(l)
Definition: typedefs.h:247

◆ OnCreate()

LRESULT CConsoleWnd::OnCreate ( UINT  nMessage,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 44 of file CConsoleWnd.cpp.

45{
46 SetWindowLongPtr(0, (LONG_PTR)this);
47
50
51 RECT Rect;
53 if (m_iTreeViewWidth == 0)
54 m_iTreeViewWidth = (Rect.right - Rect.left) / 4;
55 if (m_iActionsPaneWidth == 0)
56 m_iActionsPaneWidth = (Rect.right - Rect.left) / 4;
57
58 m_StatusBar.Create(this->m_hWnd, NULL);
59 m_StatusBar.GetClientRect(&Rect);
60 m_iStatusBarHeight = Rect.bottom - Rect.top;
61
62 Rect.right = 0;
63 Rect.left = 0;
64 Rect.top = 0;
65 Rect.bottom = 0;
66 m_DescriptionBar.Create(L"Static", this->m_hWnd, &Rect, L"Description",
70
71 m_TreeView.Create(this->m_hWnd,
73
75
77
78 CAtlString Column0Name(MAKEINTRESOURCE(IDS_COLUMN0)); /* FIXME */
79 m_ListView.InsertColumn(0, Column0Name.GetString(), LVCFMT_LEFT, DEFAULT_COLUMN0_WIDTH);
80
81 Rect.right = 0;
82 Rect.left = 0;
83 Rect.top = 0;
84 Rect.bottom = 0;
85 m_ActionsPane.Create(this->m_hWnd, &Rect, L"Actions", WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS, WS_EX_CLIENTEDGE);
86
88
90
91 LPMDICREATESTRUCT mdicreate = reinterpret_cast<LPMDICREATESTRUCT>(reinterpret_cast<LPCREATESTRUCT>(lParam)->lpCreateParams);
92 if (mdicreate->lParam)
94
96
97 return 0;
98}
#define DEFAULT_COLUMN0_WIDTH
Definition: CConsoleWnd.cpp:12
@ SPLITTER_NONE
Definition: CConsoleWnd.h:16
DWORD ViewModeToStyle(LISTVIEW_MODE ListViewMode)
Definition: misc.cpp:109
#define IDS_COLUMN0
Definition: resource.h:128
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
BOOL SetWindowText(LPCTSTR lpszString)
Definition: atlwin.h:1300
int m_iSplitterWidth
Definition: CConsoleWnd.h:35
SPLITTER_SIDE m_iSplitSide
Definition: CConsoleWnd.h:37
CListView m_ListView
Definition: CConsoleWnd.h:29
CActionWnd m_ActionsPane
Definition: CConsoleWnd.h:32
CWindow m_DescriptionBar
Definition: CConsoleWnd.h:31
VOID UpdateTreeView()
CStatusBar m_StatusBar
Definition: CConsoleWnd.h:30
int m_iStatusBarHeight
Definition: CConsoleWnd.h:38
int InsertColumn(int iCol, LV_COLUMN *pcol)
Definition: rosctrls.h:52
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
HIMAGELIST SnapinImageList()
Definition: CMainWnd.cpp:662
VOID RegisterView(CConsoleWnd *pView)
Definition: CMainWnd.cpp:674
HWND Create(HWND hwndParent, HMENU hMenu)
Definition: rosctrls.h:472
HIMAGELIST SetImageList(HIMAGELIST himl, int iImageList)
Definition: rosctrls.h:545
HWND Create(HWND hwndParent, DWORD dwStyles=0)
Definition: rosctrls.h:493
#define WS_CHILD
Definition: pedump.c:617
#define WS_VISIBLE
Definition: pedump.c:620
#define WS_CLIPSIBLINGS
Definition: pedump.c:618
#define TVSIL_NORMAL
Definition: commctrl.h:3448
#define TVS_SHOWSELALWAYS
Definition: commctrl.h:3257
#define TVS_HASLINES
Definition: commctrl.h:3253
#define LVCFMT_LEFT
Definition: commctrl.h:2603
#define TVS_EDITLABELS
Definition: commctrl.h:3255
#define WS_EX_STATICEDGE
Definition: winuser.h:403
#define WM_SYSCOMMAND
Definition: winuser.h:1769
#define SS_OWNERDRAW
Definition: winuser.h:352
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
#define PostMessage
Definition: winuser.h:5998
#define WS_EX_CLIENTEDGE
Definition: winuser.h:384
#define SC_MAXIMIZE
Definition: winuser.h:2624
#define SetWindowLongPtr
Definition: treelist.c:70

◆ OnDestroy()

LRESULT CConsoleWnd::OnDestroy ( UINT  nMessage,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 101 of file CConsoleWnd.cpp.

102{
104 m_MainWnd->PostMessage(WM_USER_CLOSE_CHILD, 0, 0);
105 return 0;
106}
#define WM_USER_CLOSE_CHILD
Definition: precomp.h:14
VOID UnregisterView(CConsoleWnd *pView)
Definition: CMainWnd.cpp:684

◆ OnDrawItem()

LRESULT CConsoleWnd::OnDrawItem ( UINT  nMessage,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 277 of file CConsoleWnd.cpp.

278{
280 WCHAR WindowText[256];
281
282 HBRUSH hBrush = GetSysColorBrush(COLOR_3DDKSHADOW);
283 FillRect(lpDrawItem->hDC, &lpDrawItem->rcItem, hBrush);
284
286
287 ::GetWindowTextW(lpDrawItem->hwndItem, WindowText, ARRAYSIZE(WindowText));
288 ::SetBkMode(lpDrawItem->hDC, TRANSPARENT);
289
290 lpDrawItem->rcItem.left += 4;
291 DrawTextW(lpDrawItem->hDC, (LPCWSTR)WindowText, -1, &lpDrawItem->rcItem,
293
294 return TRUE;
295}
#define ARRAYSIZE(a)
Definition: cat.c:25
INT WINAPI DrawTextW(HDC hdc, LPCWSTR str, INT count, LPRECT rect, UINT flags)
Definition: defwnd.c:16
short WCHAR
Definition: pedump.c:58
struct tagDRAWITEMSTRUCT * LPDRAWITEMSTRUCT
DWORD WINAPI GetSysColor(_In_ int)
#define DT_NOPREFIX
Definition: winuser.h:537
#define DT_END_ELLIPSIS
Definition: winuser.h:529
HBRUSH WINAPI GetSysColorBrush(_In_ int)
#define DT_SINGLELINE
Definition: winuser.h:540
#define COLOR_3DDKSHADOW
Definition: winuser.h:950
#define DT_LEFT
Definition: winuser.h:534
#define DT_MODIFYSTRING
Definition: winuser.h:535
#define DT_VCENTER
Definition: winuser.h:543
#define COLOR_3DHILIGHT
Definition: winuser.h:948
const uint16_t * LPCWSTR
Definition: typedefs.h:57
int WINAPI GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount)
Definition: window.c:1382
#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

◆ OnLButtonDown()

LRESULT CConsoleWnd::OnLButtonDown ( UINT  nMessage,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 116 of file CConsoleWnd.cpp.

117{
118 RECT rect;
119 int xPos = (INT)(WORD)LOWORD(lParam);
120
122 int iClientWidth = rect.right - rect.left;
123
125 {
128 }
129 else if ((m_bActionsPaneVisible) && (xPos >= (iClientWidth - m_iActionsPaneWidth - m_iSplitterWidth)) && (xPos <= (iClientWidth - m_iActionsPaneWidth)))
130 {
131 m_iSplitOffset = xPos - (iClientWidth - m_iActionsPaneWidth - m_iSplitterWidth);
133 }
134 else
135 {
137 }
138 SetCapture();
139 return 0;
140}
@ SPLITTER_LEFT
Definition: CConsoleWnd.h:17
@ SPLITTER_RIGHT
Definition: CConsoleWnd.h:18
int m_iSplitOffset
Definition: CConsoleWnd.h:36
RECT rect
Definition: combotst.c:67
unsigned short WORD
Definition: ntddk_ex.h:93
#define INT
Definition: polytest.cpp:20
HWND WINAPI SetCapture(_In_ HWND hWnd)
long right
Definition: dcommon.idl:29

◆ OnLButtonUp()

LRESULT CConsoleWnd::OnLButtonUp ( UINT  nMessage,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 143 of file CConsoleWnd.cpp.

144{
147 return 0;
148}
BOOL WINAPI ReleaseCapture(void)
Definition: message.c:2890

◆ OnMouseMove()

LRESULT CConsoleWnd::OnMouseMove ( UINT  nMessage,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 151 of file CConsoleWnd.cpp.

152{
153 if ((GetCapture() == m_hWnd) && (m_iSplitSide != SPLITTER_NONE))
154 {
155 RECT rect;
156
158 int iClientWidth = rect.right - rect.left;
159
161 {
163
164 m_TreeView.GetWindowRect(&rect);
165 ::MapWindowPoints(HWND_DESKTOP, m_hWnd, (LPPOINT)&rect, sizeof(RECT) / sizeof(POINT));
166
168
169 m_ListView.GetWindowRect(&rect);
170 ::MapWindowPoints(HWND_DESKTOP, m_hWnd, (LPPOINT)&rect, sizeof(RECT) / sizeof(POINT));
171
172 int xWidth = iClientWidth - (m_iTreeViewWidth + m_iSplitterWidth);
175
177
179 ::MapWindowPoints(HWND_DESKTOP, m_hWnd, (LPPOINT)&rect, sizeof(RECT) / sizeof(POINT));
180
182 }
183 else if (m_iSplitSide == SPLITTER_RIGHT)
184 {
185 int xPos = (INT)(WORD)LOWORD(lParam) - m_iSplitOffset;
186 m_iActionsPaneWidth = iClientWidth - (xPos + m_iSplitterWidth);
187
188 m_ListView.GetWindowRect(&rect);
189 ::MapWindowPoints(HWND_DESKTOP, m_hWnd, (LPPOINT)&rect, sizeof(RECT) / sizeof(POINT));
190
191 int xWidth = iClientWidth - (m_iActionsPaneWidth + m_iSplitterWidth);
193 xWidth -= rect.left;
194
195 m_ListView.MoveWindow(rect.left, rect.top, xWidth, rect.bottom - rect.top);
196
198 ::MapWindowPoints(HWND_DESKTOP, m_hWnd, (LPPOINT)&rect, sizeof(RECT) / sizeof(POINT));
199
201
202 m_ActionsPane.GetWindowRect(&rect);
203 ::MapWindowPoints(HWND_DESKTOP, m_hWnd, (LPPOINT)&rect, sizeof(RECT) / sizeof(POINT));
204
205 rect.left = iClientWidth - m_iActionsPaneWidth;
207 }
208 }
209
210 return 0;
211}
BOOL GetWindowRect(LPRECT lpRect) const
Definition: atlwin.h:816
BOOL MoveWindow(int x, int y, int nWidth, int nHeight, BOOL bRepaint=TRUE)
Definition: atlwin.h:1026
HWND WINAPI GetCapture(void)
Definition: message.c:2881
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
#define HWND_DESKTOP
Definition: winuser.h:1220
long bottom
Definition: dcommon.idl:29

◆ OnNotify()

LRESULT CConsoleWnd::OnNotify ( UINT  nMessage,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 298 of file CConsoleWnd.cpp.

299{
300
301 NMHDR *phdr = (NMHDR *)lParam;
302 switch (phdr->code)
303 {
305 return FALSE;
306
307 case TVN_ENDLABELEDIT:
308 {
310 LPWSTR pszText = pNM->item.pszText;
311 CSnapin *Snapin = (CSnapin *)pNM->item.lParam;
312 Snapin->SetDisplayName(pszText);
313 TreeView_SetItem(pNM->hdr.hwndFrom, &pNM->item);
315 }
316 return FALSE;
317
318 case TVN_SELCHANGED:
319 {
320 LPNMTREEVIEW pNmTreeview = (LPNMTREEVIEW)lParam;
321 CSnapin *OldSnapin = (CSnapin *)pNmTreeview->itemOld.lParam;
322 CSnapin *NewSnapin = (CSnapin *)pNmTreeview->itemNew.lParam;
323
324 m_DescriptionBar.SetWindowText(NewSnapin->DisplayName());
325 m_MainWnd->UpdateAboutSnapinMenu((NewSnapin == m_MainWnd->GetRootSnapin()) ? NULL : NewSnapin);
326 if ((OldSnapin == m_MainWnd->GetRootSnapin()) != (NewSnapin == m_MainWnd->GetRootSnapin()))
328 }
329 return FALSE;
330 }
331
332 return 0;
333}
VOID UpdateUpToolButton(BOOL bShow)
Definition: CMainWnd.cpp:847
VOID UpdateAboutSnapinMenu(CSnapin *Snapin)
Definition: CMainWnd.cpp:809
CSnapin * GetRootSnapin()
Definition: CMainWnd.cpp:668
void SetDisplayName(LPWSTR pszName)
Definition: CSnapin.cpp:43
#define TVN_SELCHANGED
Definition: commctrl.h:3740
#define TVN_BEGINLABELEDIT
Definition: commctrl.h:3748
#define LPNMTREEVIEW
Definition: commctrl.h:3648
#define TVN_ENDLABELEDIT
Definition: commctrl.h:3749
#define TV_DISPINFO
Definition: commctrl.h:3668
#define TreeView_SetItem(hwnd, pitem)
Definition: commctrl.h:3502
UINT code
Definition: winuser.h:3267

◆ OnSize()

LRESULT CConsoleWnd::OnSize ( UINT  nMessage,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 109 of file CConsoleWnd.cpp.

110{
111 UpdateLayout();
112 return DefMDIChildProc(this->m_hWnd, WM_SIZE, wParam, lParam);
113}
VOID UpdateLayout()
#define WM_SIZE
Definition: winuser.h:1639

◆ OnViewCustomize()

LRESULT CConsoleWnd::OnViewCustomize ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL &  bHandled 
)

Definition at line 397 of file CConsoleWnd.cpp.

398{
399 return m_MainWnd->OnViewCustomize(wNotifyCode, wID, hWndCtl, bHandled);
400}
LRESULT OnViewCustomize(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:422

◆ OnViewMode()

LRESULT CConsoleWnd::OnViewMode ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL &  bHandled 
)

Definition at line 391 of file CConsoleWnd.cpp.

392{
393 return m_MainWnd->OnViewMode(wNotifyCode, wID, hWndCtl, bHandled);
394}
LRESULT OnViewMode(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:405

◆ ParseView()

HRESULT CConsoleWnd::ParseView ( CMainWnd *  pMainWnd,
MscFile *  mscFile,
IXMLDOMElement *  pViewElement 
)
static

Definition at line 689 of file CConsoleWnd.cpp.

693{
694 IXMLDOMNodeList *pChildList = NULL;
695 IXMLDOMNode *nextItem;
697 BSTR NodeName = NULL;
698 CSnapin *pRootSnapin = NULL, *pSelectedSnapin = NULL;
699
701 HWND hChild;
702 HWND hWndOld;
703 BOOL bMaximized;
704 CConsoleWnd *pConsoleWnd = NULL;
705
706 UINT uViewId = 0;
707 INT iScopePanelWidth = 0;
708 INT iActionsPanelWidth = 0;
709 LISTVIEW_MODE ListViewMode = ListView_Detail;
710 BOOL bScopePaneVisible = FALSE;
711 BOOL bActionsPaneVisible = FALSE;
712 BOOL bDescriptionBarVisible = FALSE;
713 INT iColumn0Width = DEFAULT_COLUMN0_WIDTH;
714 HRESULT hr = S_OK;
715
716 ParseViewAttributes(mscFile, pViewElement, &uViewId, &iScopePanelWidth, &iActionsPanelWidth);
717
718 hr = pViewElement->get_childNodes(&pChildList);
719 if (FAILED(hr))
720 goto done;
721
722 for (;;)
723 {
724 hr = pChildList->nextNode(&nextItem);
725 if (hr == S_FALSE)
726 {
727 hr = S_OK;
728 break;
729 }
730
731 hr = nextItem->get_nodeType(&NodeType);
732 if (hr == S_OK)
733 {
734 NodeName = NULL;
735 hr = nextItem->get_baseName(&NodeName);
736 if (hr == S_OK)
737 {
738 if (NodeType == NODE_ELEMENT)
739 {
740 if (_wcsicmp(NodeName, L"BookMark") == 0)
741 {
742 VARIANT Name, NodeID;
743
745 VariantInit(&NodeID);
746
747 hr = mscFile->GetAttribute((IXMLDOMElement *)nextItem, (LPWSTR)L"Name", &Name);
748 if (hr == S_OK)
749 {
750 hr = mscFile->GetAttribute((IXMLDOMElement *)nextItem, (LPWSTR)L"NodeID", &NodeID);
751 if (hr == S_OK)
752 {
753 PWSTR ptr = NULL;
754 UINT uNodeId = wcstoul(V_BSTR(&NodeID), &ptr, 10);
755 if (uNodeId != 0)
756 {
757 CSnapin *pSnapin = pMainWnd->m_TempNodeMap->Lookup(uNodeId);
758 if (pSnapin)
759 {
760 if (_wcsicmp(V_BSTR(&Name), L"RootNode") == 0)
761 pRootSnapin = pSnapin;
762 else if (_wcsicmp(V_BSTR(&Name), L"SelectedNode") == 0)
763 pRootSnapin = pSnapin;
764 }
765 }
766 }
767 }
768
770 VariantClear(&NodeID);
771 }
772 else if (_wcsicmp(NodeName, L"ViewOptions") == 0)
773 {
774 VARIANT ViewMode, ScopePane, ActionsPane;
775 VARIANT DescriptionBar, Column0Width;
776
777 VariantInit(&ViewMode);
778 VariantInit(&ScopePane);
779 VariantInit(&ActionsPane);
780 VariantInit(&DescriptionBar);
781 VariantInit(&Column0Width);
782
783 /* Attribut ViewMode="Report" */
784 hr = mscFile->GetAttribute((IXMLDOMElement *)nextItem, (LPWSTR)L"ViewMode", &ViewMode);
785 if (hr == S_OK)
786 {
787 ListViewMode = StringToViewMode(V_BSTR(&ViewMode));
788 }
789
790 /* Attribut ScopePaneVisible="true" */
791 hr = mscFile->GetAttribute((IXMLDOMElement *)nextItem, (LPWSTR)L"ScopePaneVisible", &ScopePane);
792 if (hr == S_OK)
793 {
794 bScopePaneVisible = StringToBool(V_BSTR(&ScopePane));
795 }
796
797 /* Attribut ActionsPaneVisible="true" */
798 hr = mscFile->GetAttribute((IXMLDOMElement *)nextItem, (LPWSTR)L"ActionsPaneVisible", &ActionsPane);
799 if (hr == S_OK)
800 {
801 bActionsPaneVisible = StringToBool(V_BSTR(&ActionsPane));
802 }
803
804 /* Attribut DescriptionBarVisible="false" */
805 hr = mscFile->GetAttribute((IXMLDOMElement *)nextItem, (LPWSTR)L"DescriptionBarVisible", &DescriptionBar);
806 if (hr == S_OK)
807 {
808 bDescriptionBarVisible = StringToBool(V_BSTR(&DescriptionBar));
809 }
810
811 /* Attribut DefaultColumn0Width="200" */
812 hr = mscFile->GetAttribute((IXMLDOMElement *)nextItem, (LPWSTR)L"DefaultColumn0Width", &Column0Width);
813 if (hr == S_OK)
814 {
815 iColumn0Width = _wtoi(V_BSTR(&Column0Width));
816 }
817
818 /* FIXME: Attribut DefaultColumn1Width="0" */
819
820 VariantClear(&ViewMode);
821 VariantClear(&ScopePane);
822 VariantClear(&ActionsPane);
823 VariantClear(&DescriptionBar);
824 VariantClear(&Column0Width);
825 }
826 }
827
828 SysFreeString(NodeName);
829 NodeName = NULL;
830 }
831 }
832
833 nextItem->Release();
834 }
835
836 if (FAILED(hr))
837 goto done;
838
839 /* Create the view */
840
841 mcs.szTitle = pRootSnapin->DisplayName();
843 mcs.hOwner = _AtlBaseModule.GetModuleInstance();
844 mcs.x = mcs.cx = CW_USEDEFAULT;
845 mcs.y = mcs.cy = CW_USEDEFAULT;
846 mcs.style = MDIS_ALLCHILDSTYLES;
847
848 pConsoleWnd = new CConsoleWnd(pMainWnd, pRootSnapin, pSelectedSnapin);
849
850 pConsoleWnd->m_ViewId = uViewId;
851 pConsoleWnd->m_iTreeViewWidth = iScopePanelWidth;
852 pConsoleWnd->m_iActionsPaneWidth = iActionsPanelWidth;
853
854 bMaximized = FALSE;
855 hWndOld = (HWND)pMainWnd->m_MDIClient.SendMessage(WM_MDIGETACTIVE, 0, (LPARAM)&bMaximized);
856 mcs.lParam = bMaximized || !hWndOld;
858 if (!hChild)
859 {
860 delete pConsoleWnd;
861 hr = E_FAIL;
862 goto done;
863 }
864
865 pConsoleWnd->SetListViewMode(ListViewMode);
866 pConsoleWnd->SetTreeViewVisible(bScopePaneVisible);
867 pConsoleWnd->SetActionsPaneVisible(bActionsPaneVisible);
868 pConsoleWnd->SetDescriptionBarVisible(bDescriptionBarVisible);
869
870 pConsoleWnd->m_ListView.SetColumnWidth(0, iColumn0Width);
871
872 pMainWnd->UpdateLayout();
873 pMainWnd->UpdateTitle();
874 pMainWnd->UpdateMenu();
875 pMainWnd->UpdateViewMenu(ListViewMode);
876
877done:
878 if (pChildList)
879 pChildList->Release();
880
881 if (NodeName)
882 SysFreeString(NodeName);
883
884 return hr;
885}
NodeType
Definition: Node.h:6
LISTVIEW_MODE StringToViewMode(LPWSTR ViewMode)
Definition: misc.cpp:88
BOOL StringToBool(_In_ LPWSTR pszString)
Definition: misc.cpp:249
enum _LISTVIEW_MODE LISTVIEW_MODE
static HRESULT ParseViewAttributes(MscFile *mscFile, IXMLDOMElement *pViewElement, UINT *puViewID, INT *piScopePanelWidth, INT *piActionsPanelWidth)
VOID SetListViewMode(LISTVIEW_MODE ListViewMode)
VOID SetDescriptionBarVisible(BOOL bVisible)
VOID SetActionsPaneVisible(BOOL bVisible)
VOID SetTreeViewVisible(BOOL bVisible)
BOOL SetColumnWidth(int iCol, int width)
Definition: rosctrls.h:91
CSimpleMap< UINT, CSnapin * > * m_TempNodeMap
Definition: CMainWnd.h:59
HRESULT GetAttribute(IXMLDOMElement *pElement, LPWSTR pszAttributeName, VARIANT *pAttributeValue)
Definition: mscfile.cpp:484
#define E_FAIL
Definition: ddrawi.h:102
HRESULT hr
Definition: delayimp.cpp:582
LPWSTR Name
Definition: desk.c:124
OLECHAR * BSTR
Definition: compat.h:2293
_ACRTIMP __msvcrt_ulong __cdecl wcstoul(const wchar_t *, wchar_t **, int)
Definition: wcs.c:2917
_ACRTIMP int __cdecl _wtoi(const wchar_t *)
Definition: wcs.c:2778
_ACRTIMP int __cdecl _wcsicmp(const wchar_t *, const wchar_t *)
Definition: wcs.c:164
#define NodeType(P)
Definition: nodetype.h:51
unsigned int UINT
Definition: sysinfo.c:13
ULONG Release()
HRESULT nextNode([retval, out] IXMLDOMNode **outNode)
#define S_OK
Definition: intsafe.h:52
#define FAILED(hr)
Definition: intsafe.h:51
static PVOID ptr
Definition: dispmode.c:27
enum tagDOMNodeType DOMNodeType
@ NODE_ELEMENT
Definition: msxml6.idl:113
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:273
#define V_BSTR(A)
Definition: oleauto.h:226
uint16_t * PWSTR
Definition: typedefs.h:56
int32_t INT
Definition: typedefs.h:58
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
Definition: variant.c:626
void WINAPI VariantInit(VARIANTARG *pVarg)
Definition: variant.c:547
#define S_FALSE
Definition: winerror.h:3451

Referenced by CMainWnd::ParseViewsElement().

◆ ParseViewAttributes()

HRESULT CConsoleWnd::ParseViewAttributes ( MscFile *  mscFile,
IXMLDOMElement *  pViewElement,
UINT *  puViewID,
INT *  piScopePanelWidth,
INT *  piActionsPanelWidth 
)
staticprivate

Definition at line 645 of file CConsoleWnd.cpp.

651{
652 VARIANT ViewID, ScopePanel, ActionsPanel;
653 PWSTR ptr = NULL;
654 HRESULT hr = S_OK;
655
656 VariantInit(&ViewID);
657 VariantInit(&ScopePanel);
658 VariantInit(&ActionsPanel);
659
660 /* Attribut ID */
661 hr = mscFile->GetAttribute(pViewElement, (LPWSTR)L"ID", &ViewID);
662 if (hr == S_OK)
663 {
664 *puViewID = wcstoul(V_BSTR(&ViewID), &ptr, 10);
665 }
666
667 /* Attribute ScopePaneWidth */
668 hr = mscFile->GetAttribute(pViewElement, (LPWSTR)L"ScopePaneWidth", &ScopePanel);
669 if (hr == S_OK)
670 {
671 *piScopePanelWidth = wcstol(V_BSTR(&ScopePanel), &ptr, 10);
672 }
673
674 /* Attribute ActionsPaneWidth */
675 hr = mscFile->GetAttribute(pViewElement, (LPWSTR)L"ActionsPaneWidth", &ActionsPanel);
676 if (hr == S_OK)
677 {
678 *piActionsPanelWidth = wcstol(V_BSTR(&ActionsPanel), &ptr, 10);
679 }
680
681 VariantClear(&ViewID);
682 VariantClear(&ScopePanel);
683 VariantClear(&ActionsPanel);
684
685 return hr;
686}
_ACRTIMP __msvcrt_long __cdecl wcstol(const wchar_t *, wchar_t **, int)
Definition: wcs.c:2752

Referenced by ParseView().

◆ QueryConsoleVerb()

STDMETHODIMP CConsoleWnd::QueryConsoleVerb ( LPCONSOLEVERB *  ppConsoleVerb)

Implements IConsole.

Definition at line 1006 of file CConsoleWnd.cpp.

1007{
1008 DPRINT("%s()\n", __FUNCTION__);
1009 __debugbreak();
1010 return E_NOTIMPL;
1011}

◆ QueryInterface()

STDMETHODIMP CConsoleWnd::QueryInterface ( REFIID  riid,
void **  ppvObject 
)

Implements IUnknown.

Definition at line 889 of file CConsoleWnd.cpp.

890{
891 if (riid == IID_IUnknown || riid == IID_IConsole)
892 {
893 *ppvObject = static_cast<IConsole*>(this);
894 AddRef();
895 return S_OK;
896 }
897 else if (riid == IID_IConsole2)
898 {
899 *ppvObject = static_cast<IConsole2*>(this);
900 AddRef();
901 return S_OK;
902 }
903 else if (riid == IID_IConsoleNameSpace)
904 {
905 *ppvObject = static_cast<IConsoleNameSpace*>(this);
906 AddRef();
907 return S_OK;
908 }
909 else if (riid == IID_IConsoleNameSpace2)
910 {
911 *ppvObject = static_cast<IConsoleNameSpace2*>(this);
912 AddRef();
913 return S_OK;
914 }
915 else
916 {
917 CComHeapPtr<OLECHAR> guidstr;
918 HRESULT hr = StringFromCLSID(riid, &guidstr);
919 if (SUCCEEDED(hr))
920 DPRINT1("Unhandled riid: %S\n", (PCWSTR)guidstr);
921 else
922 DPRINT1("Unhandled riid\n");
923 }
924
925
926 *ppvObject = NULL;
927 return E_NOINTERFACE;
928}
#define DPRINT1
Definition: precomp.h:8
const GUID IID_IUnknown
HRESULT WINAPI StringFromCLSID(REFCLSID clsid, LPOLESTR *str)
Definition: combase.c:1515
REFIID riid
Definition: atlbase.h:39
ULONG AddRef()
#define SUCCEEDED(hr)
Definition: intsafe.h:50
const uint16_t * PCWSTR
Definition: typedefs.h:57
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ QueryResultImageList()

STDMETHODIMP CConsoleWnd::QueryResultImageList ( LPIMAGELIST *  ppImageList)

Implements IConsole.

Definition at line 982 of file CConsoleWnd.cpp.

983{
984 DPRINT("%s()\n", __FUNCTION__);
985 __debugbreak();
986 return E_NOTIMPL;
987}

◆ QueryResultView()

STDMETHODIMP CConsoleWnd::QueryResultView ( LPUNKNOWN *  pUnknown)

Implements IConsole.

Definition at line 962 of file CConsoleWnd.cpp.

963{
964 DPRINT("%s()\n", __FUNCTION__);
965 __debugbreak();
966 return E_NOTIMPL;
967}

◆ QueryScopeImageList()

STDMETHODIMP CConsoleWnd::QueryScopeImageList ( LPIMAGELIST *  ppImageList)

Implements IConsole.

Definition at line 970 of file CConsoleWnd.cpp.

971{
972 DPRINT("%s(%p)\n", __FUNCTION__);
973 if (!ppImageList)
974 return E_INVALIDARG;
975
976 __debugbreak();
977 //*ppImageList = m_ScopeImageList;
978 return S_OK;
979}
#define E_INVALIDARG
Definition: ddrawi.h:101

◆ SaveView()

VOID CConsoleWnd::SaveView ( MscFile *  mscFile,
IXMLDOMElement *  pParentElement 
)

Definition at line 594 of file CConsoleWnd.cpp.

595{
596 IXMLDOMElement *pViewElement = NULL;
597 IXMLDOMElement *pViewOptionsElement = NULL;
598 IXMLDOMElement *pBookMarkElement = NULL;
599 WCHAR szBuffer[32];
600 HRESULT hr = S_OK;
601
602 /* <View ID="1" ScopePaneWidth="292" ActionsPaneWidth="-1"> */
603 CHK_HR(mscFile->CreateAndAddElementNode(L"View", pParentElement, &pViewElement));
604 _swprintf(szBuffer, L"%u", m_ViewId);
605 CHK_HR(mscFile->CreateAndAddAttributeNode(L"ID", szBuffer, pViewElement));
606 _swprintf(szBuffer, L"%d", m_iTreeViewWidth);
607 CHK_HR(mscFile->CreateAndAddAttributeNode(L"ScopePaneWidth", szBuffer, pViewElement));
608 _swprintf(szBuffer, L"%d", m_iActionsPaneWidth);
609 CHK_HR(mscFile->CreateAndAddAttributeNode(L"ActionsPaneWidth", szBuffer, pViewElement));
610
611 /* Root Snap-in <BookMark Name="RootNode" NodeID="1"/> */
612 CHK_HR(mscFile->CreateAndAddElementNode(L"BookMark", pViewElement, &pBookMarkElement));
613 CHK_HR(mscFile->CreateAndAddAttributeNode(L"Name", L"RootNode", pBookMarkElement));
614 _swprintf(szBuffer, L"%u", m_ViewRootNode->GetNodeId());
615 CHK_HR(mscFile->CreateAndAddAttributeNode(L"NodeID", szBuffer, pBookMarkElement));
616 SAFE_RELEASE(pBookMarkElement);
617
618 /* Selected Snap-in <BookMark Name="SelectedNode" NodeID="1"/> */
619 CHK_HR(mscFile->CreateAndAddElementNode(L"BookMark", pViewElement, &pBookMarkElement));
620 CHK_HR(mscFile->CreateAndAddAttributeNode(L"Name", L"SelectedNode", pBookMarkElement));
621 _swprintf(szBuffer, L"%u", m_ViewSelectedNode->GetNodeId());
622 CHK_HR(mscFile->CreateAndAddAttributeNode(L"NodeID", szBuffer, pBookMarkElement));
623 SAFE_RELEASE(pBookMarkElement);
624
625 mscFile->SaveWindowPlacement(this, pViewElement);
626
627 /* <ViewOptions ViewMode="Report" ScopePaneVisible="true" ActionsPaneVisible="true" DescriptionBarVisible="false" DefaultColumn0Width="200" DefaultColumn1Width="0"/> */
628 CHK_HR(mscFile->CreateAndAddElementNode(L"ViewOptions", pViewElement, &pViewOptionsElement));
629 CHK_HR(mscFile->CreateAndAddAttributeNode(L"ViewMode", ViewModeToString(m_ListViewMode), pViewOptionsElement));
630 CHK_HR(mscFile->CreateAndAddAttributeNode(L"ScopePaneVisible", IsTreeViewVisible() ? L"true" : L"false", pViewOptionsElement));
631 if (!IsStatusBarVisible())
632 CHK_HR(mscFile->CreateAndAddAttributeNode(L"NoStatusBar", L"true", pViewOptionsElement));
633 CHK_HR(mscFile->CreateAndAddAttributeNode(L"ActionsPaneVisible", IsActionsPaneVisible() ? L"true" : L"false", pViewOptionsElement));
634 CHK_HR(mscFile->CreateAndAddAttributeNode(L"DescriptionBarVisible", IsDescriptionBarVisible() ? L"true" : L"false", pViewOptionsElement));
635 _swprintf(szBuffer, L"%d", m_ListView.GetColumnWidth(0));
636 CHK_HR(mscFile->CreateAndAddAttributeNode(L"DefaultColumn0Width", szBuffer, pViewOptionsElement));
637 CHK_HR(mscFile->CreateAndAddAttributeNode(L"DefaultColumn1Width", L"0", pViewOptionsElement)); /* FIXME */
638 SAFE_RELEASE(pViewOptionsElement); /* </ViewOptions> */
639
640CleanUp:
641 SAFE_RELEASE(pViewElement); /* </View> */
642}
LPWSTR ViewModeToString(LISTVIEW_MODE ListViewMode)
Definition: misc.cpp:67
BOOL IsDescriptionBarVisible()
BOOL IsTreeViewVisible()
BOOL IsStatusBarVisible()
BOOL IsActionsPaneVisible()
int GetColumnWidth(int iCol)
Definition: rosctrls.h:86
UINT GetNodeId()
Definition: CSnapin.cpp:49
HRESULT SaveWindowPlacement(CWindow *pWindow, IXMLDOMElement *pParentNode)
Definition: mscfile.cpp:222
HRESULT CreateAndAddAttributeNode(PCWSTR wszName, PCWSTR wszValue, IXMLDOMElement *pParent)
Definition: mscfile.cpp:137
HRESULT CreateAndAddElementNode(PCWSTR wszName, IXMLDOMNode *pParent, IXMLDOMElement **ppElement=NULL)
Definition: mscfile.cpp:204
#define _swprintf(buf, format,...)
Definition: sprintf.c:56
#define SAFE_RELEASE(p)
Definition: mscfile.h:15
#define CHK_HR(stmt)
Definition: mscfile.h:9

Referenced by CMainWnd::SaveMscFile().

◆ SelectParent()

VOID CConsoleWnd::SelectParent ( )

Definition at line 566 of file CConsoleWnd.cpp.

567{
569 if (hItem == NULL)
570 return;
571
573 return;
574
576 if (hParent)
577 m_TreeView.SelectItem(hParent);
578}
HTREEITEM GetNextItem(HTREEITEM i, WORD flags)
Definition: rosctrls.h:585
#define TVGN_PARENT
Definition: commctrl.h:3460
#define TVGN_ROOT
Definition: commctrl.h:3457

◆ SelectScopeItem()

STDMETHODIMP CConsoleWnd::SelectScopeItem ( HSCOPEITEM  hScopeItem)

Implements IConsole.

Definition at line 1014 of file CConsoleWnd.cpp.

1015{
1016 DPRINT("%s()\n", __FUNCTION__);
1017 __debugbreak();
1018 return E_NOTIMPL;
1019}

◆ SetActionsPaneVisible()

VOID CConsoleWnd::SetActionsPaneVisible ( BOOL  bVisible)

Definition at line 482 of file CConsoleWnd.cpp.

483{
484 m_bActionsPaneVisible = bVisible;
485 UpdateLayout();
486}

Referenced by ParseView().

◆ SetDescriptionBarVisible()

VOID CConsoleWnd::SetDescriptionBarVisible ( BOOL  bVisible)

Definition at line 469 of file CConsoleWnd.cpp.

470{
471 m_bDescriptionBarVisible = bVisible;
472 UpdateLayout();
473}

Referenced by ParseView().

◆ SetHeader()

STDMETHODIMP CConsoleWnd::SetHeader ( LPHEADERCTRL  pHeader)

Implements IConsole.

Definition at line 946 of file CConsoleWnd.cpp.

947{
948 DPRINT("%s()\n", __FUNCTION__);
949 __debugbreak();
950 return E_NOTIMPL;
951}

◆ SetItem()

STDMETHODIMP CConsoleWnd::SetItem ( LPSCOPEDATAITEM  item)

Implements IConsoleNameSpace.

Definition at line 1083 of file CConsoleWnd.cpp.

1084{
1085 DPRINT("%s()\n", __FUNCTION__);
1086 __debugbreak();
1087 return E_NOTIMPL;
1088}

◆ SetListViewMode()

VOID CConsoleWnd::SetListViewMode ( LISTVIEW_MODE  ListViewMode)

Definition at line 587 of file CConsoleWnd.cpp.

588{
589 m_ListViewMode = ListViewMode;
591}
#define LVS_TYPEMASK
Definition: commctrl.h:2270
#define SetWindowLong
Definition: winuser.h:6019
#define GetWindowLong
Definition: winuser.h:5962
#define GWL_STYLE
Definition: winuser.h:863

Referenced by ParseView().

◆ SetStatusBarText()

VOID CConsoleWnd::SetStatusBarText ( LPWSTR  pszStatusText)

Definition at line 560 of file CConsoleWnd.cpp.

561{
562 m_StatusBar.SetText(pszStatusText);
563}
VOID SetText(LPCWSTR lpszText)
Definition: rosctrls.h:467

◆ SetStatusBarVisible()

VOID CConsoleWnd::SetStatusBarVisible ( BOOL  bVisible)

Definition at line 456 of file CConsoleWnd.cpp.

457{
458 m_bStatusBarVisible = bVisible;
459 UpdateLayout();
460}

◆ SetStatusText()

STDMETHODIMP CConsoleWnd::SetStatusText ( LPOLESTR  pszStatusText)

Implements IConsole2.

Definition at line 1057 of file CConsoleWnd.cpp.

1058{
1059 DPRINT("%s()\n", __FUNCTION__);
1060 __debugbreak();
1061 return E_NOTIMPL;
1062}

◆ SetToolbar()

STDMETHODIMP CConsoleWnd::SetToolbar ( LPTOOLBAR  pToolbar)

Implements IConsole.

Definition at line 954 of file CConsoleWnd.cpp.

955{
956 DPRINT("%s()\n", __FUNCTION__);
957 __debugbreak();
958 return E_NOTIMPL;
959}

◆ SetTreeViewVisible()

VOID CConsoleWnd::SetTreeViewVisible ( BOOL  bVisible)

Definition at line 443 of file CConsoleWnd.cpp.

444{
445 m_bTreeViewVisible = bVisible;
446 UpdateLayout();
447}

Referenced by ParseView().

◆ STDMETHODIMP_() [1/2]

CConsoleWnd::STDMETHODIMP_ ( ULONG  )

◆ STDMETHODIMP_() [2/2]

CConsoleWnd::STDMETHODIMP_ ( ULONG  )

◆ UpdateAllViews()

STDMETHODIMP CConsoleWnd::UpdateAllViews ( LPDATAOBJECT  lpDataObject,
LPARAM  data,
LONG_PTR  hint 
)

Implements IConsole.

Definition at line 990 of file CConsoleWnd.cpp.

991{
992 DPRINT("%s()\n", __FUNCTION__);
993 __debugbreak();
994 return E_NOTIMPL;
995}

◆ UpdateLayout()

VOID CConsoleWnd::UpdateLayout ( )
private

Definition at line 489 of file CConsoleWnd.cpp.

490{
491 RECT Rect;
492 int iTreeViewWidth, iTreeViewHeight;
493 int iListViewPosX, iListViewPosY = 0;
494 int iListViewWidth, iListViewHeight;
495
497 int iClientHeight = Rect.bottom - Rect.top;
498 int iClientWidth = Rect.right - Rect.left;
499
500 int iStatusHeight = 0;
501
502 int iDescriptionBarHeight = 0;
503
505 {
506 iTreeViewWidth = m_iTreeViewWidth;
507 iListViewPosX = m_iTreeViewWidth + m_iSplitterWidth;
508 iListViewWidth = iClientWidth - m_iTreeViewWidth - m_iSplitterWidth;
509 }
510 else
511 {
512 iTreeViewWidth = 0;
513 iListViewPosX = 0;
514 iListViewWidth = iClientWidth;
515 }
516
517 iTreeViewHeight = iClientHeight;
518 iListViewHeight = iClientHeight;
519
521 {
522 iStatusHeight = m_iStatusBarHeight;
523 iTreeViewHeight -= iStatusHeight;
524 iListViewHeight -= iStatusHeight;
525 }
526
528 {
529 iDescriptionBarHeight = 24;
530 iListViewPosY += iDescriptionBarHeight;
531 iListViewHeight -= iDescriptionBarHeight;
532 }
533
535 {
536 iListViewWidth -= (m_iActionsPaneWidth + m_iSplitterWidth);
537 }
538
539 /* Move the status bar */
540 m_StatusBar.MoveWindow(0, iClientHeight - iStatusHeight, iClientWidth, iStatusHeight);
541
542 /* Move the tree view */
543 m_TreeView.MoveWindow(0, 0, iTreeViewWidth, iTreeViewHeight);
544
545 /* Move the list view */
546 m_ListView.MoveWindow(iListViewPosX, iListViewPosY, iListViewWidth, iListViewHeight);
547
548 m_DescriptionBar.MoveWindow(iListViewPosX, 0, iListViewWidth, iDescriptionBarHeight);
549
550 m_ActionsPane.MoveWindow(iClientWidth - m_iActionsPaneWidth, 0, m_iActionsPaneWidth, iClientHeight);
551}

Referenced by OnSize(), SetActionsPaneVisible(), SetDescriptionBarVisible(), SetStatusBarVisible(), and SetTreeViewVisible().

◆ UpdateTreeView()

VOID CConsoleWnd::UpdateTreeView ( )
private

Definition at line 430 of file CConsoleWnd.cpp.

431{
434}
BOOL DeleteItem(HTREEITEM i)
Definition: rosctrls.h:555
#define TVI_ROOT
Definition: commctrl.h:3373

Referenced by OnCreate(), and UpdateView().

◆ UpdateView()

VOID CConsoleWnd::UpdateView ( )

Definition at line 554 of file CConsoleWnd.cpp.

555{
557}

Referenced by CMainWnd::UpdateViews().

Member Data Documentation

◆ m_ActionsPane

CActionWnd CConsoleWnd::m_ActionsPane
private

Definition at line 32 of file CConsoleWnd.h.

Referenced by OnCreate(), OnMouseMove(), and UpdateLayout().

◆ m_bActionsPaneVisible

BOOL CConsoleWnd::m_bActionsPaneVisible
private

◆ m_bDescriptionBarVisible

BOOL CConsoleWnd::m_bDescriptionBarVisible
private

◆ m_bStatusBarVisible

BOOL CConsoleWnd::m_bStatusBarVisible
private

Definition at line 41 of file CConsoleWnd.h.

Referenced by CConsoleWnd(), IsStatusBarVisible(), SetStatusBarVisible(), and UpdateLayout().

◆ m_bTreeViewVisible

BOOL CConsoleWnd::m_bTreeViewVisible
private

◆ m_DescriptionBar

CWindow CConsoleWnd::m_DescriptionBar
private

Definition at line 31 of file CConsoleWnd.h.

Referenced by OnCreate(), OnMouseMove(), OnNotify(), and UpdateLayout().

◆ m_hMenuTreeView

HMENU CConsoleWnd::m_hMenuTreeView
private

Definition at line 44 of file CConsoleWnd.h.

Referenced by CConsoleWnd(), OnContextMenu(), and ~CConsoleWnd().

◆ m_iActionsPaneWidth

int CConsoleWnd::m_iActionsPaneWidth
private

◆ m_iSplitOffset

int CConsoleWnd::m_iSplitOffset
private

Definition at line 36 of file CConsoleWnd.h.

Referenced by OnLButtonDown(), and OnMouseMove().

◆ m_iSplitSide

SPLITTER_SIDE CConsoleWnd::m_iSplitSide
private

Definition at line 37 of file CConsoleWnd.h.

Referenced by OnCreate(), OnLButtonDown(), OnLButtonUp(), and OnMouseMove().

◆ m_iSplitterWidth

int CConsoleWnd::m_iSplitterWidth
private

Definition at line 35 of file CConsoleWnd.h.

Referenced by OnCreate(), OnLButtonDown(), OnMouseMove(), and UpdateLayout().

◆ m_iStatusBarHeight

int CConsoleWnd::m_iStatusBarHeight
private

Definition at line 38 of file CConsoleWnd.h.

Referenced by OnCreate(), and UpdateLayout().

◆ m_iTreeViewWidth

int CConsoleWnd::m_iTreeViewWidth
private

◆ m_ListView

CListView CConsoleWnd::m_ListView
private

Definition at line 29 of file CConsoleWnd.h.

Referenced by OnCreate(), OnMouseMove(), ParseView(), SaveView(), SetListViewMode(), and UpdateLayout().

◆ m_ListViewMode

LISTVIEW_MODE CConsoleWnd::m_ListViewMode
private

◆ m_MainWnd

CMainWnd* CConsoleWnd::m_MainWnd
private

◆ m_StatusBar

CStatusBar CConsoleWnd::m_StatusBar
private

Definition at line 30 of file CConsoleWnd.h.

Referenced by OnCreate(), SetStatusBarText(), and UpdateLayout().

◆ m_TreeView

◆ m_ViewId

UINT CConsoleWnd::m_ViewId

◆ m_ViewRootNode

CSnapin* CConsoleWnd::m_ViewRootNode
private

Definition at line 48 of file CConsoleWnd.h.

Referenced by CConsoleWnd(), SaveView(), and UpdateTreeView().

◆ m_ViewSelectedNode

CSnapin* CConsoleWnd::m_ViewSelectedNode
private

Definition at line 49 of file CConsoleWnd.h.

Referenced by AddTreeViewItemRecursive(), CConsoleWnd(), and SaveView().


The documentation for this class was generated from the following files: