X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3e764e2f80372ba6fdd0ee1c27e8af09f3a38a0d..f21467d8ec6c42606f2e875a286909984722d4b6:/samples/widgets/button.cpp?ds=sidebyside diff --git a/samples/widgets/button.cpp b/samples/widgets/button.cpp index 4a17b65be1..c06a28bf69 100644 --- a/samples/widgets/button.cpp +++ b/samples/widgets/button.cpp @@ -52,7 +52,7 @@ // control ids enum { - ButtonPage_Reset = 100, + ButtonPage_Reset = wxID_HIGHEST, ButtonPage_ChangeLabel, ButtonPage_Button }; @@ -79,10 +79,14 @@ enum class ButtonWidgetsPage : public WidgetsPage { public: - ButtonWidgetsPage(wxBookCtrlBase *book, wxImageList *imaglist); + ButtonWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist); virtual ~ButtonWidgetsPage(){}; virtual wxControl *GetWidget() const { return m_button; } + virtual void RecreateWidget() { CreateButton(); } + + // lazy creation of the content + virtual void CreateContent(); protected: // event handlers @@ -153,14 +157,18 @@ END_EVENT_TABLE() // implementation // ============================================================================ -IMPLEMENT_WIDGETS_PAGE(ButtonWidgetsPage, _T("Button")); +#if defined(__WXUNIVERSAL__) + #define FAMILY_CTRLS UNIVERSAL_CTRLS +#else + #define FAMILY_CTRLS NATIVE_CTRLS +#endif + +IMPLEMENT_WIDGETS_PAGE(ButtonWidgetsPage, _T("Button"), FAMILY_CTRLS ); -ButtonWidgetsPage::ButtonWidgetsPage(wxBookCtrlBase *book, +ButtonWidgetsPage::ButtonWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist) - : WidgetsPage(book) + : WidgetsPage(book, imaglist, button_xpm) { - imaglist->Add(wxBitmap(button_xpm)); - // init everything m_chkBitmap = m_chkImage = @@ -178,7 +186,10 @@ ButtonWidgetsPage::ButtonWidgetsPage(wxBookCtrlBase *book, m_button = (wxButton *)NULL; m_sizerButton = (wxSizer *)NULL; +} +void ButtonWidgetsPage::CreateContent() +{ wxSizer *sizerTop = new wxBoxSizer(wxHORIZONTAL); // left pane @@ -311,7 +322,7 @@ void ButtonWidgetsPage::CreateButton() label = m_textLabel->GetValue(); } - int flags = 0; + int flags = ms_defaultFlags; switch ( m_radioHAlign->GetSelection() ) { case ButtonHAlign_Left: @@ -341,7 +352,7 @@ void ButtonWidgetsPage::CreateButton() // fall through case ButtonVAlign_Centre: - flags |= wxALIGN_CENTRE_VERTICAL; + // centre vertical alignment is the default (no style) break; case ButtonVAlign_Bottom: