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);
// 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
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);