X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5e173f35d2a8177371d13d059d9f897e2c4f98be..2aefc52854807189d44dfe6a9513b99932cabc51:/samples/widgets/combobox.cpp diff --git a/samples/widgets/combobox.cpp b/samples/widgets/combobox.cpp index b270e2656c..42883f7e31 100644 --- a/samples/widgets/combobox.cpp +++ b/samples/widgets/combobox.cpp @@ -41,7 +41,7 @@ #include "wx/sizer.h" #include "widgets.h" - +#if 1 #include "icons/combobox.xpm" // ---------------------------------------------------------------------------- @@ -182,8 +182,6 @@ ComboboxWidgetsPage::ComboboxWidgetsPage(wxNotebook *notebook, wxImageList *imaglist) : WidgetsPage(notebook) { - imaglist->Add(wxBitmap(combobox_xpm)); - // init everything m_chkSort = m_chkReadonly = (wxCheckBox *)NULL; @@ -191,6 +189,8 @@ ComboboxWidgetsPage::ComboboxWidgetsPage(wxNotebook *notebook, m_combobox = (wxComboBox *)NULL; m_sizerCombo = (wxSizer *)NULL; + imaglist->Add(wxBitmap(combobox_xpm)); + /* What we create here is a frame having 3 panes: style pane is the leftmost one, in the middle the pane with buttons allowing to perform @@ -277,7 +277,7 @@ ComboboxWidgetsPage::ComboboxWidgetsPage(wxNotebook *notebook, 0, NULL, 0); sizerRight->Add(m_combobox, 1, wxGROW | wxALL, 5); - sizerRight->SetMinSize(250, 0); + sizerRight->SetMinSize(150, 0); m_sizerCombo = sizerRight; // save it to modify it later // the 3 panes panes compose the window @@ -340,7 +340,7 @@ void ComboboxWidgetsPage::CreateCombo() items.Add(m_combobox->GetString(n)); } - m_sizerCombo->Remove(m_combobox); + m_sizerCombo->Detach( m_combobox ); delete m_combobox; } @@ -411,7 +411,7 @@ void ComboboxWidgetsPage::OnButtonClear(wxCommandEvent& event) void ComboboxWidgetsPage::OnButtonAdd(wxCommandEvent& event) { - static size_t s_item = 0; + static unsigned int s_item = 0; wxString s = m_textAdd->GetValue(); if ( !m_textAdd->IsModified() ) @@ -426,7 +426,7 @@ void ComboboxWidgetsPage::OnButtonAdd(wxCommandEvent& event) void ComboboxWidgetsPage::OnButtonAddMany(wxCommandEvent& WXUNUSED(event)) { // "many" means 1000 here - for ( size_t n = 0; n < 1000; n++ ) + for ( unsigned int n = 0; n < 1000; n++ ) { m_combobox->Append(wxString::Format(_T("item #%u"), n)); } @@ -441,38 +441,49 @@ void ComboboxWidgetsPage::OnButtonAddSeveral(wxCommandEvent& event) void ComboboxWidgetsPage::OnUpdateUICurText(wxUpdateUIEvent& event) { - event.SetText( wxString::Format(_T("%d"), m_combobox->GetSelection()) ); + if (m_combobox) + event.SetText( wxString::Format(_T("%d"), m_combobox->GetSelection()) ); } void ComboboxWidgetsPage::OnUpdateUIResetButton(wxUpdateUIEvent& event) { - event.Enable( m_chkSort->GetValue() || m_chkReadonly->GetValue() ); + if (m_combobox) + event.Enable( m_chkSort->GetValue() || m_chkReadonly->GetValue() ); } void ComboboxWidgetsPage::OnUpdateUIDeleteButton(wxUpdateUIEvent& event) { - unsigned long n; - event.Enable(m_textDelete->GetValue().ToULong(&n) && - (n < (unsigned)m_combobox->GetCount())); + if (m_combobox) + { + unsigned long n; + event.Enable(m_textDelete->GetValue().ToULong(&n) && + (n < (unsigned)m_combobox->GetCount())); + } } void ComboboxWidgetsPage::OnUpdateUIDeleteSelButton(wxUpdateUIEvent& event) { - event.Enable(m_combobox->GetSelection() != -1); + if (m_combobox) + event.Enable(m_combobox->GetSelection() != -1); } void ComboboxWidgetsPage::OnUpdateUIClearButton(wxUpdateUIEvent& event) { - event.Enable(m_combobox->GetCount() != 0); + if (m_combobox) + event.Enable(m_combobox->GetCount() != 0); } void ComboboxWidgetsPage::OnUpdateUIAddSeveral(wxUpdateUIEvent& event) { - event.Enable(!(m_combobox->GetWindowStyle() & wxCB_SORT)); + if (m_combobox) + event.Enable(!(m_combobox->GetWindowStyle() & wxCB_SORT)); } void ComboboxWidgetsPage::OnComboText(wxCommandEvent& event) { + if (!m_combobox) + return; + wxString s = event.GetString(); wxASSERT_MSG( s == m_combobox->GetValue(), @@ -483,10 +494,10 @@ void ComboboxWidgetsPage::OnComboText(wxCommandEvent& event) void ComboboxWidgetsPage::OnComboBox(wxCommandEvent& event) { - int sel = event.GetInt(); + long sel = event.GetInt(); m_textDelete->SetValue(wxString::Format(_T("%ld"), sel)); - wxLogMessage(_T("Combobox item %d selected"), sel); + wxLogMessage(_T("Combobox item %ld selected"), sel); } void ComboboxWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& event) @@ -496,3 +507,4 @@ void ComboboxWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& event) #endif //wxUSE_COMBOBOX +#endif