]> 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 e9afdfec1766d94998af1732d23970a9c269b634..fee84ec1a87aba3532574dacbd0f682a497c12a8 100644 (file)
@@ -38,15 +38,31 @@ 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);
 
     // implementation
     // --------------
     virtual bool EnableMonthChange(bool enable = true);
 
     virtual void Mark(size_t day, bool mark);
 
     // implementation
     // --------------
-    wxDateTime m_selectedDate;
+
+    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)
     wxDECLARE_NO_COPY_CLASS(wxGtkCalendarCtrl);
 };
     DECLARE_DYNAMIC_CLASS(wxGtkCalendarCtrl)
     wxDECLARE_NO_COPY_CLASS(wxGtkCalendarCtrl);
 };