]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/timectrl.h
Implement hatched/stippled pens/brushes in wxGraphicsContext for Cairo.
[wxWidgets.git] / interface / wx / timectrl.h
index 41bbc542172f01c5db9799c71f1a2b0df4718334..5b0ba8e71a2f738848327d6a4d8b0234bf4635f8 100644 (file)
@@ -8,6 +8,21 @@
 // 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
 
 class wxTimePickerCtrl : public wxControl
 {
 public:
+    /**
+       Default constructor.
+    */
+    wxTimePickerCtrl();
+    
     /**
         Initializes the object and calls Create() with all the parameters.
     */
@@ -88,13 +108,42 @@ public:
                 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 = 0;
+    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.
@@ -102,7 +151,16 @@ public:
         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) = 0;
+    virtual void SetValue(const wxDateTime& dt);
 };