X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0b90b51ceb7eadbef93c256a42af49dae0659d34..c4e2838090992384911a6a6aa44cac985d79a555:/samples/widgets/widgets.h?ds=sidebyside diff --git a/samples/widgets/widgets.h b/samples/widgets/widgets.h index bfd7ca6b4f..6c45ee11ff 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,25 +13,34 @@ #define _WX_SAMPLE_WIDGETS_H_ class WXDLLEXPORT wxCheckBox; -class WXDLLEXPORT wxNotebook; +class WXDLLEXPORT wxBookCtrl; class WXDLLEXPORT wxSizer; class WXDLLEXPORT wxTextCtrl; -class WXDLLEXPORT WidgetsPageInfo; +class WidgetsPageInfo; #include "wx/panel.h" // 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(wxBookCtrl *book); + + // return the control shown by this page + virtual wxControl *GetWidget() const = 0; protected: // several helper functions for page creation @@ -40,24 +49,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 @@ -68,10 +77,10 @@ public: // dynamic WidgetsPage creation helpers // ---------------------------------------------------------------------------- -class WXDLLEXPORT WidgetsPageInfo +class WidgetsPageInfo { public: - typedef WidgetsPage *(*Constructor)(wxNotebook *notebook, + typedef WidgetsPage *(*Constructor)(wxBookCtrl *book, wxImageList *imaglist); // our ctor @@ -82,6 +91,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 +114,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(wxBookCtrl *book, \ wxImageList *imaglist) \ - { return new classname(notebook, imaglist); } \ + { return new classname(book, imaglist); } \ WidgetsPageInfo classname:: \ ms_info##classname(wxCtorFor##classname, label)