ReactOS 0.4.17-dev-940-g8bd6e85
CConsoleWnd.h
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#pragma once
11
12class CMainWnd;
13
15 public CWindowImpl<CConsoleWnd>,
16 public IConsole2,
18{
19private:
36
39
40public:
47
48
49 static CWndClassInfo& GetWndClassInfo()
50 {
51 static CWndClassInfo wc =
52 {
53 {
54 /* cbSize= */sizeof(WNDCLASSEX),
55 /* style= */CS_HREDRAW | CS_VREDRAW,
56 /* lpfnWndProc= */StartWindowProc,
57 /* cbClsExtra= */0,
58 /* cbWndExtra= */sizeof(CConsoleWnd*),
59 /* hInstance= */NULL,
60 /* hIcon= */LoadIcon(_AtlBaseModule.GetModuleInstance(), MAKEINTRESOURCE(IDI_MAINAPP)),
61 /* hCursor= */NULL,
62 /* hbrBackground= */(HBRUSH)(COLOR_3DFACE + 1),
63 /* lpszMenuName= */NULL,
64 /* lpszClassName= */L"MMCChildFrm",
65 /* hIconSm= */LoadIcon(_AtlBaseModule.GetModuleInstance(), MAKEINTRESOURCE(IDI_MAINAPP))
66 },
67 NULL, NULL, IDC_SIZEWE, TRUE, 0, L""
68 };
69 return wc;
70 }
71
73 {
74 return GetWndClassInfo().m_wc.lpszClassName;
75 }
76
77private:
81
82public:
85
86 LRESULT OnCreate(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
87 LRESULT OnDestroy(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
88 LRESULT OnSize(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
89 LRESULT OnDrawItem(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
90
99
101
102 VOID SaveView(MscFile *mscFile, IXMLDOMElement *pParentElement);
103
104 // +IConsole
105 STDMETHODIMP QueryInterface(REFIID riid, void **ppvObject);
108
115 STDMETHODIMP MessageBox(LPCWSTR lpszText, LPCWSTR lpszTitle, UINT fuStyle, int *piRetval);
119 STDMETHODIMP NewWindow(HSCOPEITEM hScopeItem, ULONG lOptions);
120 // -IConsole
121
122 // +IConsole2
125 STDMETHODIMP SetStatusText(LPOLESTR pszStatusText);
126 // -IConsole2
127
128 // +IConsoleNameSpace
133 STDMETHODIMP GetChildItem(HSCOPEITEM item, HSCOPEITEM *pItemChild, LONG *plCookie);
134 STDMETHODIMP GetNextItem(HSCOPEITEM item, HSCOPEITEM *pItemNext, LONG *plCookie);
135 STDMETHODIMP GetParentItem(HSCOPEITEM item, HSCOPEITEM *pItemParent, LONG *plCookie);
136 // -IConsoleNameSpace
137
138 // +IConsoleNameSpace2
141 // -IConsoleNameSpace2
142};
143
#define IDI_MAINAPP
Definition: resource.h:6
#define STDMETHODIMP
Definition: basetyps.h:43
STDMETHODIMP GetParentItem(HSCOPEITEM item, HSCOPEITEM *pItemParent, LONG *plCookie)
VOID AddTreeViewItemRecursive(HTREEITEM hParentTreeItem, CSnapin *Node)
CSnapin * m_ViewRootNode
Definition: CConsoleWnd.h:37
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)
Definition: CConsoleWnd.cpp:89
STDMETHODIMP UpdateAllViews(LPDATAOBJECT lpDataObject, LPARAM data, LONG_PTR hint)
STDMETHODIMP QueryResultImageList(LPIMAGELIST *ppImageList)
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:28
STDMETHODIMP Expand(HSCOPEITEM hItem, BOOL bExpand)
CTreeView m_TreeView
Definition: CConsoleWnd.h:22
STDMETHODIMP SetStatusText(LPOLESTR pszStatusText)
static CWndClassInfo & GetWndClassInfo()
Definition: CConsoleWnd.h:49
VOID UpdateView()
VOID SetStatusBarVisible(BOOL bVisible)
int m_iSplitSide
Definition: CConsoleWnd.h:30
int m_iSplitOffset
Definition: CConsoleWnd.h:29
CMainWnd * m_MainWnd
Definition: CConsoleWnd.h:21
STDMETHODIMP_(ULONG) Release()
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:38
STDMETHODIMP GetItem(LPSCOPEDATAITEM item)
STDMETHODIMP GetChildItem(HSCOPEITEM item, HSCOPEITEM *pItemChild, LONG *plCookie)
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 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:76
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:83
STDMETHODIMP IsTaskpadViewPreferred()
STDMETHODIMP NewWindow(HSCOPEITEM hScopeItem, ULONG lOptions)
BOOL IsStatusBarVisible()
static LPCWSTR GetWndClassName()
Definition: CConsoleWnd.h:72
STDMETHODIMP SetToolbar(LPTOOLBAR pToolbar)
STDMETHODIMP QueryResultView(LPUNKNOWN *pUnknown)
STDMETHODIMP_(ULONG) AddRef()
STDMETHODIMP SetItem(LPSCOPEDATAITEM item)
VOID SetActionsPaneVisible(BOOL bVisible)
VOID SetTreeViewVisible(BOOL bVisible)
VOID UpdateLayout()
BOOL IsActionsPaneVisible()
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
_Check_return_ _In_ PQUERY_INTERFACE QueryInterface
Definition: dispmprt.h:1318
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define L(x)
Definition: resources.c:13
_In_ PUNKNOWN pUnknown
Definition: drmk.h:76
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 MESSAGE_HANDLER(msg, func)
Definition: atlwin.h:1926
#define BEGIN_MSG_MAP(theClass)
Definition: atlwin.h:1898
#define END_MSG_MAP()
Definition: atlwin.h:1917
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
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
#define MAKEINTRESOURCE(i)
Definition: ntverrsrc.c:25
interface IDataObject * LPDATAOBJECT
Definition: objfwd.h:21
long LONG
Definition: pedump.c:60
#define REFIID
Definition: guiddef.h:118
#define CS_VREDRAW
Definition: winuser.h:666
#define WM_CREATE
Definition: winuser.h:1636
#define WM_SIZE
Definition: winuser.h:1639
#define CS_HREDRAW
Definition: winuser.h:661
#define WM_DRAWITEM
Definition: winuser.h:1673
#define LoadIcon
Definition: winuser.h:5979
WNDCLASSEXA WNDCLASSEX
Definition: winuser.h:5885
#define MessageBox
Definition: winuser.h:5988
#define WM_DESTROY
Definition: winuser.h:1637
#define IDC_SIZEWE
Definition: winuser.h:702
#define COLOR_3DFACE
Definition: winuser.h:940
const uint16_t * LPCWSTR
Definition: typedefs.h:57
uint32_t ULONG
Definition: typedefs.h:59
Definition: dlist.c:348
#define DeleteItem
Definition: userenv.h:210
DWORD hint
Definition: vfdcmd.c:88