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 wxButton
;
16 class WXDLLIMPEXP_ADV wxCalendarDateAttr
;
17 class WXDLLIMPEXP_ADV wxCalendarCtrl
;
18 class WXDLLIMPEXP_ADV wxCalendarEvent
;
19 class WXDLLIMPEXP_ADV wxDatePopup
;
20 class WXDLLIMPEXP_ADV wxTextCtrl
;
22 class WXDLLIMPEXP_ADV wxDatePopupInternal
;
24 class WXDLLIMPEXP_ADV wxDatePickerCtrlGeneric
: public wxDatePickerCtrlBase
27 // creating the control
28 wxDatePickerCtrlGeneric() { Init(); }
29 virtual ~wxDatePickerCtrlGeneric() ;
30 wxDatePickerCtrlGeneric(wxWindow
*parent
,
32 const wxDateTime
& date
= wxDefaultDateTime
,
33 const wxPoint
& pos
= wxDefaultPosition
,
34 const wxSize
& size
= wxDefaultSize
,
35 long style
= wxDP_DEFAULT
| wxDP_SHOWCENTURY
,
36 const wxValidator
& validator
= wxDefaultValidator
,
37 const wxString
& name
= wxDatePickerCtrlNameStr
)
41 (void)Create(parent
, id
, date
, pos
, size
, style
, validator
, name
);
44 bool Create(wxWindow
*parent
,
46 const wxDateTime
& date
= wxDefaultDateTime
,
47 const wxPoint
& pos
= wxDefaultPosition
,
48 const wxSize
& size
= wxDefaultSize
,
49 long style
= wxDP_DEFAULT
| wxDP_SHOWCENTURY
,
50 const wxValidator
& validator
= wxDefaultValidator
,
51 const wxString
& name
= wxDatePickerCtrlNameStr
);
53 // wxDatePickerCtrl methods
54 void SetValue(const wxDateTime
& date
);
55 wxDateTime
GetValue() const;
57 bool GetRange(wxDateTime
*dt1
, wxDateTime
*dt2
) const;
58 void SetRange(const wxDateTime
&dt1
, const wxDateTime
&dt2
);
60 bool SetDateRange(const wxDateTime
& lowerdate
= wxDefaultDateTime
,
61 const wxDateTime
& upperdate
= wxDefaultDateTime
);
63 // extra methods available only in this (generic) implementation
64 bool SetFormat(const wxChar
*fmt
);
65 wxCalendarCtrl
*GetCalendar() const { return m_cal
; }
68 // implementation only from now on
69 // -------------------------------
71 // overridden base class methods
72 virtual bool Destroy();
74 virtual bool Enable(bool enable
= true);
75 virtual bool Show(bool show
= true);
78 virtual wxSize
DoGetBestSize() const;
79 virtual void DoMoveWindow(int x
, int y
, int width
, int height
);
83 void DropDown(bool down
= true);
85 void OnText(wxCommandEvent
&event
);
86 void OnEditKey(wxKeyEvent
& event
);
87 void OnCalKey(wxKeyEvent
& event
);
88 void OnClick(wxCommandEvent
&event
);
89 void OnSelChange(wxCalendarEvent
&event
);
90 void OnSetFocus(wxFocusEvent
&event
);
91 void OnKillFocus(wxFocusEvent
&event
);
92 void OnChildSetFocus(wxChildFocusEvent
&event
);
93 void OnSize(wxSizeEvent
& event
);
96 wxDatePopupInternal
*m_popup
;
98 wxCalendarCtrl
*m_cal
;
101 wxDateTime m_currentDate
;
107 DECLARE_EVENT_TABLE()
108 DECLARE_NO_COPY_CLASS(wxDatePickerCtrlGeneric
)
111 #endif // _WX_GENERIC_DATECTRL_H_