calctrl.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/gtk/calctrl.h
  3. // Purpose: wxGtkCalendarCtrl control
  4. // Author: Marcin Wojdyr
  5. // Copyright: (C) 2008 Marcin Wojdyr
  6. // Licence: wxWindows licence
  7. /////////////////////////////////////////////////////////////////////////////
  8. #ifndef GTK_CALCTRL_H__
  9. #define GTK_CALCTRL_H__
  10. class WXDLLIMPEXP_ADV wxGtkCalendarCtrl : public wxCalendarCtrlBase
  11. {
  12. public:
  13. wxGtkCalendarCtrl() {}
  14. wxGtkCalendarCtrl(wxWindow *parent,
  15. wxWindowID id,
  16. const wxDateTime& date = wxDefaultDateTime,
  17. const wxPoint& pos = wxDefaultPosition,
  18. const wxSize& size = wxDefaultSize,
  19. long style = wxCAL_SHOW_HOLIDAYS,
  20. const wxString& name = wxCalendarNameStr)
  21. {
  22. Create(parent, id, date, pos, size, style, name);
  23. }
  24. bool Create(wxWindow *parent,
  25. wxWindowID id,
  26. const wxDateTime& date = wxDefaultDateTime,
  27. const wxPoint& pos = wxDefaultPosition,
  28. const wxSize& size = wxDefaultSize,
  29. long style = wxCAL_SHOW_HOLIDAYS,
  30. const wxString& name = wxCalendarNameStr);
  31. virtual ~wxGtkCalendarCtrl() {}
  32. virtual bool SetDate(const wxDateTime& date);
  33. virtual wxDateTime GetDate() const;
  34. virtual bool SetDateRange(const wxDateTime& lowerdate = wxDefaultDateTime,
  35. const wxDateTime& upperdate = wxDefaultDateTime);
  36. virtual bool GetDateRange(wxDateTime *lowerdate, wxDateTime *upperdate) const;
  37. virtual bool EnableMonthChange(bool enable = true);
  38. virtual void Mark(size_t day, bool mark);
  39. // implementation
  40. // --------------
  41. void GTKGenerateEvent(wxEventType type);
  42. private:
  43. bool IsInValidRange(const wxDateTime& dt) const;
  44. // Range of the dates that can be selected by user, either or both may be
  45. // invalid to indicate that no corresponding restriction is set.
  46. wxDateTime m_validStart,
  47. m_validEnd;
  48. // Last known selected date, may be different from the real selection in
  49. // the control while a handler for day-selected is running.
  50. wxDateTime m_selectedDate;
  51. DECLARE_DYNAMIC_CLASS(wxGtkCalendarCtrl)
  52. wxDECLARE_NO_COPY_CLASS(wxGtkCalendarCtrl);
  53. };
  54. #endif // GTK_CALCTRL_H__