X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/be5a51fb592f3fa2ba38ac6cd1e488d6d806058c..17b1d76b4add82305463d10b9f65668d06169363:/samples/widgets/static.cpp diff --git a/samples/widgets/static.cpp b/samples/widgets/static.cpp index f8872d648d..fe33e6667c 100644 --- a/samples/widgets/static.cpp +++ b/samples/widgets/static.cpp @@ -51,7 +51,7 @@ // control ids enum { - StaticPage_Reset = 100, + StaticPage_Reset = wxID_HIGHEST, StaticPage_BoxText, StaticPage_LabelText }; @@ -139,8 +139,14 @@ END_EVENT_TABLE() class StaticWidgetsPage : public WidgetsPage { public: - StaticWidgetsPage(wxNotebook *notebook, wxImageList *imaglist); - virtual ~StaticWidgetsPage(); + StaticWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist); + virtual ~StaticWidgetsPage(){}; + + virtual wxControl *GetWidget() const { return m_statText; } + virtual void RecreateWidget() { CreateStatic(); } + + // lazy creation of the content + virtual void CreateContent(); protected: // event handlers @@ -170,7 +176,9 @@ protected: wxStaticBox *m_staticBox; wxStaticBoxSizer *m_sizerStatBox; wxStaticText *m_statText; +#if wxUSE_STATLINE wxStaticLine *m_statLine; +#endif // wxUSE_STATLINE wxSizer *m_sizerStatic; // the text entries for command parameters @@ -199,14 +207,14 @@ END_EVENT_TABLE() // implementation // ============================================================================ -IMPLEMENT_WIDGETS_PAGE(StaticWidgetsPage, _T("Static")); +IMPLEMENT_WIDGETS_PAGE(StaticWidgetsPage, _T("Static"), + (int)wxPlatform(GENERIC_CTRLS).If(wxOS_WINDOWS,NATIVE_CTRLS) + ); -StaticWidgetsPage::StaticWidgetsPage(wxNotebook *notebook, - wxImageList *imaglist) - : WidgetsPage(notebook) +StaticWidgetsPage::StaticWidgetsPage(WidgetsBookCtrl *book, + wxImageList *imaglist) + : WidgetsPage(book, imaglist, statbox_xpm) { - imaglist->Add(wxBitmap(statbox_xpm)); - // init everything m_chkVert = m_chkAutoResize = (wxCheckBox *)NULL; @@ -214,13 +222,18 @@ StaticWidgetsPage::StaticWidgetsPage(wxNotebook *notebook, m_radioHAlign = m_radioVAlign = (wxRadioBox *)NULL; +#if wxUSE_STATLINE m_statLine = (wxStaticLine *)NULL; +#endif // wxUSE_STATLINE m_statText = (wxStaticText *)NULL; m_staticBox = (wxStaticBox *)NULL; m_sizerStatBox = (wxStaticBoxSizer *)NULL; m_sizerStatic = (wxSizer *)NULL; +} +void StaticWidgetsPage::CreateContent() +{ wxSizer *sizerTop = new wxBoxSizer(wxHORIZONTAL); // left pane @@ -298,10 +311,6 @@ StaticWidgetsPage::StaticWidgetsPage(wxNotebook *notebook, sizerTop->Fit(this); } -StaticWidgetsPage::~StaticWidgetsPage() -{ -} - // ---------------------------------------------------------------------------- // operations // ---------------------------------------------------------------------------- @@ -325,11 +334,13 @@ void StaticWidgetsPage::CreateStatic() // delete m_sizerStatBox; -- deleted by Remove() m_sizerStatic->Remove(m_sizerStatBox); delete m_statText; +#if wxUSE_STATLINE delete m_statLine; +#endif // wxUSE_STATLINE } int flagsBox = 0, - flagsText = 0; + flagsText = ms_defaultFlags; if ( !m_chkAutoResize->GetValue() ) { @@ -388,12 +399,16 @@ void StaticWidgetsPage::CreateStatic() wxDefaultPosition, wxDefaultSize, flagsText); +#if wxUSE_STATLINE m_statLine = new wxStaticLine(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, isVert ? wxLI_VERTICAL : wxLI_HORIZONTAL); +#endif // wxUSE_STATLINE m_sizerStatBox->Add(m_statText, 1, wxGROW | wxALL, 5); +#if wxUSE_STATLINE m_sizerStatBox->Add(m_statLine, 0, wxGROW | wxALL, 5); +#endif // wxUSE_STATLINE m_sizerStatBox->Add(0, 0, 1); m_sizerStatic->Add(m_sizerStatBox, 1, wxGROW);