]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/widgets/widgets.h
Use wxDELETE() and wxDELETEA() when possible.
[wxWidgets.git] / samples / widgets / widgets.h
index a3f25a6a0486b262ae950f55c9b107d79f0d7f5c..d82b03d1bb45b2dc66d03beae7484fc187224d63 100644 (file)
@@ -27,7 +27,7 @@
     #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__)
@@ -52,6 +52,7 @@ class WXDLLIMPEXP_FWD_CORE WidgetsBookCtrl;
 class WidgetsPageInfo;
 
 #include "wx/panel.h"
+#include "wx/vector.h"
 
 // INTRODUCING NEW PAGES DON'T FORGET TO ADD ENTRIES TO 'WidgetsCategories'
 enum
@@ -83,6 +84,8 @@ enum
     ALL_CTRLS        = 1 << ALL_PAGE
 };
 
+typedef wxVector<wxControl *> Widgets;
+
 // ----------------------------------------------------------------------------
 // WidgetsPage: a book page demonstrating some widget
 // ----------------------------------------------------------------------------
@@ -97,11 +100,20 @@ public:
     // 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
     //