-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathRadToolBarsCustomizeDialog.cpp
More file actions
90 lines (75 loc) · 3.45 KB
/
RadToolBarsCustomizeDialog.cpp
File metadata and controls
90 lines (75 loc) · 3.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include "stdafx.h"
#include "RadToolBarsCustomizeDialog.h"
#include "RadUserTool.h"
#define ID_CAPTURE 500
#define ID_TAB 501
#define ID_SAVE 502
// TODO
// Doesn't save current tool changes when closing
// Need to override CMFCToolBarsToolsPropertyPage::UpdateTool
// may need to replace CMFCToolBarsToolsPropertyPage
void CRadToolBarsCustomizeDialog::CreateDefaultTools()
{
CRadUserTool* pUserTool;
pUserTool = (CRadUserTool*) afxUserToolsManager->CreateNewTool();
pUserTool->m_strLabel = _T("Run");
pUserTool->SetCommand(_T("{file}"));
pUserTool->m_strInitialDirectory = _T("{path}");
pUserTool = (CRadUserTool*) afxUserToolsManager->CreateNewTool();
pUserTool->m_strLabel = _T("CMD");
pUserTool->SetCommand(_T("cmd.exe"));
pUserTool->m_strInitialDirectory = _T("{path}");
pUserTool = (CRadUserTool*) afxUserToolsManager->CreateNewTool();
pUserTool->m_strLabel = _T("Explorer");
pUserTool->SetCommand(_T("explorer.exe"));
pUserTool->m_strArguments = _T("/select,{file}");
pUserTool = (CRadUserTool*) afxUserToolsManager->CreateNewTool();
pUserTool->m_strLabel = _T("Google");
pUserTool->SetCommand(_T("https://www.google.com.au/search?q={selected}"));
pUserTool = (CRadUserTool*) afxUserToolsManager->CreateNewTool();
pUserTool->m_strLabel = _T("Find in Files");
pUserTool->SetCommand(_T("findstr.exe"));
pUserTool->m_strArguments = _T("/S /N /P /C:\"{selected}\" *.*");
pUserTool->m_strInitialDirectory = _T("{path}");
pUserTool->m_bCapture = true;
pUserTool->m_strTab = _T("Find");
}
void CRadToolBarsCustomizeDialog::OnInitToolsPage()
{
if (m_pToolsPage != nullptr)
{
CFont* pFont = m_pToolsPage->GetFont();
CRect rCapture(8, 131, 8 + 70, 131 + 8);
m_pToolsPage->MapDialogRect(&rCapture);
btnCapture.CreateEx(0, WC_BUTTON, _T("Capture output"), BS_CHECKBOX | BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE, rCapture, m_pToolsPage, ID_CAPTURE);
btnCapture.SetFont(pFont);
CRect rTab(80, 129, 80 + 167, 129 + 14);
m_pToolsPage->MapDialogRect(&rTab);
editTab.CreateEx(0, WC_EDIT, NULL, WS_CHILD | WS_BORDER | WS_VISIBLE, rTab, m_pToolsPage, ID_TAB);
editTab.SetFont(pFont);
CRect rSave(8, 146, 8 + 100, 146 + 8);
m_pToolsPage->MapDialogRect(&rSave);
btnSave.CreateEx(0, WC_BUTTON, _T("Save before executing"), BS_CHECKBOX | BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE, rSave, m_pToolsPage, ID_SAVE);
btnSave.SetFont(pFont);
}
}
void CRadToolBarsCustomizeDialog::OnBeforeChangeTool(CUserTool* pSelTool)
{
CRadUserTool* pRadSelTool = dynamic_cast<CRadUserTool*>(pSelTool);
if (pRadSelTool != nullptr)
{
pRadSelTool->m_bCapture = btnCapture.GetCheck() == BST_CHECKED;
editTab.GetWindowText(pRadSelTool->m_strTab);
pRadSelTool->m_bSave = btnSave.GetCheck() == BST_CHECKED;
}
}
void CRadToolBarsCustomizeDialog::OnAfterChangeTool(CUserTool* pSelTool)
{
CRadUserTool* pRadSelTool = dynamic_cast<CRadUserTool*>(pSelTool);
btnCapture.EnableWindow(pRadSelTool != nullptr);
btnCapture.SetCheck(pRadSelTool != nullptr && pRadSelTool->m_bCapture ? BST_CHECKED : BST_UNCHECKED);
editTab.EnableWindow(pRadSelTool != nullptr);
editTab.SetWindowText(pRadSelTool != nullptr ? pRadSelTool->m_strTab : _T(""));
btnSave.EnableWindow(pRadSelTool != nullptr);
btnSave.SetCheck(pRadSelTool != nullptr && pRadSelTool->m_bSave ? BST_CHECKED : BST_UNCHECKED);
}