X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b5f62a0b2db198609b45dec622a018dae37008e..f5058cd7d926d45a6b0673a0b557ca0792f60e48:/samples/widgets/widgets.h?ds=sidebyside diff --git a/samples/widgets/widgets.h b/samples/widgets/widgets.h index 7f36a57134..d8e40df3ce 100644 --- a/samples/widgets/widgets.h +++ b/samples/widgets/widgets.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Program: wxWindows Widgets Sample +// Program: wxWidgets Widgets Sample // Name: widgets.h // Purpose: Common stuff for all widgets project files // Author: Vadim Zeitlin @@ -13,7 +13,7 @@ #define _WX_SAMPLE_WIDGETS_H_ class WXDLLEXPORT wxCheckBox; -class WXDLLEXPORT wxNotebook; +class WXDLLEXPORT wxBookCtrlBase; class WXDLLEXPORT wxSizer; class WXDLLEXPORT wxTextCtrl; @@ -24,14 +24,34 @@ class WidgetsPageInfo; // all source files use wxImageList #include "wx/imaglist.h" +#if wxUSE_LOG && !defined(__SMARTPHONE__) + #define USE_LOG 1 +#else + #define USE_LOG 0 +#endif + // ---------------------------------------------------------------------------- -// WidgetsPage: a notebook page demonstrating some widget +// WidgetsPage: a book page demonstrating some widget // ---------------------------------------------------------------------------- class WidgetsPage : public wxPanel { public: - WidgetsPage(wxNotebook *notebook); + WidgetsPage(wxBookCtrlBase *book); + + // return the control shown by this page + virtual wxControl *GetWidget() const = 0; + + // some pages show 2 controls, in this case override this one as well + virtual wxControl *GetWidget2() const { return NULL; } + + // recreate the control shown by this page + // + // this is currently used only to take into account the border flags + virtual void RecreateWidget() = 0; + + // the default flags for the widget, currently only contains border flags + static int ms_defaultFlags; protected: // several helper functions for page creation @@ -40,24 +60,24 @@ protected: // (pointer to which will be saved in the provided variable if not NULL) // with the specified id wxSizer *CreateSizerWithText(wxControl *control, - wxWindowID id = -1, + wxWindowID id = wxID_ANY, wxTextCtrl **ppText = NULL); // create a sizer containing a label and a text ctrl wxSizer *CreateSizerWithTextAndLabel(const wxString& label, - wxWindowID id = -1, + wxWindowID id = wxID_ANY, wxTextCtrl **ppText = NULL); // create a sizer containing a button and a text ctrl wxSizer *CreateSizerWithTextAndButton(wxWindowID idBtn, const wxString& labelBtn, - wxWindowID id = -1, + wxWindowID id = wxID_ANY, wxTextCtrl **ppText = NULL); // create a checkbox and add it to the sizer wxCheckBox *CreateCheckBoxAndAddToSizer(wxSizer *sizer, const wxString& label, - wxWindowID id = -1); + wxWindowID id = wxID_ANY); public: // the head of the linked list containinginfo about all pages @@ -71,7 +91,7 @@ public: class WidgetsPageInfo { public: - typedef WidgetsPage *(*Constructor)(wxNotebook *notebook, + typedef WidgetsPage *(*Constructor)(wxBookCtrlBase *book, wxImageList *imaglist); // our ctor @@ -82,6 +102,8 @@ public: Constructor GetCtor() const { return m_ctor; } WidgetsPageInfo *GetNext() const { return m_next; } + void SetNext(WidgetsPageInfo *next) { m_next = next; } + private: // the label of the page wxString m_label; @@ -103,9 +125,9 @@ private: // and this one must be inserted somewhere in the source file #define IMPLEMENT_WIDGETS_PAGE(classname, label) \ - WidgetsPage *wxCtorFor##classname(wxNotebook *notebook, \ + WidgetsPage *wxCtorFor##classname(wxBookCtrlBase *book, \ wxImageList *imaglist) \ - { return new classname(notebook, imaglist); } \ + { return new classname(book, imaglist); } \ WidgetsPageInfo classname:: \ ms_info##classname(wxCtorFor##classname, label)