#define WidgetsBookCtrlEvent wxBookCtrlEvent
#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)
+ #define wxWidgetsbookEventHandler(func) wxBookCtrlEventHandler(func)
#endif
#if wxUSE_LOG && !defined(__WXHANDHELD__)
class WidgetsPageInfo;
#include "wx/panel.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'
+ // In wxUniversal-based builds 'native' means 'made with wxUniv port
+ // renderer'
NATIVE_PAGE = 0,
UNIVERSAL_PAGE = NATIVE_PAGE,
GENERIC_PAGE,
ALL_CTRLS = 1 << ALL_PAGE
};
+typedef wxVector<wxControl *> Widgets;
+
// ----------------------------------------------------------------------------
// WidgetsPage: a book page demonstrating some widget
// ----------------------------------------------------------------------------
public:
WidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist,
- char* icon[]);
+ const char *const icon[]);
// return the control shown by this page
virtual wxControl *GetWidget() const = 0;
+ // 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 2 controls, in this case override this one as well
- virtual wxControl *GetWidget2() const { return NULL; }
+ // 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
//