X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..a4a06df3b4061e4ab4d273ceb19e1430f08bee66:/interface/wx/datectrl.h diff --git a/interface/wx/datectrl.h b/interface/wx/datectrl.h index d32451ce57..32829e081a 100644 --- a/interface/wx/datectrl.h +++ b/interface/wx/datectrl.h @@ -3,12 +3,11 @@ // Purpose: interface of wxDatePickerCtrl // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @class wxDatePickerCtrl - @wxheader{datectrl.h} This control allows the user to select a date. Unlike wxCalendarCtrl, which is a relatively big control, wxDatePickerCtrl is implemented as a small @@ -41,7 +40,7 @@ default date representation in the system. @endStyleTable - @beginEventTable{wxDateEvent} + @beginEventEmissionTable{wxDateEvent} @event{EVT_DATE_CHANGED(id, func)} This event fires when the user changes the current selection in the control. @@ -49,7 +48,7 @@ @library{wxadv} @category{pickers} - + @appearance{datepickerctrl.png} @see wxCalendarCtrl, wxDateEvent */ @@ -68,6 +67,11 @@ public: const wxString& name = "datectrl"); /** + 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 @@ -82,8 +86,8 @@ public: best size by using the height approximately equal to a text control and width large enough to show the date string fully. @param style - The window style, should be left at 0 as there are no special - styles for this control in this version. + The window style, see the description of the styles in the class + documentation. @param validator Validator which can be used for additional date checks. @param name @@ -106,6 +110,11 @@ public: range is set (or only one of the bounds is set), @a dt1 and/or @a dt2 are set to be invalid. + Notice that when using a native MSW implementation of this control the + lower range is always set, even if SetRange() hadn't been called + explicitly, as the native control only supports dates later than year + 1601. + @param dt1 Pointer to the object which receives the lower range limit or becomes invalid if it is not set. May be @NULL if the caller is not @@ -116,25 +125,15 @@ public: @return @false if no range limits are currently set, @true if at least one bound is set. */ - bool GetRange(wxDateTime* dt1, wxDateTime dt2) const; - - /** - Returns the currently selected. If there is no selection or the - selection is outside of the current range, an invalid object is - returned. - */ - wxDateTime GetValue() const; + virtual bool GetRange(wxDateTime* dt1, wxDateTime* dt2) const = 0; /** - Sets the display format for the date in the control. See wxDateTime for - the meaning of format strings. + Returns the currently entered date. - @note This function is only available in the generic version of this - control. The native version always uses the current system locale. - - @remarks If the format parameter is invalid, the behaviour is undefined. + For a control with @c wxDP_ALLOWNONE style the returned value may be + invalid if no date is entered, otherwise it is always valid. */ - void SetFormat(const wxChar* format); + virtual wxDateTime GetValue() const = 0; /** Sets the valid range for the date selection. If @a dt1 is valid, it @@ -144,14 +143,17 @@ public: @remarks If the current value of the control is outside of the newly set range bounds, the behaviour is undefined. */ - void SetRange(const wxDateTime& dt1, const wxDateTime& dt2); + virtual void SetRange(const wxDateTime& dt1, const wxDateTime& dt2) = 0; /** - Changes the current value of the control. The date should be valid and - included in the currently selected range, if any. + Changes the current value of the control. + + The date should be valid unless the control was created with @c + wxDP_ALLOWNONE style and included in the currently selected range, if + any. Calling this method does not result in a date change event. */ - void SetValue(const wxDateTime& dt); + virtual void SetValue(const wxDateTime& dt) = 0; };