datectrl.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/generic/datectrl.h
  3. // Purpose: generic wxDatePickerCtrl implementation
  4. // Author: Andreas Pflug
  5. // Modified by:
  6. // Created: 2005-01-19
  7. // Copyright: (c) 2005 Andreas Pflug <pgadmin@pse-consulting.de>
  8. // Licence: wxWindows licence
  9. /////////////////////////////////////////////////////////////////////////////
  10. #ifndef _WX_GENERIC_DATECTRL_H_
  11. #define _WX_GENERIC_DATECTRL_H_
  12. #include "wx/compositewin.h"
  13. class WXDLLIMPEXP_FWD_CORE wxComboCtrl;
  14. class WXDLLIMPEXP_FWD_ADV wxCalendarCtrl;
  15. class WXDLLIMPEXP_FWD_ADV wxCalendarComboPopup;
  16. class WXDLLIMPEXP_ADV wxDatePickerCtrlGeneric
  17. : public wxCompositeWindow<wxDatePickerCtrlBase>
  18. {
  19. public:
  20. // creating the control
  21. wxDatePickerCtrlGeneric() { Init(); }
  22. virtual ~wxDatePickerCtrlGeneric();
  23. wxDatePickerCtrlGeneric(wxWindow *parent,
  24. wxWindowID id,
  25. const wxDateTime& date = wxDefaultDateTime,
  26. const wxPoint& pos = wxDefaultPosition,
  27. const wxSize& size = wxDefaultSize,
  28. long style = wxDP_DEFAULT | wxDP_SHOWCENTURY,
  29. const wxValidator& validator = wxDefaultValidator,
  30. const wxString& name = wxDatePickerCtrlNameStr)
  31. {
  32. Init();
  33. (void)Create(parent, id, date, pos, size, style, validator, name);
  34. }
  35. bool Create(wxWindow *parent,
  36. wxWindowID id,
  37. const wxDateTime& date = wxDefaultDateTime,
  38. const wxPoint& pos = wxDefaultPosition,
  39. const wxSize& size = wxDefaultSize,
  40. long style = wxDP_DEFAULT | wxDP_SHOWCENTURY,
  41. const wxValidator& validator = wxDefaultValidator,
  42. const wxString& name = wxDatePickerCtrlNameStr);
  43. // wxDatePickerCtrl methods
  44. void SetValue(const wxDateTime& date);
  45. wxDateTime GetValue() const;
  46. bool GetRange(wxDateTime *dt1, wxDateTime *dt2) const;
  47. void SetRange(const wxDateTime &dt1, const wxDateTime &dt2);
  48. bool SetDateRange(const wxDateTime& lowerdate = wxDefaultDateTime,
  49. const wxDateTime& upperdate = wxDefaultDateTime);
  50. // extra methods available only in this (generic) implementation
  51. wxCalendarCtrl *GetCalendar() const;
  52. // implementation only from now on
  53. // -------------------------------
  54. // overridden base class methods
  55. virtual bool Destroy();
  56. protected:
  57. virtual wxSize DoGetBestSize() const;
  58. private:
  59. void Init();
  60. // return the list of the windows composing this one
  61. virtual wxWindowList GetCompositeWindowParts() const;
  62. void OnText(wxCommandEvent &event);
  63. void OnSize(wxSizeEvent& event);
  64. void OnFocus(wxFocusEvent& event);
  65. #ifdef __WXOSX_COCOA__
  66. virtual void OSXGenerateEvent(const wxDateTime& WXUNUSED(dt)) { }
  67. #endif
  68. wxComboCtrl* m_combo;
  69. wxCalendarComboPopup* m_popup;
  70. DECLARE_EVENT_TABLE()
  71. wxDECLARE_NO_COPY_CLASS(wxDatePickerCtrlGeneric);
  72. };
  73. #endif // _WX_GENERIC_DATECTRL_H_