]>
git.saurik.com Git - wxWidgets.git/blob - interface/wx/timectrl.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: interface of wxTimePickerCtrl
4 // Author: Vadim Zeitlin
6 // Copyright: (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
11 Styles used with wxTimePickerCtrl.
13 Currently no special styles are defined for this object.
26 @class wxTimePickerCtrl
28 This control allows the user to enter time.
30 It is similar to wxDatePickerCtrl but is used for time, and not date,
31 selection. While GetValue() and SetValue() still work with values of type
32 wxDateTime (because wxWidgets doesn't provide a time-only class), their
33 date part is ignored by this control.
35 It is only available if @c wxUSE_TIMEPICKCTRL is set to 1.
37 This control currently doesn't have any specific flags.
39 @beginEventEmissionTable{wxDateEvent}
40 @event{EVT_TIME_CHANGED(id, func)}
41 This event fires when the user changes the current selection in the
47 @appearance{timepickerctrl}
49 @see wxDatePickerCtrl, wxDateEvent
53 class wxTimePickerCtrl
: public wxControl
62 Initializes the object and calls Create() with all the parameters.
64 wxTimePickerCtrl(wxWindow
* parent
, wxWindowID id
,
65 const wxDateTime
& dt
= wxDefaultDateTime
,
66 const wxPoint
& pos
= wxDefaultPosition
,
67 const wxSize
& size
= wxDefaultSize
,
68 long style
= wxTP_DEFAULT
,
69 const wxValidator
& validator
= wxDefaultValidator
,
70 const wxString
& name
= "timectrl");
73 Create the control window.
75 This method should only be used for objects created using default
79 Parent window, must not be non-@NULL.
81 The identifier for the control.
83 The initial value of the control, if an invalid date (such as the
84 default value) is used, the control is set to current time.
88 Initial size. If left at default value, the control chooses its own
89 best size by using the height approximately equal to a text control
90 and width large enough to show the time fully.
92 The window style, should be left at 0 as there are no special
93 styles for this control in this version.
95 Validator which can be used for additional checks.
99 @return @true if the control was successfully created or @false if
102 bool Create(wxWindow
* parent
, wxWindowID id
,
103 const wxDateTime
& dt
= wxDefaultDateTime
,
104 const wxPoint
& pos
= wxDefaultPosition
,
105 const wxSize
& size
= wxDefaultSize
,
106 long style
= wxDP_DEFAULT
| wxDP_SHOWCENTURY
,
107 const wxValidator
& validator
= wxDefaultValidator
,
108 const wxString
& name
= "timectrl");
111 Returns the currently entered time as hours, minutes and seconds.
113 All the arguments must be non-@NULL, @false is returned otherwise and
114 none of them is modified.
120 bool GetTime(int* hour
, int* min
, int* sec
) const;
123 Returns the currently entered time.
125 The date part of the returned wxDateTime object is always set to today
126 and should be ignored, only the time part is relevant.
128 virtual wxDateTime
GetValue() const;
131 Changes the current time of the control.
133 Calling this method does not result in a time change event.
135 @param hour The new hour value in 0..23 interval.
136 @param min The new minute value in 0..59 interval.
137 @param sec The new second value in 0..59 interval.
138 @return @true if the time was changed or @false on failure, e.g. if the
139 time components were invalid.
145 bool SetTime(int hour
, int min
, int sec
);
148 Changes the current value of the control.
150 The date part of @a dt is ignored, only the time part is displayed in
151 the control. The @a dt object must however be valid.
153 In particular notice that it is a bad idea to use default wxDateTime
154 constructor from hour, minute and second values as it uses the today
155 date for the date part which means that some times can be invalid if
156 today happens to be the day of DST change. For example, when switching
157 to summer time the time 2:00 typically doesn't exist as the clocks jump
158 directly to 3:00. To avoid this problem, use a fixed date on which DST
159 is known not to change (e.g. Jan 1, 2012) for the date part of the
160 argument or use SetTime().
162 Calling this method does not result in a time change event.
164 virtual void SetValue(const wxDateTime
& dt
);