]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/spinbutt.h
reuse wxObjectRefData for various ref-counted classes (closes #10886)
[wxWidgets.git] / include / wx / msw / spinbutt.h
index 9f74c568fcf1cb38c01221349ad9714786f6c8d7..778db17f85058ce16d2a538ec8ce52d59957315a 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        spinbutt.h
+// Name:        wx/univ/spinbutt.h
 // Purpose:     wxSpinButton class
 // Author:      Julian Smart
 // Modified by:
 #ifndef _WX_SPINBUTT_H_
 #define _WX_SPINBUTT_H_
 
-#ifdef __GNUG__
-#pragma interface "spinbutt.h"
-#endif
-
 #include "wx/control.h"
 #include "wx/event.h"
 
-#if defined(__WIN95__)
-
+#if wxUSE_SPINBTN
 
-class WXDLLEXPORT wxSpinButton : public wxSpinButtonBase
+class WXDLLIMPEXP_CORE wxSpinButton : public wxSpinButtonBase
 {
-DECLARE_DYNAMIC_CLASS(wxSpinButton)
-
 public:
-    /*
-     * Public interface
-     */
-    wxSpinButton();
+    // construction
+    wxSpinButton() { }
 
     wxSpinButton(wxWindow *parent,
-                 wxWindowID id = -1,
+                 wxWindowID id = wxID_ANY,
                  const wxPoint& pos = wxDefaultPosition,
                  const wxSize& size = wxDefaultSize,
                  long style = wxSP_VERTICAL | wxSP_ARROW_KEYS,
-                 const wxString& name = "wxSpinButton")
+                 const wxString& name = wxSPIN_BUTTON_NAME)
     {
         Create(parent, id, pos, size, style, name);
     }
@@ -45,27 +36,40 @@ public:
     virtual ~wxSpinButton();
 
     bool Create(wxWindow *parent,
-                wxWindowID id = -1,
+                wxWindowID id = wxID_ANY,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 long style = wxSP_VERTICAL | wxSP_ARROW_KEYS,
-                const wxString& name = "wxSpinButton");
+                const wxString& name = wxSPIN_BUTTON_NAME);
 
 
-    // Attributes
-    ////////////////////////////////////////////////////////////////////////////
-
+    // accessors
     virtual int GetValue() const;
     virtual void SetValue(int val);
     virtual void SetRange(int minVal, int maxVal);
 
-    // IMPLEMENTATION
+    // implementation
     virtual bool MSWCommand(WXUINT param, WXWORD id);
+    virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
     virtual bool MSWOnScroll(int orientation, WXWORD wParam,
                              WXWORD pos, WXHWND control);
+
+    // a wxSpinButton can't do anything useful with focus, only wxSpinCtrl can
+    virtual bool AcceptsFocus() const { return false; }
+
+    // returns true if the platform should explicitly apply a theme border
+    virtual bool CanApplyThemeBorder() const { return false; }
+
+protected:
+   virtual wxSize DoGetBestSize() const;
+
+   // ensure that the control displays a value in the current range
+   virtual void NormalizeValue();
+
+private:
+    DECLARE_DYNAMIC_CLASS_NO_COPY(wxSpinButton)
 };
 
-#endif
-    // _WX_WIN95__
-#endif
-    // _WX_SPINBUTT_H_
+#endif // wxUSE_SPINBTN
+
+#endif // _WX_SPINBUTT_H_