ReactOS 0.4.17-dev-1183-g3b30a2a
CAddDialog.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: Snapin selection dialog
5 * COPYRIGHT: Copyright 2017-2020 Mark Jansen (mark.jansen@reactos.org)
6 * Copyright 2026 Eric Kohl (eric.kohl@reactos.org)
7 */
8
9#pragma once
10
12 public CDialogImpl<CAddDialog>
13{
14public:
15 enum { IDD = IDD_DIALOG_ADD };
16
19
28
33
34private:
37 CWindow m_BtnAdd;
38 CWindow m_BtnRemove;
39 CWindow m_BtnUp;
40 CWindow m_BtnDown;
43 CWindow m_ParentText;
44 CWindow m_ParentList;
45
47
50
54
55 void CreateSnapinAliases(CSnapinAlias *ParentAlias, CSnapin *ParentSnapin);
56 void ReconnectSnapins(CSnapinAlias *ParentAlias, CSnapin *ParentSnapin);
57 void DeleteSnapinAliasesRecursive(CSnapinAlias *ParentAlias, BOOL RemoveDeletedSnapins);
58 void DeleteSnapinAliases(BOOL RemoveDeletedSnapins);
59
60public:
61 CAddDialog(CMainWnd *MainWnd, CConsoleWnd* console);
62 ~CAddDialog();
63 void InitLV(CListView& listView);
64 void InsertListItem(CListView& listView, CSnapinCacheEntry *CacheEntry);
65 void InitTV(CTreeView& treeView);
66 HTREEITEM InsertTreeItem(CTreeView& treeView, CSnapinAlias *Alias, HTREEITEM hParent = NULL, HTREEITEM hInsertAfter = TVI_LAST);
67 VOID InitCB(CWindow& comboBox);
68 VOID AppendComboBoxItem(CWindow& comboBox, CSnapinAlias *Alias, int iIndent);
70
71 LRESULT OnInitDialog(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
72 LRESULT OnCommand(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
73 LRESULT OnItemChanged(INT uCode, LPNMHDR hdr, BOOL& bHandled);
74 LRESULT OnSelectionChanged(INT uCode, LPNMHDR hdr, BOOL& bHandled);
75 LRESULT OnItemDblClicked(INT uCode, LPNMHDR hdr, BOOL& bHandled);
76 void UpdateButtons();
78 VOID SetAdvanced(BOOL Advanced);
79};
#define IDC_ADD_BUTTON_REMOVE
Definition: resource.h:74
#define IDC_ADD_BUTTON_DOWN
Definition: resource.h:79
#define IDC_ADD_BUTTON_UP
Definition: resource.h:78
#define IDC_ADD_LIST_PARENT
Definition: resource.h:83
#define IDC_ADD_BUTTON_ADD
Definition: resource.h:73
#define IDD_DIALOG_ADD
Definition: resource.h:72
#define IDC_ADD_ADVANCED
Definition: resource.h:80
VOID InsertSnapinAliasesRecursive(CSnapinAlias *ParentAlias, INT Indent)
Definition: CAddDialog.cpp:101
VOID SetAdvanced(BOOL Advanced)
Definition: CAddDialog.cpp:498
void UpdateButtons()
Definition: CAddDialog.cpp:398
void InitTV(CTreeView &treeView)
Definition: CAddDialog.cpp:51
CListView m_Available
Definition: CAddDialog.h:35
CSnapin * m_RootSnapin
Definition: CAddDialog.h:51
LRESULT OnInitDialog(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: CAddDialog.cpp:119
CSnapinAlias * m_ParentAlias
Definition: CAddDialog.h:53
VOID InitCB(CWindow &comboBox)
Definition: CAddDialog.cpp:76
CMainWnd * m_MainWnd
Definition: CAddDialog.h:48
VOID AppendComboBoxItem(CWindow &comboBox, CSnapinAlias *Alias, int iIndent)
Definition: CAddDialog.cpp:82
LRESULT OnItemChanged(INT uCode, LPNMHDR hdr, BOOL &bHandled)
Definition: CAddDialog.cpp:350
void CreateSnapinAliases(CSnapinAlias *ParentAlias, CSnapin *ParentSnapin)
Definition: CAddDialog.cpp:426
CWindow m_BtnUp
Definition: CAddDialog.h:39
void DeleteSnapinAliases(BOOL RemoveDeletedSnapins)
Definition: CAddDialog.cpp:480
CWindow m_BtnRemove
Definition: CAddDialog.h:38
CWindow m_SelectedText
Definition: CAddDialog.h:42
LRESULT OnItemDblClicked(INT uCode, LPNMHDR hdr, BOOL &bHandled)
Definition: CAddDialog.cpp:376
CComPtr< CConsoleWnd > m_Console
Definition: CAddDialog.h:49
CWindow m_ParentText
Definition: CAddDialog.h:43
void DeleteSnapinAliasesRecursive(CSnapinAlias *ParentAlias, BOOL RemoveDeletedSnapins)
Definition: CAddDialog.cpp:462
void InsertListItem(CListView &listView, CSnapinCacheEntry *CacheEntry)
Definition: CAddDialog.cpp:37
void InitLV(CListView &listView)
Definition: CAddDialog.cpp:23
CWindow m_Description
Definition: CAddDialog.h:41
CWindow m_ParentList
Definition: CAddDialog.h:44
CSnapinAlias * m_RootAlias
Definition: CAddDialog.h:52
HTREEITEM InsertTreeItem(CTreeView &treeView, CSnapinAlias *Alias, HTREEITEM hParent=NULL, HTREEITEM hInsertAfter=TVI_LAST)
Definition: CAddDialog.cpp:57
LRESULT OnCommand(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CAddDialog.cpp:169
CTreeView m_Selected
Definition: CAddDialog.h:36
BOOL m_Advanced
Definition: CAddDialog.h:46
CWindow m_BtnDown
Definition: CAddDialog.h:40
BOOL GetAdvanced()
Definition: CAddDialog.cpp:492
LRESULT OnSelectionChanged(INT uCode, LPNMHDR hdr, BOOL &bHandled)
Definition: CAddDialog.cpp:369
CWindow m_BtnAdd
Definition: CAddDialog.h:37
void ReconnectSnapins(CSnapinAlias *ParentAlias, CSnapin *ParentSnapin)
Definition: CAddDialog.cpp:442
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define NULL
Definition: types.h:112
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned int UINT
Definition: sysinfo.c:13
char hdr[14]
Definition: iptest.cpp:33
#define MESSAGE_HANDLER(msg, func)
Definition: atlwin.h:1926
#define NOTIFY_CODE_HANDLER(cd, func)
Definition: atlwin.h:1980
#define BEGIN_MSG_MAP(theClass)
Definition: atlwin.h:1898
#define COMMAND_ID_HANDLER(id, func)
Definition: atlwin.h:1953
#define END_MSG_MAP()
Definition: atlwin.h:1917
LONG_PTR LPARAM
Definition: minwindef.h:175
LONG_PTR LRESULT
Definition: minwindef.h:176
UINT_PTR WPARAM
Definition: minwindef.h:174
#define TVN_SELCHANGED
Definition: commctrl.h:3740
#define TVI_LAST
Definition: commctrl.h:3375
#define NM_DBLCLK
Definition: commctrl.h:131
#define LVN_ITEMCHANGED
Definition: commctrl.h:3136
#define IDCANCEL
Definition: winuser.h:842
#define WM_INITDIALOG
Definition: winuser.h:1767
#define IDOK
Definition: winuser.h:841
int32_t INT
Definition: typedefs.h:58