| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: wx/timectrl.h
- // Purpose: interface of wxTimePickerCtrl
- // Author: Vadim Zeitlin
- // Created: 2011-09-22
- // Copyright: (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- /**
- Styles used with wxTimePickerCtrl.
- Currently no special styles are defined for this object.
- @library{wxadv}
- @category{pickers}
- @since 2.9.3
- */
- enum
- {
- wxTP_DEFAULT = 0
- };
- /**
- @class wxTimePickerCtrl
- This control allows the user to enter time.
- It is similar to wxDatePickerCtrl but is used for time, and not date,
- selection. While GetValue() and SetValue() still work with values of type
- wxDateTime (because wxWidgets doesn't provide a time-only class), their
- date part is ignored by this control.
- It is only available if @c wxUSE_TIMEPICKCTRL is set to 1.
- This control currently doesn't have any specific flags.
- @beginEventEmissionTable{wxDateEvent}
- @event{EVT_TIME_CHANGED(id, func)}
- This event fires when the user changes the current selection in the
- control.
- @endEventTable
- @library{wxadv}
- @category{pickers}
- @appearance{timepickerctrl}
- @see wxDatePickerCtrl, wxDateEvent
- @since 2.9.3
- */
- class wxTimePickerCtrl : public wxControl
- {
- public:
- /**
- Default constructor.
- */
- wxTimePickerCtrl();
-
- /**
- Initializes the object and calls Create() with all the parameters.
- */
- wxTimePickerCtrl(wxWindow* parent, wxWindowID id,
- const wxDateTime& dt = wxDefaultDateTime,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = wxTP_DEFAULT,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = "timectrl");
- /**
- Create the control window.
- This method should only be used for objects created using default
- constructor.
- @param parent
- Parent window, must not be non-@NULL.
- @param id
- The identifier for the control.
- @param dt
- The initial value of the control, if an invalid date (such as the
- default value) is used, the control is set to current time.
- @param pos
- Initial position.
- @param size
- Initial size. If left at default value, the control chooses its own
- best size by using the height approximately equal to a text control
- and width large enough to show the time fully.
- @param style
- The window style, should be left at 0 as there are no special
- styles for this control in this version.
- @param validator
- Validator which can be used for additional checks.
- @param name
- Control name.
- @return @true if the control was successfully created or @false if
- creation failed.
- */
- bool Create(wxWindow* parent, wxWindowID id,
- const wxDateTime& dt = wxDefaultDateTime,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = wxDP_DEFAULT | wxDP_SHOWCENTURY,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = "timectrl");
- /**
- Returns the currently entered time as hours, minutes and seconds.
- All the arguments must be non-@NULL, @false is returned otherwise and
- none of them is modified.
- @see SetTime()
- @since 2.9.4
- */
- bool GetTime(int* hour, int* min, int* sec) const;
- /**
- Returns the currently entered time.
- The date part of the returned wxDateTime object is always set to today
- and should be ignored, only the time part is relevant.
- */
- virtual wxDateTime GetValue() const;
- /**
- Changes the current time of the control.
- Calling this method does not result in a time change event.
- @param hour The new hour value in 0..23 interval.
- @param min The new minute value in 0..59 interval.
- @param sec The new second value in 0..59 interval.
- @return @true if the time was changed or @false on failure, e.g. if the
- time components were invalid.
- @see GetTime()
- @since 2.9.4
- */
- bool SetTime(int hour, int min, int sec);
- /**
- Changes the current value of the control.
- The date part of @a dt is ignored, only the time part is displayed in
- the control. The @a dt object must however be valid.
- In particular notice that it is a bad idea to use default wxDateTime
- constructor from hour, minute and second values as it uses the today
- date for the date part which means that some times can be invalid if
- today happens to be the day of DST change. For example, when switching
- to summer time the time 2:00 typically doesn't exist as the clocks jump
- directly to 3:00. To avoid this problem, use a fixed date on which DST
- is known not to change (e.g. Jan 1, 2012) for the date part of the
- argument or use SetTime().
- Calling this method does not result in a time change event.
- */
- virtual void SetValue(const wxDateTime& dt);
- };
|