]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/datectrl.h
Added wxFilePickerCtrl::SetInitialDirectory().
[wxWidgets.git] / interface / wx / datectrl.h
index d32451ce57df56c3db54beb13b545307e2c04ba8..32829e081a842cfb43ee2277fddcd195dc3a903b 100644 (file)
@@ -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} -->
+    @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;
 };