]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/widgets/datepick.cpp
Rebaked makefiles after htmllistbox and collapsable panel additions.
[wxWidgets.git] / samples / widgets / datepick.cpp
index 89e9173e2ef83c8d6dd37d91e9f15689bbdd0605..f72112cf8b7a78bc71972fa034ea2361b39f1028 100644 (file)
@@ -75,6 +75,9 @@ public:
     virtual wxControl *GetWidget() const { return m_datePicker; }
     virtual void RecreateWidget() { CreateDatePicker(); }
 
+    // lazy creation of the content
+    virtual void CreateContent();
+
 protected:
     // event handlers
     void OnButtonSet(wxCommandEvent& event);
@@ -119,17 +122,24 @@ END_EVENT_TABLE()
 // implementation
 // ============================================================================
 
+#if defined(__WXMSW__)
+    #define FAMILY_CTRLS NATIVE_CTRLS
+#else
+    #define FAMILY_CTRLS GENERIC_CTRLS
+#endif
+
 IMPLEMENT_WIDGETS_PAGE(DatePickerWidgetsPage, wxT("DatePicker"),
-                       (int)wxPlatform(GENERIC_CTRLS).If(wxMSW,NATIVE_CTRLS)
-                       | PICKER_CTRLS
+                       FAMILY_CTRLS | PICKER_CTRLS
                        );
 
 DatePickerWidgetsPage::DatePickerWidgetsPage(WidgetsBookCtrl *book,
                                          wxImageList *imaglist)
-                      :WidgetsPage(book)
+                      :WidgetsPage(book, imaglist, datepick_xpm)
 {
-    imaglist->Add(wxBitmap(datepick_xpm));
+}
 
+void DatePickerWidgetsPage::CreateContent()
+{
     wxSizer *sizerTop = new wxBoxSizer(wxHORIZONTAL);
 
     // left pane
@@ -137,17 +147,17 @@ DatePickerWidgetsPage::DatePickerWidgetsPage(WidgetsBookCtrl *book,
 
     wxSizer *sizerLeft = new wxStaticBoxSizer(box, wxVERTICAL);
 
-    sizerLeft->Add( CreateSizerWithTextAndLabel( wxT("&Day"), DatePickerPage_Day , &m_day ),
-                    wxALL | wxALIGN_LEFT , 5 );
+    sizerLeft->Add( CreateSizerWithTextAndLabel( wxT("&Day:"), DatePickerPage_Day , &m_day ),
+                    0, wxALL | wxALIGN_RIGHT , 5 );
 
-    sizerLeft->Add( CreateSizerWithTextAndLabel( wxT("&Month"), DatePickerPage_Month , &m_month ),
-                    wxALL | wxALIGN_LEFT , 5 );
+    sizerLeft->Add( CreateSizerWithTextAndLabel( wxT("&Month:"), DatePickerPage_Month , &m_month ),
+                    0, wxALL | wxALIGN_RIGHT , 5 );
 
-    sizerLeft->Add( CreateSizerWithTextAndLabel( wxT("&Year"), DatePickerPage_Year , &m_year ),
-                    wxALL | wxALIGN_LEFT , 5 );
+    sizerLeft->Add( CreateSizerWithTextAndLabel( wxT("&Year:"), DatePickerPage_Year , &m_year ),
+                    0, wxALL | wxALIGN_RIGHT , 5 );
 
     sizerLeft->Add( new wxButton( this, wxID_ANY, wxT("&Set date") ),
-                    wxALL , 5 );
+                    0, wxALL , 5 );
 
     // right pane
     wxSizer *sizerRight = new wxBoxSizer(wxHORIZONTAL);