X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/822b9009d7b28cfa941db19b7e4bfce6ea6bec48..bc429ce01f519f3edae182b516cb15b8d2df54a7:/samples/widgets/listbox.cpp diff --git a/samples/widgets/listbox.cpp b/samples/widgets/listbox.cpp index 9c83a9a467..b189d3b22b 100644 --- a/samples/widgets/listbox.cpp +++ b/samples/widgets/listbox.cpp @@ -55,7 +55,7 @@ // control ids enum { - ListboxPage_Reset = 100, + ListboxPage_Reset = wxID_HIGHEST, ListboxPage_Add, ListboxPage_AddText, ListboxPage_AddSeveral, @@ -76,9 +76,13 @@ enum class ListboxWidgetsPage : public WidgetsPage { public: - ListboxWidgetsPage(wxBookCtrl *book, wxImageList *imaglist); + ListboxWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist); virtual wxControl *GetWidget() const { return m_lbox; } + virtual void RecreateWidget() { CreateLbox(); } + + // lazy creation of the content + virtual void CreateContent(); protected: // event handlers @@ -141,7 +145,13 @@ protected: *m_chkOwnerDraw; // the listbox itself and the sizer it is in - wxListBox *m_lbox; +#ifdef __WXWINCE__ + wxListBoxBase +#else + wxListBox +#endif + *m_lbox; + wxSizer *m_sizerLbox; // the text entries for "Add/change string" and "Delete" buttons @@ -192,14 +202,20 @@ END_EVENT_TABLE() // implementation // ============================================================================ -IMPLEMENT_WIDGETS_PAGE(ListboxWidgetsPage, _T("Listbox")); +#if defined(__WXUNIVERSAL__) + #define FAMILY_CTRLS UNIVERSAL_CTRLS +#else + #define FAMILY_CTRLS NATIVE_CTRLS +#endif + +IMPLEMENT_WIDGETS_PAGE(ListboxWidgetsPage, _T("Listbox"), + FAMILY_CTRLS | WITH_ITEMS_CTRLS + ); -ListboxWidgetsPage::ListboxWidgetsPage(wxBookCtrl *book, +ListboxWidgetsPage::ListboxWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist) - : WidgetsPage(book) + : WidgetsPage(book, imaglist, listbox_xpm) { - imaglist->Add(wxBitmap(listbox_xpm)); - // init everything m_radioSelMode = (wxRadioBox *)NULL; @@ -209,9 +225,13 @@ ListboxWidgetsPage::ListboxWidgetsPage(wxBookCtrl *book, m_chkSort = m_chkOwnerDraw = (wxCheckBox *)NULL; - m_lbox = (wxListBox *)NULL; + m_lbox = NULL; m_sizerLbox = (wxSizer *)NULL; +} + +void ListboxWidgetsPage::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 +354,7 @@ void ListboxWidgetsPage::Reset() void ListboxWidgetsPage::CreateLbox() { - int flags = 0; + int flags = ms_defaultFlags; switch ( m_radioSelMode->GetSelection() ) { default: @@ -515,12 +535,12 @@ void ListboxWidgetsPage::OnListbox(wxCommandEvent& event) void ListboxWidgetsPage::OnListboxDClick(wxCommandEvent& event) { - wxLogMessage( _T("Listbox item %ld double clicked"), event.GetInt() ); + wxLogMessage( _T("Listbox item %d double clicked"), event.GetInt() ); } void ListboxWidgetsPage::OnCheckListbox(wxCommandEvent& event) { - wxLogMessage( _T("Listbox item %ld toggled"), event.GetInt() ); + wxLogMessage( _T("Listbox item %d toggled"), event.GetInt() ); } void ListboxWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& WXUNUSED(event))