]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/calendar/calendar.cpp
Fixes to allow compilation with no wchar_t (djgpp probably has a real wchar_t
[wxWidgets.git] / samples / calendar / calendar.cpp
index 59fff7cfeb5f5d582453c3d746fee0c758f0b5aa..af492450ce004c83e0e4be01308783a259c2fc25 100644 (file)
 // headers
 // ----------------------------------------------------------------------------
 
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(__APPLE__)
-    #pragma implementation "calendar.cpp"
-    #pragma interface "calendar.cpp"
-#endif
-
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
 
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
 
@@ -96,7 +91,7 @@ public:
 
     void SetDate();
     void Today();
 
     void SetDate();
     void Today();
-    
+
 private:
     wxCalendarCtrl *m_calendar;
     wxStaticText   *m_date;
 private:
     wxCalendarCtrl *m_calendar;
     wxStaticText   *m_date;
@@ -590,23 +585,24 @@ void MyPanel::Today()
 #if wxUSE_DATEPICKCTRL
 
 MyDialog::MyDialog(wxWindow *parent, const wxDateTime& dt, int dtpStyle)
 #if wxUSE_DATEPICKCTRL
 
 MyDialog::MyDialog(wxWindow *parent, const wxDateTime& dt, int dtpStyle)
-        : wxDialog(parent, -1, wxString(_T("Calendar: Choose a date")))
+        : wxDialog(parent, wxID_ANY, wxString(_T("Calendar: Choose a date")))
 {
     wxStdDialogButtonSizer *sizerBtns = new wxStdDialogButtonSizer;
     sizerBtns->AddButton(new wxButton(this, wxID_OK));
     sizerBtns->AddButton(new wxButton(this, wxID_CANCEL));
 {
     wxStdDialogButtonSizer *sizerBtns = new wxStdDialogButtonSizer;
     sizerBtns->AddButton(new wxButton(this, wxID_OK));
     sizerBtns->AddButton(new wxButton(this, wxID_CANCEL));
-    sizerBtns->Finalise();
+    sizerBtns->Realize();
 
     wxSizer *sizerText = new wxBoxSizer(wxHORIZONTAL);
 
     wxSizer *sizerText = new wxBoxSizer(wxHORIZONTAL);
-    sizerText->Add(new wxStaticText(this, -1, _T("Date in ISO format: ")),
-                    wxSizerFlags().Border());
-    m_text = new wxTextCtrl(this, -1);
-    sizerText->Add(m_text, wxSizerFlags().Expand().Border());
+    sizerText->Add(new wxStaticText(this, wxID_ANY, _T("Date in ISO format: ")),
+                    wxSizerFlags().Border().Align(wxALIGN_CENTRE_VERTICAL));
+    m_text = new wxTextCtrl(this, wxID_ANY);
+    sizerText->Add(m_text, wxSizerFlags().
+                        Expand().Border().Align(wxALIGN_CENTRE_VERTICAL));
 
     wxSizer *sizerTop = new wxBoxSizer(wxVERTICAL);
     sizerTop->Add(new wxStaticText
                       (
 
     wxSizer *sizerTop = new wxBoxSizer(wxVERTICAL);
     sizerTop->Add(new wxStaticText
                       (
-                        this, -1,
+                        this, wxID_ANY,
                         _T("Enter your birthday date (not before 20th century):")
                       ),
                     wxSizerFlags().Border());
                         _T("Enter your birthday date (not before 20th century):")
                       ),
                     wxSizerFlags().Border());
@@ -614,13 +610,13 @@ MyDialog::MyDialog(wxWindow *parent, const wxDateTime& dt, int dtpStyle)
 #if wxUSE_DATEPICKCTRL_GENERIC
     wxFrame *frame = (wxFrame *)wxGetTopLevelParent(parent);
     if ( frame && frame->GetMenuBar()->IsChecked(Calendar_DatePicker_Generic) )
 #if wxUSE_DATEPICKCTRL_GENERIC
     wxFrame *frame = (wxFrame *)wxGetTopLevelParent(parent);
     if ( frame && frame->GetMenuBar()->IsChecked(Calendar_DatePicker_Generic) )
-        m_datePicker = new wxDatePickerCtrlGeneric(this, -1, dt,
+        m_datePicker = new wxDatePickerCtrlGeneric(this, wxID_ANY, dt,
                                                    wxDefaultPosition,
                                                    wxDefaultSize,
                                                    dtpStyle);
     else
 #endif // wxUSE_DATEPICKCTRL_GENERIC
                                                    wxDefaultPosition,
                                                    wxDefaultSize,
                                                    dtpStyle);
     else
 #endif // wxUSE_DATEPICKCTRL_GENERIC
-    m_datePicker = new wxDatePickerCtrl(this, -1, dt,
+    m_datePicker = new wxDatePickerCtrl(this, wxID_ANY, dt,
                                         wxDefaultPosition, wxDefaultSize,
                                         dtpStyle);
     m_datePicker->SetRange(wxDateTime(1, wxDateTime::Jan, 1900),
                                         wxDefaultPosition, wxDefaultSize,
                                         dtpStyle);
     m_datePicker->SetRange(wxDateTime(1, wxDateTime::Jan, 1900),
@@ -638,7 +634,11 @@ MyDialog::MyDialog(wxWindow *parent, const wxDateTime& dt, int dtpStyle)
 
 void MyDialog::OnDateChange(wxDateEvent& event)
 {
 
 void MyDialog::OnDateChange(wxDateEvent& event)
 {
-    m_text->SetValue(event.GetDate().FormatISODate());
+    const wxDateTime dt = event.GetDate();
+    if(dt.IsValid())
+        m_text->SetValue(dt.FormatISODate());
+    else
+        m_text->SetValue(wxEmptyString);
 }
 
 #endif // wxUSE_DATEPICKCTRL
 }
 
 #endif // wxUSE_DATEPICKCTRL