#ifndef _WX_SPINCTRL_H_
#define _WX_SPINCTRL_H_
+#include "wx/defs.h"
+
+#if wxUSE_SPINCTRL
+
#include "wx/spinbutt.h" // should make wxSpinEvent visible to the app
// ----------------------------------------------------------------------------
virtual void SetValue(int val) = 0;
virtual void SetRange(int minVal, int maxVal) = 0;
+ // as the wxTextCtrl method
+ virtual void SetSelection(long from, long to) = 0;
+
protected:
// initialize m_min/max with the default values
void Init() { m_min = 0; m_max = 100; }
// include the platform-dependent class implementation
// ----------------------------------------------------------------------------
-#if defined(__WXMSW__) && defined(__WIN32__)
+#if defined(__WXUNIVERSAL__)
+ #include "wx/generic/spinctlg.h"
+#elif defined(__WXMSW__)
#include "wx/msw/spinctrl.h"
#elif defined(__WXPM__)
#include "wx/os2/spinctrl.h"
-#elif defined(__WXGTK__)
+#elif defined(__WXGTK20__)
#include "wx/gtk/spinctrl.h"
-#else // Win16 || !Win
+#elif defined(__WXGTK__)
+ #include "wx/gtk1/spinctrl.h"
+#elif defined(__WXMOTIF__)
+ #include "wx/generic/spinctlg.h"
+#elif defined(__WXMAC__)
+ #include "wx/mac/spinctrl.h"
+#elif defined(__WXCOCOA__)
#include "wx/generic/spinctlg.h"
#endif // platform
-// Macro must be defined here, not event.h, since it must reference wxSpinEventFunction
-#define EVT_SPINCTRL(id, fn) { wxEVT_COMMAND_SPINCTRL_UPDATED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & fn, (wxObject *) NULL },
+#define EVT_SPINCTRL(id, fn) \
+ wx__DECLARE_EVT1(wxEVT_COMMAND_SPINCTRL_UPDATED, id, wxSpinEventHandler(fn))
-#endif // _WX_SPINCTRL_H_
+#endif // wxUSE_SPINCTRL
+#endif // _WX_SPINCTRL_H_