]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/spinbutt.h
don't place NULL pointers in the GDK window array in GTKGetWindow()
[wxWidgets.git] / interface / wx / spinbutt.h
index 186669d52d700d2b761010fb5138e6409cadb280..90e2951dd00bf9819f6f638b691e8238e765fc5d 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        spinbutt.h
-// Purpose:     interface of wxSpinEvent
+// Purpose:     interface of wxSpinEvent, wxSpinButton
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Licence:     wxWindows license
@@ -9,8 +9,20 @@
 /**
     @class wxSpinEvent
 
-    This event class is used for the events generated by
-    wxSpinButton and wxSpinCtrl.
+    This event class is used for the events generated by wxSpinButton and wxSpinCtrl.
+
+    @beginEventTable{wxSpinEvent}
+    @event{EVT_SPIN(id, func)}
+        Generated whenever an arrow is pressed.
+    @event{EVT_SPIN_UP(id, func)}
+        Generated when left/up arrow is pressed.
+    @event{EVT_SPIN_DOWN(id, func)}
+        Generated when right/down arrow is pressed.
+    @endEventTable
+
+    Note that if you handle both SPIN and UP or DOWN events, you will be notified
+    about each of them twice: first the UP/DOWN event will be received and then,
+    if it wasn't vetoed, the SPIN event will be sent.
 
     @library{wxcore}
     @category{events}
@@ -41,16 +53,17 @@ public:
 /**
     @class wxSpinButton
 
-    A wxSpinButton has two small up and down (or left and right) arrow buttons. It
-    is often used next to a text control for increment and decrementing a value.
-    Portable programs should try to use wxSpinCtrl instead
-    as wxSpinButton is not implemented for all platforms but wxSpinCtrl is as it
-    degenerates to a simple wxTextCtrl on such platforms.
+    A wxSpinButton has two small up and down (or left and right) arrow buttons.
+
+    It is often used next to a text control for increment and decrementing a value.
+    Portable programs should try to use wxSpinCtrl instead as wxSpinButton is not
+    implemented for all platforms but wxSpinCtrl is as it degenerates to a simple
+    wxTextCtrl on such platforms.
 
     @note the range supported by this control (and wxSpinCtrl) depends on the
-    platform but is at least @c -0x8000 to @c 0x7fff. Under GTK and
-    Win32 with sufficiently new version of @c comctrl32.dll (at least 4.71 is
-    required, 5.80 is recommended) the full 32 bit range is supported.
+          platform but is at least @c -0x8000 to @c 0x7fff. Under GTK and
+          Win32 with sufficiently new version of @c comctrl32.dll (at least 4.71
+          is required, 5.80 is recommended) the full 32 bit range is supported.
 
     @beginStyleTable
     @style{wxSP_HORIZONTAL}
@@ -64,9 +77,22 @@ public:
            The value wraps at the minimum and maximum.
     @endStyleTable
 
+    @beginEventEmissionTable{wxSpinEvent}
+    @event{EVT_SPIN(id, func)}
+        Generated whenever an arrow is pressed.
+    @event{EVT_SPIN_UP(id, func)}
+        Generated when left/up arrow is pressed.
+    @event{EVT_SPIN_DOWN(id, func)}
+        Generated when right/down arrow is pressed.
+    @endEventTable
+
+    Note that if you handle both SPIN and UP or DOWN events, you will be notified
+    about each of them twice: first the UP/DOWN event will be received and then,
+    if it wasn't vetoed, the SPIN event will be sent.
+
     @library{wxcore}
     @category{ctrl}
-    <!-- @appearance{spinbutton.png} -->
+    @appearance{spinbutton.png}
 
     @see wxSpinCtrl
 */
@@ -77,7 +103,7 @@ public:
         Default constructor.
     */
     wxSpinButton();
-    
+
     /**
         Constructor, creating and showing a spin button.
 
@@ -86,59 +112,59 @@ 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.
+            Window style. See wxSpinButton class description.
         @param name
             Window name.
 
         @see Create()
     */
-    wxSpinButton(wxWindow* parent, wxWindowID id,
+    wxSpinButton(wxWindow* parent, wxWindowID id = -1,
                  const wxPoint& pos = wxDefaultPosition,
                  const wxSize& size = wxDefaultSize,
-                 long style = wxSP_HORIZONTAL,
+                 long style = wxSP_VERTICAL,
                  const wxString& name = "spinButton");
 
     /**
         Destructor, destroys the spin button control.
     */
-    ~wxSpinButton();
+    virtual ~wxSpinButton();
 
     /**
         Scrollbar creation function called by the spin button constructor.
         See wxSpinButton() for details.
     */
-    bool Create(wxWindow* parent, wxWindowID id,
+    bool Create(wxWindow* parent, wxWindowID id = -1,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
-                long style = wxSP_HORIZONTAL,
-                const wxString& name = "spinButton");
+                long style = wxSP_VERTICAL,
+                const wxString& name = "wxSpinButton");
 
     /**
         Returns the maximum permissible value.
 
         @see SetRange()
     */
-    int GetMax() const;
+    virtual int GetMax() const;
 
     /**
         Returns the minimum permissible value.
 
         @see SetRange()
     */
-    int GetMin() const;
+    virtual int GetMin() const;
 
     /**
         Returns the current spin button value.
 
         @see SetValue()
     */
-    int GetValue() const;
+    virtual int GetValue() const;
 
     /**
         Sets the range of the spin button.
@@ -150,7 +176,7 @@ public:
 
         @see GetMin(), GetMax()
     */
-    void SetRange(int min, int max);
+    virtual void SetRange(int min, int max);
 
     /**
         Sets the value of the spin button.
@@ -158,6 +184,6 @@ public:
         @param value
             The value for the spin button.
     */
-    void SetValue(int value);
+    virtual void SetValue(int value);
 };