X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3379ed3789e405f874d9db757d95346f1d378795..761df41e86ceeed56d32c038a6c9f88554d4f47a:/samples/widgets/combobox.cpp diff --git a/samples/widgets/combobox.cpp b/samples/widgets/combobox.cpp index 365b2778f0..b4a4ecc961 100644 --- a/samples/widgets/combobox.cpp +++ b/samples/widgets/combobox.cpp @@ -133,8 +133,8 @@ protected: *m_textDelete; private: - DECLARE_EVENT_TABLE(); - DECLARE_WIDGETS_PAGE(ComboboxWidgetsPage); + DECLARE_EVENT_TABLE() + DECLARE_WIDGETS_PAGE(ComboboxWidgetsPage) }; // ---------------------------------------------------------------------------- @@ -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 @@ -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(),