]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/spinbutt.h
Works a little better when you remember to say "virtual"
[wxWidgets.git] / include / wx / mac / spinbutt.h
index caa1b77db23a58b8fe0d403f0c40019163af2c9c..3b33a8d5ad823cf5d78806406ace5d4bfde46e3a 100644 (file)
@@ -1,18 +1,18 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        spinbutt.h
 // Purpose:     wxSpinButton class
-// Author:      AUTHOR
+// Author:      Stefan Csomor
 // Modified by:
-// Created:     ??/??/98
+// Created:     1998-01-01
 // RCS-ID:      $Id$
-// Copyright:   (c) AUTHOR
-// Licence:    wxWindows licence
+// Copyright:   (c) Stefan Csomor
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_SPINBUTT_H_
 #define _WX_SPINBUTT_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma interface "spinbutt.h"
 #endif
 
     wxSP_WRAP:         value wraps at either end
  */
 
-class WXDLLEXPORT wxSpinButton: public wxControl
+class WXDLLEXPORT wxSpinButton : public wxSpinButtonBase
 {
-  DECLARE_DYNAMIC_CLASS(wxSpinButton)
- public:
-  /*
-   * Public interface
-   */
-
-  wxSpinButton();
-
-  inline wxSpinButton(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
-            long style = wxSP_VERTICAL, const wxString& name = "wxSpinButton")
-  {
-    Create(parent, id, pos, size, style, name);
-  }
-  ~wxSpinButton();
-
-  bool Create(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
-            long style = wxSP_VERTICAL, const wxString& name = "wxSpinButton");
-
-
-  // Attributes
-  ////////////////////////////////////////////////////////////////////////////
-
-  int GetValue() const ;
-  void SetValue(int val) ;
-  void SetRange(int minVal, int maxVal) ;
-  inline int GetMin() const { return m_min; }
-  inline int GetMax() const { return m_max; }
-
-  // Operations
-  ////////////////////////////////////////////////////////////////////////////
-
-  void Command(wxCommandEvent& event) { ProcessCommand(event); };
-       virtual void MacHandleControlClick( ControlHandle control , SInt16 controlpart ) ;
+public:
+    // construction
+    wxSpinButton();
+
+    wxSpinButton(wxWindow *parent,
+                 wxWindowID id = -1,
+                 const wxPoint& pos = wxDefaultPosition,
+                 const wxSize& size = wxDefaultSize,
+                 long style = wxSP_VERTICAL | wxSP_ARROW_KEYS,
+                 const wxString& name = wxT("wxSpinButton"))
+    {
+        Create(parent, id, pos, size, style, name);
+    }
+
+    virtual ~wxSpinButton();
+
+    bool Create(wxWindow *parent,
+                wxWindowID id = -1,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = wxSP_VERTICAL | wxSP_ARROW_KEYS,
+                const wxString& name = wxT("wxSpinButton"));
+
+
+    // accessors
+    virtual int GetMin() const;
+    virtual int GetMax() const;
+    virtual int GetValue() const;
+    virtual void SetValue(int val);
+    virtual void SetRange(int minVal, int maxVal);
+
+    // implementation
+    
+    virtual void MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool mouseStillDown ) ;
 
 protected:
-  int   m_min;
-  int   m_max;
-  int          m_value ;
-};
-
-class WXDLLEXPORT wxSpinEvent: public wxScrollEvent
-{
-  DECLARE_DYNAMIC_CLASS(wxSpinEvent)
+    void         MacHandleValueChanged( int inc ) ;
+   virtual wxSize DoGetBestSize() const;
+   int m_value ;
 
- public:
-  wxSpinEvent(wxEventType commandType = wxEVT_NULL, int id = 0);
+private:
+    DECLARE_DYNAMIC_CLASS(wxSpinButton)
 };
 
-typedef void (wxEvtHandler::*wxSpinEventFunction)(wxSpinEvent&);
-
-// Spin events
-
-#define EVT_SPIN_UP(id, func) { wxEVT_SCROLL_LINEUP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func }
-#define EVT_SPIN_DOWN(id, func) { wxEVT_SCROLL_LINEDOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func }
-
-#define EVT_SPIN(id, func) \
-  { wxEVT_SCROLL_TOP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\
-  { wxEVT_SCROLL_BOTTOM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\
-  { wxEVT_SCROLL_LINEUP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\
-  { wxEVT_SCROLL_LINEDOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\
-  { wxEVT_SCROLL_PAGEUP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\
-  { wxEVT_SCROLL_PAGEDOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\
-  { wxEVT_SCROLL_THUMBTRACK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },
-
 #endif
     // _WX_SPINBUTT_H_