1 /////////////////////////////////////////////////////////////////////////////
2 // Name: generic/datectrl.h
3 // Purpose: generic wxDatePickerCtrl implementation
4 // Author: Andreas Pflug
8 // Copyright: (c) 2005 Andreas Pflug <pgadmin@pse-consulting.de>
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_GENERIC_DATECTRL_H_
13 #define _WX_GENERIC_DATECTRL_H_
15 class WXDLLIMPEXP_ADV wxCalendarDateAttr
;
16 class WXDLLIMPEXP_ADV wxCalendarCtrl
;
17 class WXDLLIMPEXP_ADV wxCalendarEvent
;
19 class WXDLLIMPEXP_ADV wxDatePickerCtrl
: public wxDatePickerCtrlBase
22 wxDatePickerCtrl() { Init(); }
23 wxDatePickerCtrl(wxWindow
*parent
,
25 const wxDateTime
& date
= wxDefaultDateTime
,
26 const wxPoint
& pos
= wxDefaultPosition
,
27 const wxSize
& size
= wxDefaultSize
,
28 long style
= wxCAL_SHOW_HOLIDAYS
| wxWANTS_CHARS
, const wxString
& name
=wxDatePickerCtrlNameStr
);
30 bool Create(wxWindow
*parent
,
32 const wxDateTime
& date
,
36 const wxString
& name
=wxDatePickerCtrlNameStr
);
38 void SetValue(const wxDateTime
& date
);
39 wxDateTime
GetValue() const;
40 bool GetRange(wxDateTime
*dt1
, wxDateTime
*dt2
) const;
41 void SetRange(const wxDateTime
&dt1
, const wxDateTime
&dt2
);
45 bool SetLowerDateLimit(const wxDateTime
& date
= wxDefaultDateTime
) { return m_cal
->SetLowerDateLimit(date
); }
46 const wxDateTime
& GetLowerDateLimit() const { return m_cal
->GetLowerDateLimit(); }
47 bool SetUpperDateLimit(const wxDateTime
& date
= wxDefaultDateTime
) { return m_cal
->SetUpperDateLimit(date
); }
48 const wxDateTime
& GetUpperDateLimit() const { return m_cal
->GetUpperDateLimit(); }
50 bool SetDateRange(const wxDateTime
& lowerdate
= wxDefaultDateTime
, const wxDateTime
& upperdate
= wxDefaultDateTime
)
51 { return m_cal
->SetDateRange(lowerdate
, upperdate
); }
53 wxCalendarDateAttr
*GetAttr(size_t day
) const { return m_cal
->GetAttr(day
); }
54 void SetAttr(size_t day
, wxCalendarDateAttr
*attr
) { m_cal
->SetAttr(day
, attr
); }
55 void SetHoliday(size_t day
) { m_cal
->SetHoliday(day
); }
56 void ResetAttr(size_t day
) { m_cal
->ResetAttr(day
); }
57 bool SetFormat(const wxChar
*fmt
);
59 virtual bool Enable(bool enable
= TRUE
);
60 virtual bool Show(bool show
= TRUE
);
62 virtual wxSize
DoGetBestSize() const;
63 virtual void DoMoveWindow(int x
, int y
, int width
, int height
);
68 wxCalendarCtrl
*m_cal
;
72 bool m_dropped
, m_ignoreDrop
;
75 void DropDown(bool down
=true);
77 void OnText(wxCommandEvent
&ev
);
78 void OnEditKey(wxKeyEvent
& event
);
79 void OnCalKey(wxKeyEvent
& event
);
80 void OnClick(wxCommandEvent
&ev
);
81 void OnSelChange(wxCalendarEvent
&ev
);
82 void OnSetFocus(wxFocusEvent
&ev
);
83 void OnKillFocus(wxFocusEvent
&ev
);
84 void OnChildSetFocus(wxChildFocusEvent
&ev
);
86 DECLARE_DYNAMIC_CLASS(wxDatePickerCtrl
)
88 DECLARE_NO_COPY_CLASS(wxDatePickerCtrl
)
91 #endif // _WX_GENERIC_DATECTRL_H_