]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/spinbutt.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / msw / spinbutt.h
index afacb7ea8f43e0c3bb7ae4b8e9b874e76861c435..d50912fbf860dd5474024c1241e1ce518ad26caa 100644 (file)
@@ -1,10 +1,9 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        spinbutt.h
+// Name:        wx/msw/spinbutt.h
 // Purpose:     wxSpinButton class
 // Author:      Julian Smart
 // Modified by:
 // Created:     01/02/97
-// RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 #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
-     */
+    // 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 +35,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_