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,v 1.23 2005/03/16 16:18:20 ABX Exp $
|
---|
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(__WXGTK__)
|
---|
67 | #include "wx/gtk/spinctrl.h"
|
---|
68 | #elif defined(__WXMOTIF__)
|
---|
69 | #include "wx/generic/spinctlg.h"
|
---|
70 | #elif defined(__WXMAC__)
|
---|
71 | #include "wx/mac/spinctrl.h"
|
---|
72 | #elif defined(__WXCOCOA__)
|
---|
73 | #include "wx/generic/spinctlg.h"
|
---|
74 | #endif // platform
|
---|
75 |
|
---|
76 | #define EVT_SPINCTRL(id, fn) \
|
---|
77 | wx__DECLARE_EVT1(wxEVT_COMMAND_SPINCTRL_UPDATED, id, wxSpinEventHandler(fn))
|
---|
78 |
|
---|
79 | #endif // wxUSE_SPINCTRL
|
---|
80 |
|
---|
81 | #endif // _WX_SPINCTRL_H_
|
---|