X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/aa61d3525370a9b9fa8c797d9b7f89d96994db5f..df1496e3eb11e87e15a29fd04c068cd6cd3b607e:/samples/widgets/combobox.cpp diff --git a/samples/widgets/combobox.cpp b/samples/widgets/combobox.cpp index f973500bb2..2ac76337af 100644 --- a/samples/widgets/combobox.cpp +++ b/samples/widgets/combobox.cpp @@ -52,7 +52,7 @@ // control ids enum { - ComboPage_Reset = 100, + ComboPage_Reset = wxID_HIGHEST, ComboPage_CurText, ComboPage_InsertionPointText, ComboPage_Insert, @@ -85,9 +85,13 @@ enum class ComboboxWidgetsPage : public WidgetsPage { public: - ComboboxWidgetsPage(wxBookCtrlBase *book, wxImageList *imaglist); + ComboboxWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist); virtual wxControl *GetWidget() const { return m_combobox; } + virtual void RecreateWidget() { CreateCombo(); } + + // lazy creation of the content + virtual void CreateContent(); protected: // event handlers @@ -191,11 +195,19 @@ END_EVENT_TABLE() // implementation // ============================================================================ -IMPLEMENT_WIDGETS_PAGE(ComboboxWidgetsPage, _T("Combobox")); +#if defined(__WXUNIVERSAL__) + #define FAMILY_CTRLS UNIVERSAL_CTRLS +#else + #define FAMILY_CTRLS NATIVE_CTRLS +#endif + +IMPLEMENT_WIDGETS_PAGE(ComboboxWidgetsPage, _T("Combobox"), + FAMILY_CTRLS | WITH_ITEMS_CTRLS | COMBO_CTRLS + ); -ComboboxWidgetsPage::ComboboxWidgetsPage(wxBookCtrlBase *book, +ComboboxWidgetsPage::ComboboxWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist) - : WidgetsPage(book) + : WidgetsPage(book, imaglist, combobox_xpm) { // init everything m_chkSort = @@ -203,9 +215,10 @@ ComboboxWidgetsPage::ComboboxWidgetsPage(wxBookCtrlBase *book, m_combobox = (wxComboBox *)NULL; m_sizerCombo = (wxSizer *)NULL; +} - imaglist->Add(wxBitmap(combobox_xpm)); - +void ComboboxWidgetsPage::CreateContent() +{ /* 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 @@ -334,7 +347,7 @@ void ComboboxWidgetsPage::Reset() void ComboboxWidgetsPage::CreateCombo() { - int flags = 0; + int flags = ms_defaultFlags; if ( m_chkSort->GetValue() ) flags |= wxCB_SORT; @@ -401,7 +414,7 @@ void ComboboxWidgetsPage::OnButtonReset(wxCommandEvent& WXUNUSED(event)) void ComboboxWidgetsPage::OnButtonChange(wxCommandEvent& WXUNUSED(event)) { int sel = m_combobox->GetSelection(); - if ( sel != -1 ) + if ( sel != wxNOT_FOUND ) { #ifndef __WXGTK__ m_combobox->SetString(sel, m_textChange->GetValue()); @@ -524,7 +537,7 @@ void ComboboxWidgetsPage::OnUpdateUIDeleteButton(wxUpdateUIEvent& event) void ComboboxWidgetsPage::OnUpdateUIDeleteSelButton(wxUpdateUIEvent& event) { if (m_combobox) - event.Enable(m_combobox->GetSelection() != -1); + event.Enable(m_combobox->GetSelection() != wxNOT_FOUND); } void ComboboxWidgetsPage::OnUpdateUIClearButton(wxUpdateUIEvent& event)