]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/widgets/widgets.h
extracted MSW-specific setup.h options to their own wx/msw/setup_inc.h file which...
[wxWidgets.git] / samples / widgets / widgets.h
index 0c216bcd7fb1c0034151fb5f45da4cd610ffd225..e717e5ad08dc0d9d14087300dd2aa8a0d65a5a2d 100644 (file)
 #ifndef _WX_SAMPLE_WIDGETS_H_
 #define _WX_SAMPLE_WIDGETS_H_
 
-#if wxUSE_TREEBOOK
+#if wxUSE_TREEBOOK && !defined(__WXHANDHELD__)
     #include "wx/treebook.h"
     #define USE_TREEBOOK 1
     #define WidgetsBookCtrl wxTreebook
     #define WidgetsBookCtrlEvent wxTreebookEvent
-    #define EVT_WIDGETS_PAGE_CHANGED(id,func) EVT_TREEBOOK_PAGE_CHANGED(id,func)
+    #define EVT_WIDGETS_PAGE_CHANGING(id,func) EVT_TREEBOOK_PAGE_CHANGING(id,func)
+    #define wxEVT_COMMAND_WIDGETS_PAGE_CHANGED wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED
+    #define wxWidgetsbookEventHandler(func) wxTreebookEventHandler(func)
 #else
     #include "wx/bookctrl.h"
     #define USE_TREEBOOK 0
     #define WidgetsBookCtrl wxBookCtrl
     #define WidgetsBookCtrlEvent wxBookCtrlEvent
-    #define EVT_WIDGETS_PAGE_CHANGED(id,func) EVT_BOOKCTRL_PAGE_CHANGED(id,func)
+    #define EVT_WIDGETS_PAGE_CHANGING(id,func) EVT_BOOKCTRL_PAGE_CHANGING(id,func)
+    #define wxEVT_COMMAND_WIDGETS_PAGE_CHANGED wxEVT_COMMAND_BOOKCTRL_PAGE_CHANGED
+    #define wxWidgetsbookEventHandler(func) wxBookctrlEventHandler(func)
 #endif
 
-#if wxUSE_LOG && !defined(__SMARTPHONE__)
+#if wxUSE_LOG && !defined(__WXHANDHELD__)
     #define USE_LOG 1
 #else
     #define USE_LOG 0
 #endif
 
+#if defined(__WXHANDHELD__)
+    #define USE_ICONS_IN_BOOK 0
+#else
+    #define USE_ICONS_IN_BOOK 1
+    #define ICON_SIZE         16
+#endif
+
 class WXDLLEXPORT wxCheckBox;
 class WXDLLEXPORT wxSizer;
+class WXDLLEXPORT wxImageList;
 class WXDLLEXPORT wxTextCtrl;
 class WXDLLEXPORT WidgetsBookCtrl;
 
@@ -41,9 +53,6 @@ class WidgetsPageInfo;
 
 #include "wx/panel.h"
 
-// all source files use wxImageList
-#include "wx/imaglist.h"
-
 // INTRODUCING NEW PAGES DON'T FORGET TO ADD ENTRIES TO 'WidgetsCategories'
 enum
 {
@@ -81,11 +90,16 @@ enum
 class WidgetsPage : public wxPanel
 {
 public:
-    WidgetsPage(WidgetsBookCtrl *book);
+    WidgetsPage(WidgetsBookCtrl *book,
+                wxImageList *imaglist,
+                char* icon[]);
 
     // return the control shown by this page
     virtual wxControl *GetWidget() const = 0;
 
+    // lazy creation of the content
+    virtual void CreateContent() = 0;
+
     // some pages show 2 controls, in this case override this one as well
     virtual wxControl *GetWidget2() const { return NULL; }