1 ///////////////////////////////////////////////////////////////////////////////
2 // Name:        wx/msw/datectrl.h
3 // Purpose:     wxDatePickerCtrl for Windows
4 // Author:      Vadim Zeitlin
5 // Modified by:
6 // Created:     2005-01-09
7 // RCS-ID:      $Id: datectrl.h 42207 2006-10-21 16:29:33Z VZ $
8 // Copyright:   (c) 2005 Vadim Zeitlin <vadim@wxwindows.org>
9 // Licence:     wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
11 
12 #ifndef _WX_MSW_DATECTRL_H_
13 #define _WX_MSW_DATECTRL_H_
14 
15 // ----------------------------------------------------------------------------
16 // wxDatePickerCtrl
17 // ----------------------------------------------------------------------------
18 
19 class WXDLLIMPEXP_ADV wxDatePickerCtrl : public wxDatePickerCtrlBase
20 {
21 public:
22     // ctors
wxDatePickerCtrl()23     wxDatePickerCtrl() { }
24 
25     wxDatePickerCtrl(wxWindow *parent,
26                      wxWindowID id,
27                      const wxDateTime& dt = wxDefaultDateTime,
28                      const wxPoint& pos = wxDefaultPosition,
29                      const wxSize& size = wxDefaultSize,
30                      long style = wxDP_DEFAULT | wxDP_SHOWCENTURY,
31                      const wxValidator& validator = wxDefaultValidator,
32                      const wxString& name = wxDatePickerCtrlNameStr)
33     {
34         Create(parent, id, dt, pos, size, style, validator, name);
35     }
36 
37     bool Create(wxWindow *parent,
38                 wxWindowID id,
39                 const wxDateTime& dt = wxDefaultDateTime,
40                 const wxPoint& pos = wxDefaultPosition,
41                 const wxSize& size = wxDefaultSize,
42                 long style = wxDP_DEFAULT | wxDP_SHOWCENTURY,
43                 const wxValidator& validator = wxDefaultValidator,
44                 const wxString& name = wxDatePickerCtrlNameStr);
45 
46     // set/get the date
47     virtual void SetValue(const wxDateTime& dt);
48     virtual wxDateTime GetValue() const;
49 
50     // set/get the allowed valid range for the dates, if either/both of them
51     // are invalid, there is no corresponding limit and if neither is set
52     // GetRange() returns false
53     virtual void SetRange(const wxDateTime& dt1, const wxDateTime& dt2);
54     virtual bool GetRange(wxDateTime *dt1, wxDateTime *dt2) const;
55 
56     virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
57 
58     virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
59 
60 protected:
61     virtual wxSize DoGetBestSize() const;
62 
63     // the date currently shown by the control, may be invalid
64     wxDateTime m_date;
65 
66 
67     DECLARE_DYNAMIC_CLASS_NO_COPY(wxDatePickerCtrl)
68 };
69 
70 #endif // _WX_MSW_DATECTRL_H_
71