#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;
#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
{
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; }