]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/calctrl.h
Fix bug with using invalid date in wxMSW wxCalendarCtrl.
[wxWidgets.git] / include / wx / gtk / calctrl.h
index 73b3d916ae8725b8b160e5ce487e0f65fb187033..fee84ec1a87aba3532574dacbd0f682a497c12a8 100644 (file)
@@ -38,13 +38,33 @@ public:
     virtual bool SetDate(const wxDateTime& date);
     virtual wxDateTime GetDate() const;
 
     virtual bool SetDate(const wxDateTime& date);
     virtual wxDateTime GetDate() const;
 
+    virtual bool SetDateRange(const wxDateTime& lowerdate = wxDefaultDateTime,
+                              const wxDateTime& upperdate = wxDefaultDateTime);
+    virtual bool GetDateRange(wxDateTime *lowerdate, wxDateTime *upperdate) const;
+
     virtual bool EnableMonthChange(bool enable = true);
 
     virtual void Mark(size_t day, bool mark);
 
     virtual bool EnableMonthChange(bool enable = true);
 
     virtual void Mark(size_t day, bool mark);
 
+    // implementation
+    // --------------
+
+    void GTKGenerateEvent(wxEventType type);
+
 private:
 private:
+    bool IsInValidRange(const wxDateTime& dt) const;
+
+    // Range of the dates that can be selected by user, either or both may be
+    // invalid to indicate that no corresponding restriction is set.
+    wxDateTime m_validStart,
+               m_validEnd;
+
+    // Last known selected date, may be different from the real selection in
+    // the control while a handler for day-selected is running.
+    wxDateTime m_selectedDate;
+
     DECLARE_DYNAMIC_CLASS(wxGtkCalendarCtrl)
     DECLARE_DYNAMIC_CLASS(wxGtkCalendarCtrl)
-    DECLARE_NO_COPY_CLASS(wxGtkCalendarCtrl)
+    wxDECLARE_NO_COPY_CLASS(wxGtkCalendarCtrl);
 };
 
 #endif // GTK_CALCTRL_H__
 };
 
 #endif // GTK_CALCTRL_H__