]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/widgets/slider.cpp
fix for potential crash when conversion fails
[wxWidgets.git] / samples / widgets / slider.cpp
index b647856eb8ab06102fdeb9fbbbddb4fafe7b8f6d..ec7b0bf6045a1018369e383e98a6a3b76e5b39e1 100644 (file)
@@ -89,12 +89,15 @@ enum
 class SliderWidgetsPage : public WidgetsPage
 {
 public:
-    SliderWidgetsPage(wxBookCtrlBase *book, wxImageList *imaglist);
+    SliderWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
     virtual ~SliderWidgetsPage(){};
 
     virtual wxControl *GetWidget() const { return m_slider; }
     virtual void RecreateWidget() { CreateSlider(); }
 
+    // lazy creation of the content
+    virtual void CreateContent();
+
 protected:
     // event handlers
     void OnButtonReset(wxCommandEvent& event);
@@ -198,14 +201,18 @@ END_EVENT_TABLE()
 // implementation
 // ============================================================================
 
-IMPLEMENT_WIDGETS_PAGE(SliderWidgetsPage, _T("Slider"));
+#if defined(__WXUNIVERSAL__)
+    #define FAMILY_CTRLS UNIVERSAL_CTRLS
+#else
+    #define FAMILY_CTRLS NATIVE_CTRLS
+#endif
+
+IMPLEMENT_WIDGETS_PAGE(SliderWidgetsPage, _T("Slider"), FAMILY_CTRLS );
 
-SliderWidgetsPage::SliderWidgetsPage(wxBookCtrlBase *book,
+SliderWidgetsPage::SliderWidgetsPage(WidgetsBookCtrl *book,
                                      wxImageList *imaglist)
-                  : WidgetsPage(book)
+                  : WidgetsPage(book, imaglist, slider_xpm)
 {
-    imaglist->Add(wxBitmap(slider_xpm));
-
     // init everything
     m_min = 0;
     m_max = 100;
@@ -219,7 +226,10 @@ SliderWidgetsPage::SliderWidgetsPage(wxBookCtrlBase *book,
 
     m_slider = (wxSlider *)NULL;
     m_sizerSlider = (wxSizer *)NULL;
+}
 
+void SliderWidgetsPage::CreateContent()
+{
     wxSizer *sizerTop = new wxBoxSizer(wxHORIZONTAL);
 
     // left pane