From 1383699fac3b1fa93a4162cd21db4bf78609c7d1 Mon Sep 17 00:00:00 2001 From: zilmar Date: Tue, 13 Nov 2012 16:07:23 +1100 Subject: [PATCH] UI: Allow combo to have no auto selected value --- .../User Interface/Settings/Settings Page.h | 4 +-- .../WTL Controls/ModifiedComboBox.h | 30 ++++++++++++------- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/Source/Project64/User Interface/Settings/Settings Page.h b/Source/Project64/User Interface/Settings/Settings Page.h index 6d836485e..fe1056bd8 100644 --- a/Source/Project64/User Interface/Settings/Settings Page.h +++ b/Source/Project64/User Interface/Settings/Settings Page.h @@ -183,7 +183,7 @@ protected: return item->second; } - CModifiedComboBox * ComboBox = new CModifiedComboBox; + CModifiedComboBox * ComboBox = new CModifiedComboBox(_Settings->LoadDefaultDword(Type),NULL,false); if (ComboBox == NULL) { return NULL; @@ -201,7 +201,7 @@ protected: return item->second; } - CModifiedComboBoxTxt * ComboBox = new CModifiedComboBoxTxt; + CModifiedComboBoxTxt * ComboBox = new CModifiedComboBoxTxt(_Settings->LoadDefaultString(Type)); if (ComboBox == NULL) { return NULL; diff --git a/Source/Project64/User Interface/WTL Controls/ModifiedComboBox.h b/Source/Project64/User Interface/WTL Controls/ModifiedComboBox.h index f519ae36d..079edf625 100644 --- a/Source/Project64/User Interface/WTL Controls/ModifiedComboBox.h +++ b/Source/Project64/User Interface/WTL Controls/ModifiedComboBox.h @@ -6,18 +6,12 @@ class CModifiedComboBoxT : { typedef std::list TParamList; - bool m_Changed; - bool m_Reset; - TParam m_defaultValue; - HFONT m_BoldFont; - HFONT m_OriginalFont; - HWND m_TextField; - TParamList m_ParamList; - public: // Constructors - CModifiedComboBoxT(HWND hWnd = NULL) : + CModifiedComboBoxT(TParam defaultValue, HWND hWnd = NULL, bool AllwaysSelected = true) : CComboBox(hWnd), + m_defaultValue(defaultValue), + m_AllwaysSelected(AllwaysSelected), m_Changed(false), m_Reset(false), m_BoldFont(NULL), @@ -48,7 +42,7 @@ public: TParam * Value = new TParam(lParam); SetItemData(indx,(DWORD_PTR)(Value)); m_ParamList.push_back(Value); - if (GetCount() == 1 || m_defaultValue == lParam) + if ((m_AllwaysSelected && GetCount() == 1) || m_defaultValue == lParam) { SetCurSel(indx); } @@ -137,6 +131,22 @@ public: return m_Reset; } +private: + CModifiedComboBoxT(void); // Disable default constructor + CModifiedComboBoxT(const CModifiedComboBoxT&); // Disable copy constructor + CModifiedComboBoxT& operator=(const CModifiedComboBoxT&); // Disable assignment + + bool m_Changed; + bool m_Reset; + TParam m_defaultValue; + HFONT m_BoldFont; + HFONT m_OriginalFont; + HWND m_TextField; + bool m_AllwaysSelected; + + TParamList m_ParamList; + + }; typedef CModifiedComboBoxT CModifiedComboBox;