Skip to content

Commit d2970a9

Browse files
committed
Added checkbox to toggle on/off treeview
1 parent 49540c2 commit d2970a9

File tree

4 files changed

+66
-0
lines changed

4 files changed

+66
-0
lines changed

dialogs/world_prefs/GenPropertyPage.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ typedef CTypedPtrMap <CMapStringToPtr, CString, CObject*> CObjectMap;
1212
typedef int (* t_CompareObjects) (const int iColumn, const CObject * item1, const CObject * item2);
1313

1414
#define ID_TREEVIEW (WM_USER + 1004)
15+
#define ID_USE_TREEVIEW (WM_USER + 1005)
1516

1617
typedef struct t_gen_sort_param
1718
{
@@ -82,6 +83,9 @@ class CGenPropertyPage : public CPropertyPage
8283
CTreeCtrl m_cTreeCtrl; // for the tree views
8384
map<CString, HTREEITEM> m_GroupsMap; // for inserting into groups
8485

86+
CButton m_cUseTreeViewCtrl; // button for turning on/off tree views
87+
CFont m_checkboxFont; // font for it
88+
8589
// set up variables for use later on
8690

8791
void CGenPropertyPage::SetUpPage (CString strObjectType,

dialogs/world_prefs/genpropertypage.cpp

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1018,6 +1018,17 @@ void CGenPropertyPage::LoadList (void)
10181018

10191019
delete m_ScriptEngine;
10201020

1021+
if (m_bWantTreeControl)
1022+
{
1023+
m_cTreeCtrl.ShowWindow (SW_SHOW);
1024+
m_ctlList->ShowWindow (SW_HIDE);
1025+
}
1026+
else
1027+
{
1028+
m_ctlList->ShowWindow (SW_SHOW);
1029+
m_cTreeCtrl.ShowWindow (SW_HIDE);
1030+
}
1031+
10211032
} // end of CGenPropertyPage::LoadList
10221033

10231034

@@ -1277,7 +1288,34 @@ BOOL CGenPropertyPage::OnInitDialog()
12771288
GetSafeHwnd(),
12781289
(HMENU)ID_TREEVIEW);
12791290

1291+
if (m_strObjectType != "variable")
1292+
{
1293+
int iRight = wndpl.rcNormalPosition.right;
1294+
GetDlgItem (IDC_COUNT)->GetWindowPlacement (&wndpl);
1295+
wndpl.rcNormalPosition.right = iRight;
1296+
wndpl.rcNormalPosition.left = wndpl.rcNormalPosition.right - 100;
12801297

1298+
m_cUseTreeViewCtrl.Create(Translate ("Tree View"),
1299+
BS_CHECKBOX | WS_VISIBLE | WS_CHILD | BS_AUTOCHECKBOX,
1300+
wndpl.rcNormalPosition,
1301+
this,
1302+
ID_USE_TREEVIEW);
1303+
1304+
1305+
// bloody hell! so much work ...
1306+
LOGFONT logFont;
1307+
CFont * pFont = GetDlgItem (IDC_COPY)->GetFont();
1308+
pFont->GetLogFont(&logFont);
1309+
1310+
// fix up the font
1311+
m_checkboxFont.CreateFontIndirect(&logFont);
1312+
m_cUseTreeViewCtrl.SetFont(&m_checkboxFont);
1313+
1314+
// set check state appropriately
1315+
m_cUseTreeViewCtrl.SetCheck (m_bWantTreeControl);
1316+
1317+
} // end of adding "treeview" checkbox
1318+
12811319
// now hide one of the controls
12821320
if (m_bWantTreeControl)
12831321
m_ctlList->ShowWindow (SW_HIDE);

dialogs/world_prefs/prefspropertypages.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2578,6 +2578,7 @@ BEGIN_MESSAGE_MAP(CPrefsP7, CGenPropertyPage)
25782578
ON_UPDATE_COMMAND_UI(IDC_MOVE_UP, OnUpdateCanSequence)
25792579
ON_UPDATE_COMMAND_UI(IDC_MOVE_DOWN, OnUpdateCanSequence)
25802580
ON_NOTIFY(NM_DBLCLK, ID_TREEVIEW, OnDblclkAliasesList)
2581+
ON_BN_CLICKED(ID_USE_TREEVIEW, OnUseTreeViewChecked)
25812582
END_MESSAGE_MAP()
25822583

25832584
/////////////////////////////////////////////////////////////////////////////
@@ -3380,6 +3381,12 @@ if (EditFilterText (m_doc->m_strAliasesFilter))
33803381
LoadList (); // need to reload the list now
33813382
}
33823383

3384+
void CPrefsP7::OnUseTreeViewChecked()
3385+
{
3386+
m_bWantTreeControl = ((CButton *) GetDlgItem (ID_USE_TREEVIEW))->GetCheck () != 0;
3387+
LoadList ();
3388+
} // end of CPrefsP7::OnUseTreeViewChecked
3389+
33833390
void CPrefsP7::GetFilterInfo (CObject * pItem, lua_State * L)
33843391
{
33853392
CAlias * alias = (CAlias *) pItem;
@@ -3541,6 +3548,7 @@ BEGIN_MESSAGE_MAP(CPrefsP8, CGenPropertyPage)
35413548
ON_UPDATE_COMMAND_UI(IDC_LOAD_TRIGGER, OnUpdateNotUsingDefaults)
35423549
ON_UPDATE_COMMAND_UI(IDC_USE_DEFAULT_TRIGGERS, OnUpdateHaveDefaults)
35433550
ON_NOTIFY(NM_DBLCLK, ID_TREEVIEW, OnDblclkTriggersList)
3551+
ON_BN_CLICKED(ID_USE_TREEVIEW, OnUseTreeViewChecked)
35443552
END_MESSAGE_MAP()
35453553

35463554
/////////////////////////////////////////////////////////////////////////////
@@ -4508,6 +4516,12 @@ if (EditFilterText (m_doc->m_strTriggersFilter))
45084516
LoadList (); // need to reload the list now
45094517
}
45104518

4519+
void CPrefsP8::OnUseTreeViewChecked()
4520+
{
4521+
m_bWantTreeControl = ((CButton *) GetDlgItem (ID_USE_TREEVIEW))->GetCheck () != 0;
4522+
LoadList ();
4523+
} // end of CPrefsP8::OnUseTreeViewChecked
4524+
45114525
void CPrefsP8::OnFilter()
45124526
{
45134527
LoadList (); // need to reload the list now
@@ -6205,6 +6219,7 @@ BEGIN_MESSAGE_MAP(CPrefsP16, CGenPropertyPage)
62056219
ON_UPDATE_COMMAND_UI(IDC_LOAD_TIMERS, OnUpdateNotUsingDefaults)
62066220
ON_UPDATE_COMMAND_UI(IDC_USE_DEFAULT_TIMERS, OnUpdateHaveDefaults)
62076221
ON_NOTIFY(NM_DBLCLK, ID_TREEVIEW, OnDblclkTimersList)
6222+
ON_BN_CLICKED(ID_USE_TREEVIEW, OnUseTreeViewChecked)
62086223
END_MESSAGE_MAP()
62096224

62106225
/////////////////////////////////////////////////////////////////////////////
@@ -6889,6 +6904,12 @@ if (EditFilterText (m_doc->m_strTimersFilter))
68896904
LoadList (); // need to reload the list now
68906905
}
68916906

6907+
void CPrefsP16::OnUseTreeViewChecked()
6908+
{
6909+
m_bWantTreeControl = ((CButton *) GetDlgItem (ID_USE_TREEVIEW))->GetCheck () != 0;
6910+
LoadList ();
6911+
} // end of CPrefsP16::OnUseTreeViewChecked
6912+
68926913
void CPrefsP16::GetFilterInfo (CObject * pItem, lua_State * L)
68936914
{
68946915
CTimer * timer = (CTimer *) pItem;

dialogs/world_prefs/prefspropertypages.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -654,6 +654,7 @@ class CPrefsP7 : public CGenPropertyPage
654654
afx_msg void OnUpdateNeedOneSelection(CCmdUI* pCmdUI);
655655
afx_msg void OnUpdateNeedXMLClipboard(CCmdUI* pCmdUI);
656656
afx_msg void OnUpdateCanSequence(CCmdUI* pCmdUI);
657+
afx_msg void OnUseTreeViewChecked();
657658
DECLARE_MESSAGE_MAP()
658659

659660
};
@@ -781,6 +782,7 @@ class CPrefsP8 : public CGenPropertyPage
781782
afx_msg void OnUpdateNeedSelection(CCmdUI* pCmdUI);
782783
afx_msg void OnUpdateNeedOneSelection(CCmdUI* pCmdUI);
783784
afx_msg void OnUpdateNeedXMLClipboard(CCmdUI* pCmdUI);
785+
afx_msg void OnUseTreeViewChecked();
784786
DECLARE_MESSAGE_MAP()
785787

786788
};
@@ -1384,6 +1386,7 @@ class CPrefsP16 : public CGenPropertyPage
13841386
afx_msg void OnUpdateNotUsingDefaults(CCmdUI* pCmdUI);
13851387
afx_msg void OnUpdateHaveDefaults(CCmdUI* pCmdUI);
13861388
afx_msg void OnUpdateNeedXMLClipboard(CCmdUI* pCmdUI);
1389+
afx_msg void OnUseTreeViewChecked();
13871390
DECLARE_MESSAGE_MAP()
13881391

13891392
};

0 commit comments

Comments
 (0)