X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f2fdc4d56e41711ce7c547484bf97aa0c2bd997a..85047589a993f5c5529e1dae284be8af84cd68ef:/samples/widgets/widgets.h diff --git a/samples/widgets/widgets.h b/samples/widgets/widgets.h index cb07dde406..d82b03d1bb 100644 --- a/samples/widgets/widgets.h +++ b/samples/widgets/widgets.h @@ -12,42 +12,55 @@ #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 -class WXDLLEXPORT wxCheckBox; -class WXDLLEXPORT wxSizer; -class WXDLLEXPORT wxTextCtrl; -class WXDLLEXPORT WidgetsBookCtrl; +#if defined(__WXHANDHELD__) + #define USE_ICONS_IN_BOOK 0 +#else + #define USE_ICONS_IN_BOOK 1 + #define ICON_SIZE 16 +#endif + +class WXDLLIMPEXP_FWD_CORE wxCheckBox; +class WXDLLIMPEXP_FWD_CORE wxSizer; +class WXDLLIMPEXP_FWD_CORE wxImageList; +class WXDLLIMPEXP_FWD_CORE wxTextCtrl; +class WXDLLIMPEXP_FWD_CORE WidgetsBookCtrl; class WidgetsPageInfo; #include "wx/panel.h" - -// all source files use wxImageList -#include "wx/imaglist.h" +#include "wx/vector.h" // INTRODUCING NEW PAGES DON'T FORGET TO ADD ENTRIES TO 'WidgetsCategories' enum { + // On wxUniversal-based build (wxX11, wxMGL, wxMSWUniv, wxGTKUniv, etc.) + // 'native' means 'made with wxUniv port renderer' NATIVE_PAGE = 0, + UNIVERSAL_PAGE = NATIVE_PAGE, GENERIC_PAGE, PICKER_PAGE, COMBO_PAGE, @@ -61,6 +74,7 @@ enum enum { NATIVE_CTRLS = 1 << NATIVE_PAGE, + UNIVERSAL_CTRLS = NATIVE_CTRLS, GENERIC_CTRLS = 1 << GENERIC_PAGE, PICKER_CTRLS = 1 << PICKER_PAGE, COMBO_CTRLS = 1 << COMBO_PAGE, @@ -70,6 +84,8 @@ enum ALL_CTRLS = 1 << ALL_PAGE }; +typedef wxVector Widgets; + // ---------------------------------------------------------------------------- // WidgetsPage: a book page demonstrating some widget // ---------------------------------------------------------------------------- @@ -77,13 +93,27 @@ enum class WidgetsPage : public wxPanel { public: - WidgetsPage(WidgetsBookCtrl *book); + WidgetsPage(WidgetsBookCtrl *book, + wxImageList *imaglist, + const char *const icon[]); // 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; } + // return the control shown by this page, if it supports text entry interface + virtual wxTextEntryBase *GetTextEntry() const { return NULL; } + + // lazy creation of the content + virtual void CreateContent() = 0; + + // some pages show additional controls, in this case override this one to + // return all of them (including the one returned by GetWidget()) + virtual Widgets GetWidgets() const + { + Widgets widgets; + widgets.push_back(GetWidget()); + return widgets; + } // recreate the control shown by this page //