]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/spinctrl.h
Fixed bug: wxPropertyGridInterface::SetPropertyReadOnly() with wxPG_DONT_RECURSE...
[wxWidgets.git] / interface / wx / spinctrl.h
index 06d29a3647992f729b4ea4f26a676e2178ea4115..fe320093354b3833374b82935b773cf9119a7d72 100644 (file)
@@ -8,23 +8,47 @@
 
 /**
     @class wxSpinCtrl
-    @wxheader{spinctrl.h}
 
-    wxSpinCtrl combines wxTextCtrl and
-    wxSpinButton in one control.
+    wxSpinCtrl combines wxTextCtrl and wxSpinButton in one control.
 
     @beginStyleTable
     @style{wxSP_ARROW_KEYS}
-           The user can use arrow keys to change the value.
+        The user can use arrow keys to change the value.
     @style{wxSP_WRAP}
-           The value wraps at the minimum and maximum.
+        The value wraps at the minimum and maximum.
+    @style{wxTE_PROCESS_ENTER}
+        Indicates that the control should generate wxEVT_COMMAND_TEXT_ENTER
+        events. Using this style will prevent the user from using the Enter key
+        for dialog navigation (e.g. activating the default button in the
+        dialog) under MSW.
+    @style{wxALIGN_LEFT}
+        Same as wxTE_LEFT for wxTextCtrl: the text is left aligned.
+    @style{wxALIGN_CENTRE}
+        Same as wxTE_CENTRE for wxTextCtrl: the text is centered.
+    @style{wxALIGN_RIGHT}
+        Same as wxTE_RIGHT for wxTextCtrl: the text is right aligned (this is
+        the default).
     @endStyleTable
 
+
+    @beginEventEmissionTable{wxSpinEvent}
+    @event{EVT_SPINCTRL(id, func)}
+        Generated whenever the numeric value of the spinctrl is updated
+    @endEventTable
+
+    You may also use the wxSpinButton event macros, however the corresponding events
+    will not be generated under all platforms. Finally, if the user modifies the
+    text in the edit part of the spin control directly, the EVT_TEXT is generated,
+    like for the wxTextCtrl. When the use enters text into the text area, the text
+    is not validated until the control loses focus (e.g. by using the TAB key).
+    The value is then adjusted to the range and a wxSpinEvent sent then if the value
+    is different from the last value sent.
+
     @library{wxcore}
     @category{ctrl}
-    <!-- @appearance{spinctrl.png} -->
+    @appearance{spinctrl.png}
 
-    @see wxSpinButton, wxControl
+    @see wxSpinButton, wxSpinCtrlDouble, wxControl
 */
 class wxSpinCtrl : public wxControl
 {
@@ -33,7 +57,7 @@ public:
        Default constructor.
     */
     wxSpinCtrl();
-    
+
     /**
         Constructor, creating and showing a spin control.
 
@@ -44,11 +68,11 @@ public:
         @param id
             Window identifier. The value wxID_ANY indicates a default value.
         @param pos
-            Window position. If wxDefaultPosition is specified then a default
-        position is chosen.
+            Window position.
+            If ::wxDefaultPosition is specified then a default position is chosen.
         @param size
-            Window size. If wxDefaultSize is specified then a default size
-        is chosen.
+            Window size.
+            If ::wxDefaultSize is specified then a default size is chosen.
         @param style
             Window style. See wxSpinButton.
         @param min
@@ -62,25 +86,24 @@ public:
 
         @see Create()
     */
-    wxSpinCtrl(wxWindow* parent, wxWindowID id = -1,
+    wxSpinCtrl(wxWindow* parent, wxWindowID id = wxID_ANY,
                const wxString& value = wxEmptyString,
                const wxPoint& pos = wxDefaultPosition,
                const wxSize& size = wxDefaultSize,
                long style = wxSP_ARROW_KEYS,
                int min = 0, int max = 100,
-               int initial = 0);
+               int initial = 0, const wxString& name = "wxSpinCtrl");
 
     /**
         Creation function called by the spin control constructor.
         See wxSpinCtrl() for details.
     */
-    bool Create(wxWindow* parent, wxWindowID id = -1,
+    bool Create(wxWindow* parent, wxWindowID id = wxID_ANY,
                 const wxString& value = wxEmptyString,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
-                long style = wxSP_ARROW_KEYS,
-                int min = 0, int max = 100,
-                int initial = 0);
+                long style = wxSP_ARROW_KEYS, int min = 0, int max = 100,
+                int initial = 0, const wxString& name = "wxSpinCtrl");
 
     /**
         Gets maximal allowable value.
@@ -104,17 +127,18 @@ public:
 
     /**
         Select the text in the text part of the control between  positions
-        @a from (inclusive) and @a to (exclusive). This is similar to
-        wxTextCtrl::SetSelection.
+        @a from (inclusive) and @a to (exclusive).
+        This is similar to wxTextCtrl::SetSelection().
+
         @note this is currently only implemented for Windows and generic versions
-        of the control.
+              of the control.
     */
-    void SetSelection(long from, long to);
+    virtual void SetSelection(long from, long to);
 
     /**
         Sets the value of the spin control. Use the variant using int instead.
     */
-    void SetValue(const wxString& text);
+    virtual void SetValue(const wxString& text);
 
     /**
         Sets the value of the spin control.