allow to test changing combobox selection too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -53,6 +53,7 @@
|
||||
enum
|
||||
{
|
||||
ComboPage_Reset = wxID_HIGHEST,
|
||||
ComboPage_SetCurrent,
|
||||
ComboPage_CurText,
|
||||
ComboPage_InsertionPointText,
|
||||
ComboPage_Insert,
|
||||
@@ -104,13 +105,13 @@ protected:
|
||||
void OnButtonAdd(wxCommandEvent& event);
|
||||
void OnButtonAddSeveral(wxCommandEvent& event);
|
||||
void OnButtonAddMany(wxCommandEvent& event);
|
||||
void OnButtonSetCurrent(wxCommandEvent& event);
|
||||
|
||||
void OnComboBox(wxCommandEvent& event);
|
||||
void OnComboText(wxCommandEvent& event);
|
||||
|
||||
void OnCheckOrRadioBox(wxCommandEvent& event);
|
||||
|
||||
void OnUpdateUICurText(wxUpdateUIEvent& event);
|
||||
void OnUpdateUIInsertionPointText(wxUpdateUIEvent& event);
|
||||
|
||||
void OnUpdateUIInsert(wxUpdateUIEvent& event);
|
||||
@@ -119,6 +120,7 @@ protected:
|
||||
void OnUpdateUIDeleteButton(wxUpdateUIEvent& event);
|
||||
void OnUpdateUIDeleteSelButton(wxUpdateUIEvent& event);
|
||||
void OnUpdateUIResetButton(wxUpdateUIEvent& event);
|
||||
void OnUpdateUISetCurrent(wxUpdateUIEvent& event);
|
||||
|
||||
// reset the combobox parameters
|
||||
void Reset();
|
||||
@@ -145,7 +147,8 @@ protected:
|
||||
wxTextCtrl *m_textInsert,
|
||||
*m_textAdd,
|
||||
*m_textChange,
|
||||
*m_textDelete;
|
||||
*m_textDelete,
|
||||
*m_textCur;
|
||||
|
||||
private:
|
||||
DECLARE_EVENT_TABLE()
|
||||
@@ -166,12 +169,12 @@ BEGIN_EVENT_TABLE(ComboboxWidgetsPage, WidgetsPage)
|
||||
EVT_BUTTON(ComboPage_Add, ComboboxWidgetsPage::OnButtonAdd)
|
||||
EVT_BUTTON(ComboPage_AddSeveral, ComboboxWidgetsPage::OnButtonAddSeveral)
|
||||
EVT_BUTTON(ComboPage_AddMany, ComboboxWidgetsPage::OnButtonAddMany)
|
||||
EVT_BUTTON(ComboPage_SetCurrent, ComboboxWidgetsPage::OnButtonSetCurrent)
|
||||
|
||||
EVT_TEXT_ENTER(ComboPage_InsertText, ComboboxWidgetsPage::OnButtonInsert)
|
||||
EVT_TEXT_ENTER(ComboPage_AddText, ComboboxWidgetsPage::OnButtonAdd)
|
||||
EVT_TEXT_ENTER(ComboPage_DeleteText, ComboboxWidgetsPage::OnButtonDelete)
|
||||
|
||||
EVT_UPDATE_UI(ComboPage_CurText, ComboboxWidgetsPage::OnUpdateUICurText)
|
||||
EVT_UPDATE_UI(ComboPage_InsertionPointText, ComboboxWidgetsPage::OnUpdateUIInsertionPointText)
|
||||
|
||||
EVT_UPDATE_UI(ComboPage_Reset, ComboboxWidgetsPage::OnUpdateUIResetButton)
|
||||
@@ -183,6 +186,7 @@ BEGIN_EVENT_TABLE(ComboboxWidgetsPage, WidgetsPage)
|
||||
EVT_UPDATE_UI(ComboPage_Change, ComboboxWidgetsPage::OnUpdateUIDeleteSelButton)
|
||||
EVT_UPDATE_UI(ComboPage_ChangeText, ComboboxWidgetsPage::OnUpdateUIDeleteSelButton)
|
||||
EVT_UPDATE_UI(ComboPage_DeleteSel, ComboboxWidgetsPage::OnUpdateUIDeleteSelButton)
|
||||
EVT_UPDATE_UI(ComboPage_SetCurrent, ComboboxWidgetsPage::OnUpdateUISetCurrent)
|
||||
|
||||
EVT_COMBOBOX(ComboPage_Combo, ComboboxWidgetsPage::OnComboBox)
|
||||
EVT_TEXT(ComboPage_Combo, ComboboxWidgetsPage::OnComboText)
|
||||
@@ -265,14 +269,14 @@ void ComboboxWidgetsPage::CreateContent()
|
||||
|
||||
wxSizer *sizerRow;
|
||||
|
||||
wxTextCtrl *text;
|
||||
sizerRow = CreateSizerWithTextAndLabel(_T("Current selection"),
|
||||
ComboPage_CurText,
|
||||
&text);
|
||||
text->SetEditable(false);
|
||||
sizerRow = CreateSizerWithTextAndButton(ComboPage_SetCurrent,
|
||||
_T("Current &selection"),
|
||||
ComboPage_CurText,
|
||||
&m_textCur);
|
||||
|
||||
sizerMiddle->Add(sizerRow, 0, wxALL | wxGROW, 5);
|
||||
|
||||
wxTextCtrl *text;
|
||||
sizerRow = CreateSizerWithTextAndLabel(_T("Insertion Point"),
|
||||
ComboPage_InsertionPointText,
|
||||
&text);
|
||||
@@ -496,6 +500,15 @@ void ComboboxWidgetsPage::OnButtonAddMany(wxCommandEvent& WXUNUSED(event))
|
||||
}
|
||||
}
|
||||
|
||||
void ComboboxWidgetsPage::OnButtonSetCurrent(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
long n;
|
||||
if ( !m_textCur->GetValue().ToLong(&n) )
|
||||
return;
|
||||
|
||||
m_combobox->SetSelection(n);
|
||||
}
|
||||
|
||||
void ComboboxWidgetsPage::OnButtonAddSeveral(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
m_combobox->Append(_T("First"));
|
||||
@@ -503,12 +516,6 @@ void ComboboxWidgetsPage::OnButtonAddSeveral(wxCommandEvent& WXUNUSED(event))
|
||||
m_combobox->Append(_T("and the last (very very very very very very very very very very long) one"));
|
||||
}
|
||||
|
||||
void ComboboxWidgetsPage::OnUpdateUICurText(wxUpdateUIEvent& event)
|
||||
{
|
||||
if (m_combobox)
|
||||
event.SetText( wxString::Format(_T("%d"), m_combobox->GetSelection()) );
|
||||
}
|
||||
|
||||
void ComboboxWidgetsPage::OnUpdateUIInsertionPointText(wxUpdateUIEvent& event)
|
||||
{
|
||||
if (m_combobox)
|
||||
@@ -561,6 +568,14 @@ void ComboboxWidgetsPage::OnUpdateUIAddSeveral(wxUpdateUIEvent& event)
|
||||
event.Enable(!(m_combobox->GetWindowStyle() & wxCB_SORT));
|
||||
}
|
||||
|
||||
void ComboboxWidgetsPage::OnUpdateUISetCurrent(wxUpdateUIEvent& event)
|
||||
{
|
||||
long n;
|
||||
event.Enable( m_textCur->GetValue().ToLong(&n) &&
|
||||
(n == wxNOT_FOUND ||
|
||||
(n >= 0 && (unsigned)n < m_combobox->GetCount())) );
|
||||
}
|
||||
|
||||
void ComboboxWidgetsPage::OnComboText(wxCommandEvent& event)
|
||||
{
|
||||
if (!m_combobox)
|
||||
@@ -580,7 +595,9 @@ void ComboboxWidgetsPage::OnComboText(wxCommandEvent& event)
|
||||
void ComboboxWidgetsPage::OnComboBox(wxCommandEvent& event)
|
||||
{
|
||||
long sel = event.GetInt();
|
||||
m_textDelete->SetValue(wxString::Format(_T("%ld"), sel));
|
||||
const wxString selstr = wxString::Format(_T("%ld"), sel);
|
||||
m_textDelete->SetValue(selstr);
|
||||
m_textCur->SetValue(selstr);
|
||||
|
||||
wxLogMessage(_T("Combobox item %ld selected"), sel);
|
||||
|
||||
|
Reference in New Issue
Block a user