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
|
enum
|
||||||
{
|
{
|
||||||
ComboPage_Reset = wxID_HIGHEST,
|
ComboPage_Reset = wxID_HIGHEST,
|
||||||
|
ComboPage_SetCurrent,
|
||||||
ComboPage_CurText,
|
ComboPage_CurText,
|
||||||
ComboPage_InsertionPointText,
|
ComboPage_InsertionPointText,
|
||||||
ComboPage_Insert,
|
ComboPage_Insert,
|
||||||
@@ -104,13 +105,13 @@ protected:
|
|||||||
void OnButtonAdd(wxCommandEvent& event);
|
void OnButtonAdd(wxCommandEvent& event);
|
||||||
void OnButtonAddSeveral(wxCommandEvent& event);
|
void OnButtonAddSeveral(wxCommandEvent& event);
|
||||||
void OnButtonAddMany(wxCommandEvent& event);
|
void OnButtonAddMany(wxCommandEvent& event);
|
||||||
|
void OnButtonSetCurrent(wxCommandEvent& event);
|
||||||
|
|
||||||
void OnComboBox(wxCommandEvent& event);
|
void OnComboBox(wxCommandEvent& event);
|
||||||
void OnComboText(wxCommandEvent& event);
|
void OnComboText(wxCommandEvent& event);
|
||||||
|
|
||||||
void OnCheckOrRadioBox(wxCommandEvent& event);
|
void OnCheckOrRadioBox(wxCommandEvent& event);
|
||||||
|
|
||||||
void OnUpdateUICurText(wxUpdateUIEvent& event);
|
|
||||||
void OnUpdateUIInsertionPointText(wxUpdateUIEvent& event);
|
void OnUpdateUIInsertionPointText(wxUpdateUIEvent& event);
|
||||||
|
|
||||||
void OnUpdateUIInsert(wxUpdateUIEvent& event);
|
void OnUpdateUIInsert(wxUpdateUIEvent& event);
|
||||||
@@ -119,6 +120,7 @@ protected:
|
|||||||
void OnUpdateUIDeleteButton(wxUpdateUIEvent& event);
|
void OnUpdateUIDeleteButton(wxUpdateUIEvent& event);
|
||||||
void OnUpdateUIDeleteSelButton(wxUpdateUIEvent& event);
|
void OnUpdateUIDeleteSelButton(wxUpdateUIEvent& event);
|
||||||
void OnUpdateUIResetButton(wxUpdateUIEvent& event);
|
void OnUpdateUIResetButton(wxUpdateUIEvent& event);
|
||||||
|
void OnUpdateUISetCurrent(wxUpdateUIEvent& event);
|
||||||
|
|
||||||
// reset the combobox parameters
|
// reset the combobox parameters
|
||||||
void Reset();
|
void Reset();
|
||||||
@@ -145,7 +147,8 @@ protected:
|
|||||||
wxTextCtrl *m_textInsert,
|
wxTextCtrl *m_textInsert,
|
||||||
*m_textAdd,
|
*m_textAdd,
|
||||||
*m_textChange,
|
*m_textChange,
|
||||||
*m_textDelete;
|
*m_textDelete,
|
||||||
|
*m_textCur;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
@@ -166,12 +169,12 @@ BEGIN_EVENT_TABLE(ComboboxWidgetsPage, WidgetsPage)
|
|||||||
EVT_BUTTON(ComboPage_Add, ComboboxWidgetsPage::OnButtonAdd)
|
EVT_BUTTON(ComboPage_Add, ComboboxWidgetsPage::OnButtonAdd)
|
||||||
EVT_BUTTON(ComboPage_AddSeveral, ComboboxWidgetsPage::OnButtonAddSeveral)
|
EVT_BUTTON(ComboPage_AddSeveral, ComboboxWidgetsPage::OnButtonAddSeveral)
|
||||||
EVT_BUTTON(ComboPage_AddMany, ComboboxWidgetsPage::OnButtonAddMany)
|
EVT_BUTTON(ComboPage_AddMany, ComboboxWidgetsPage::OnButtonAddMany)
|
||||||
|
EVT_BUTTON(ComboPage_SetCurrent, ComboboxWidgetsPage::OnButtonSetCurrent)
|
||||||
|
|
||||||
EVT_TEXT_ENTER(ComboPage_InsertText, ComboboxWidgetsPage::OnButtonInsert)
|
EVT_TEXT_ENTER(ComboPage_InsertText, ComboboxWidgetsPage::OnButtonInsert)
|
||||||
EVT_TEXT_ENTER(ComboPage_AddText, ComboboxWidgetsPage::OnButtonAdd)
|
EVT_TEXT_ENTER(ComboPage_AddText, ComboboxWidgetsPage::OnButtonAdd)
|
||||||
EVT_TEXT_ENTER(ComboPage_DeleteText, ComboboxWidgetsPage::OnButtonDelete)
|
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_InsertionPointText, ComboboxWidgetsPage::OnUpdateUIInsertionPointText)
|
||||||
|
|
||||||
EVT_UPDATE_UI(ComboPage_Reset, ComboboxWidgetsPage::OnUpdateUIResetButton)
|
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_Change, ComboboxWidgetsPage::OnUpdateUIDeleteSelButton)
|
||||||
EVT_UPDATE_UI(ComboPage_ChangeText, ComboboxWidgetsPage::OnUpdateUIDeleteSelButton)
|
EVT_UPDATE_UI(ComboPage_ChangeText, ComboboxWidgetsPage::OnUpdateUIDeleteSelButton)
|
||||||
EVT_UPDATE_UI(ComboPage_DeleteSel, ComboboxWidgetsPage::OnUpdateUIDeleteSelButton)
|
EVT_UPDATE_UI(ComboPage_DeleteSel, ComboboxWidgetsPage::OnUpdateUIDeleteSelButton)
|
||||||
|
EVT_UPDATE_UI(ComboPage_SetCurrent, ComboboxWidgetsPage::OnUpdateUISetCurrent)
|
||||||
|
|
||||||
EVT_COMBOBOX(ComboPage_Combo, ComboboxWidgetsPage::OnComboBox)
|
EVT_COMBOBOX(ComboPage_Combo, ComboboxWidgetsPage::OnComboBox)
|
||||||
EVT_TEXT(ComboPage_Combo, ComboboxWidgetsPage::OnComboText)
|
EVT_TEXT(ComboPage_Combo, ComboboxWidgetsPage::OnComboText)
|
||||||
@@ -265,14 +269,14 @@ void ComboboxWidgetsPage::CreateContent()
|
|||||||
|
|
||||||
wxSizer *sizerRow;
|
wxSizer *sizerRow;
|
||||||
|
|
||||||
wxTextCtrl *text;
|
sizerRow = CreateSizerWithTextAndButton(ComboPage_SetCurrent,
|
||||||
sizerRow = CreateSizerWithTextAndLabel(_T("Current selection"),
|
_T("Current &selection"),
|
||||||
ComboPage_CurText,
|
ComboPage_CurText,
|
||||||
&text);
|
&m_textCur);
|
||||||
text->SetEditable(false);
|
|
||||||
|
|
||||||
sizerMiddle->Add(sizerRow, 0, wxALL | wxGROW, 5);
|
sizerMiddle->Add(sizerRow, 0, wxALL | wxGROW, 5);
|
||||||
|
|
||||||
|
wxTextCtrl *text;
|
||||||
sizerRow = CreateSizerWithTextAndLabel(_T("Insertion Point"),
|
sizerRow = CreateSizerWithTextAndLabel(_T("Insertion Point"),
|
||||||
ComboPage_InsertionPointText,
|
ComboPage_InsertionPointText,
|
||||||
&text);
|
&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))
|
void ComboboxWidgetsPage::OnButtonAddSeveral(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
m_combobox->Append(_T("First"));
|
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"));
|
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)
|
void ComboboxWidgetsPage::OnUpdateUIInsertionPointText(wxUpdateUIEvent& event)
|
||||||
{
|
{
|
||||||
if (m_combobox)
|
if (m_combobox)
|
||||||
@@ -561,6 +568,14 @@ void ComboboxWidgetsPage::OnUpdateUIAddSeveral(wxUpdateUIEvent& event)
|
|||||||
event.Enable(!(m_combobox->GetWindowStyle() & wxCB_SORT));
|
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)
|
void ComboboxWidgetsPage::OnComboText(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
if (!m_combobox)
|
if (!m_combobox)
|
||||||
@@ -580,7 +595,9 @@ void ComboboxWidgetsPage::OnComboText(wxCommandEvent& event)
|
|||||||
void ComboboxWidgetsPage::OnComboBox(wxCommandEvent& event)
|
void ComboboxWidgetsPage::OnComboBox(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
long sel = event.GetInt();
|
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);
|
wxLogMessage(_T("Combobox item %ld selected"), sel);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user