]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/spinbutt.h
added wxArrayString::RemoveAt()
[wxWidgets.git] / include / wx / spinbutt.h
index b06df17a92911ccef4c2c74ea2aaefd2122e9dc3..5b5f4301f423c210e0be0d21cfc0d0b884ee575e 100644 (file)
 #ifndef _WX_SPINBUTT_H_BASE_
 #define _WX_SPINBUTT_H_BASE_
 
+#ifdef __GNUG__
+    #ifndef __WXMOTIF__ // because there is no matching .cpp for Motif
+        #pragma interface "spinbutbase.h"
+    #endif // Motif
+#endif
+
 // ----------------------------------------------------------------------------
 // headers
 // ----------------------------------------------------------------------------
 
 #include "wx/defs.h"
 
-#ifdef wxUSE_SPINBTN
+#if wxUSE_SPINBTN
 
 #include "wx/control.h"
 #include "wx/event.h"
@@ -79,6 +85,8 @@ protected:
     #include "wx/qt/spinbutt.h"
 #elif defined(__WXMAC__)
     #include "wx/mac/spinbutt.h"
+#elif defined(__WXPM__)
+    #include "wx/os2/spinbutt.h"
 #elif defined(__WXSTUBS__)
     #include "wx/stubs/spinbutt.h"
 #endif
@@ -87,31 +95,33 @@ protected:
 // the wxSpinButton event
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxSpinEvent : public wxScrollEvent
+class WXDLLEXPORT wxSpinEvent : public wxNotifyEvent
 {
     DECLARE_DYNAMIC_CLASS(wxSpinEvent)
 
 public:
     wxSpinEvent(wxEventType commandType = wxEVT_NULL, int id = 0)
-           : wxScrollEvent(commandType, id)
+           : wxNotifyEvent(commandType, id)
     {
     }
+
+    // get the current value of the control
+    int GetPosition() const { return m_commandInt; }
+    void SetPosition(int pos) { m_commandInt = pos; }
 };
 
 typedef void (wxEvtHandler::*wxSpinEventFunction)(wxSpinEvent&);
 
 // macros for handling 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 },
+#ifndef EVT_SPIN_UP
+#define EVT_SPIN_UP(id, func) { wxEVT_SCROLL_LINEUP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },
+#endif
+#ifndef EVT_SPIN_DOWN
+#define EVT_SPIN_DOWN(id, func) { wxEVT_SCROLL_LINEDOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },
+#endif
+#ifndef EVT_SPIN
+#define EVT_SPIN(id, func) { wxEVT_SCROLL_THUMBTRACK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },
+#endif
 
 #endif // wxUSE_SPINBTN