1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        spinctrl.h
3 // Purpose:     wxSpinCtrlBase class
4 // Author:      Vadim Zeitlin
5 // Modified by:
6 // Created:     22.07.99
7 // RCS-ID:      $Id: spinctrl.h 37066 2006-01-23 03:27:34Z MR $
8 // Copyright:   (c) Vadim Zeitlin
9 // Licence:     wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11 
12 #ifndef _WX_SPINCTRL_H_
13 #define _WX_SPINCTRL_H_
14 
15 #include "wx/defs.h"
16 
17 #if wxUSE_SPINCTRL
18 
19 #include "wx/spinbutt.h"        // should make wxSpinEvent visible to the app
20 
21 // ----------------------------------------------------------------------------
22 // a spin ctrl is a text control with a spin button which is usually used to
23 // prompt the user for a numeric input
24 // ----------------------------------------------------------------------------
25 
26 /* there is no generic base class for this control because it's imlpemented
27    very differently under MSW and other platforms
28 
29 class WXDLLEXPORT wxSpinCtrlBase : public wxControl
30 {
31 public:
32     wxSpinCtrlBase() { Init(); }
33 
34     // accessors
35     virtual int GetValue() const = 0;
36     virtual int GetMin() const { return m_min; }
37     virtual int GetMax() const { return m_max; }
38 
39     // operations
40     virtual void SetValue(const wxString& value) = 0;
41     virtual void SetValue(int val) = 0;
42     virtual void SetRange(int minVal, int maxVal) = 0;
43 
44     // as the wxTextCtrl method
45     virtual void SetSelection(long from, long to) = 0;
46 
47 protected:
48     // initialize m_min/max with the default values
49     void Init() { m_min = 0; m_max = 100; }
50 
51     int   m_min;
52     int   m_max;
53 };
54 */
55 
56 // ----------------------------------------------------------------------------
57 // include the platform-dependent class implementation
58 // ----------------------------------------------------------------------------
59 
60 #if defined(__WXUNIVERSAL__)
61     #include "wx/generic/spinctlg.h"
62 #elif defined(__WXMSW__)
63     #include "wx/msw/spinctrl.h"
64 #elif defined(__WXPM__)
65     #include "wx/os2/spinctrl.h"
66 #elif defined(__WXGTK20__)
67     #include "wx/gtk/spinctrl.h"
68 #elif defined(__WXGTK__)
69     #include "wx/gtk1/spinctrl.h"
70 #elif defined(__WXMOTIF__)
71     #include "wx/generic/spinctlg.h"
72 #elif defined(__WXMAC__)
73     #include "wx/mac/spinctrl.h"
74 #elif defined(__WXCOCOA__)
75     #include "wx/generic/spinctlg.h"
76 #endif // platform
77 
78 #define EVT_SPINCTRL(id, fn) \
79     wx__DECLARE_EVT1(wxEVT_COMMAND_SPINCTRL_UPDATED, id, wxSpinEventHandler(fn))
80 
81 #endif // wxUSE_SPINCTRL
82 
83 #endif // _WX_SPINCTRL_H_
84