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
;
18 class WXDLLIMPEXP_ADV wxPopupWindow
;
20 class WXDLLIMPEXP_ADV wxDatePickerCtrl
: public wxDatePickerCtrlBase
23 // creating the control
24 wxDatePickerCtrl() { Init(); }
25 wxDatePickerCtrl(wxWindow
*parent
,
27 const wxDateTime
& date
= wxDefaultDateTime
,
28 const wxPoint
& pos
= wxDefaultPosition
,
29 const wxSize
& size
= wxDefaultSize
,
30 long style
= wxDP_DEFAULT
| wxDP_SHOWCENTURY
,
31 const wxString
& name
= wxDatePickerCtrlNameStr
);
33 bool Create(wxWindow
*parent
,
35 const wxDateTime
& date
= wxDefaultDateTime
,
36 const wxPoint
& pos
= wxDefaultPosition
,
37 const wxSize
& size
= wxDefaultSize
,
38 long style
= wxDP_DEFAULT
| wxDP_SHOWCENTURY
,
39 const wxString
& name
= wxDatePickerCtrlNameStr
);
41 // wxDatePickerCtrl methods
42 void SetValue(const wxDateTime
& date
);
43 wxDateTime
GetValue() const;
45 bool GetRange(wxDateTime
*dt1
, wxDateTime
*dt2
) const;
46 void SetRange(const wxDateTime
&dt1
, const wxDateTime
&dt2
);
48 bool SetDateRange(const wxDateTime
& lowerdate
= wxDefaultDateTime
,
49 const wxDateTime
& upperdate
= wxDefaultDateTime
);
51 // extra methods available only in this (generic) implementation
52 bool SetFormat(const wxChar
*fmt
);
53 wxCalendarCtrl
*GetCalendar() const { return m_cal
; }
56 // implementation only from now on
57 // -------------------------------
59 // overridden base class methods
60 virtual bool Destroy();
62 virtual bool Enable(bool enable
= TRUE
);
63 virtual bool Show(bool show
= TRUE
);
66 virtual wxSize
DoGetBestSize() const;
67 virtual void DoMoveWindow(int x
, int y
, int width
, int height
);
70 wxPopupWindow
*m_popup
;
72 wxCalendarCtrl
*m_cal
;
76 bool m_dropped
, m_ignoreDrop
;
79 void DropDown(bool down
=true);
81 void OnText(wxCommandEvent
&ev
);
82 void OnEditKey(wxKeyEvent
& event
);
83 void OnCalKey(wxKeyEvent
& event
);
84 void OnClick(wxCommandEvent
&ev
);
85 void OnSelChange(wxCalendarEvent
&ev
);
86 void OnSetFocus(wxFocusEvent
&ev
);
87 void OnKillFocus(wxFocusEvent
&ev
);
88 void OnChildSetFocus(wxChildFocusEvent
&ev
);
90 DECLARE_DYNAMIC_CLASS(wxDatePickerCtrl
)
92 DECLARE_NO_COPY_CLASS(wxDatePickerCtrl
)
95 #endif // _WX_GENERIC_DATECTRL_H_