]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/widgets/widgets.h
bakefile-generated makefiles for the sample
[wxWidgets.git] / samples / widgets / widgets.h
index 47ffc41c9b9065b262e72f218861aa4abcfcf12b..d8e40df3ce335321434a164dd80eb83f79b7bcb4 100644 (file)
@@ -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,18 +24,35 @@ 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
 
@@ -74,7 +91,7 @@ public:
 class WidgetsPageInfo
 {
 public:
-    typedef WidgetsPage *(*Constructor)(wxNotebook *notebook,
+    typedef WidgetsPage *(*Constructor)(wxBookCtrlBase *book,
                                         wxImageList *imaglist);
 
     // our ctor
@@ -108,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)