source: GTP/trunk/Lib/Illum/GPUObscurancesGT/Libraries/wx/include/wx/spinbutt.h @ 1648

Revision 1648, 4.1 KB checked in by igarcia, 18 years ago (diff)
Line 
1/////////////////////////////////////////////////////////////////////////////
2// Name:        wx/spinbutt.h
3// Purpose:     wxSpinButtonBase class
4// Author:      Julian Smart, Vadim Zeitlin
5// Modified by:
6// Created:     23.07.99
7// RCS-ID:      $Id: spinbutt.h,v 1.34 2005/05/31 09:18:17 JS Exp $
8// Copyright:   (c) Julian Smart
9// Licence:     wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_SPINBUTT_H_BASE_
13#define _WX_SPINBUTT_H_BASE_
14
15// ----------------------------------------------------------------------------
16// headers
17// ----------------------------------------------------------------------------
18
19#include "wx/defs.h"
20
21#if wxUSE_SPINBTN
22
23#include "wx/control.h"
24#include "wx/event.h"
25
26#define wxSPIN_BUTTON_NAME _T("wxSpinButton")
27
28// ----------------------------------------------------------------------------
29//  The wxSpinButton is like a small scrollbar than is often placed next
30//  to a text control.
31//
32//  Styles:
33//  wxSP_HORIZONTAL:   horizontal spin button
34//  wxSP_VERTICAL:     vertical spin button (the default)
35//  wxSP_ARROW_KEYS:   arrow keys increment/decrement value
36//  wxSP_WRAP:         value wraps at either end
37// ----------------------------------------------------------------------------
38
39class WXDLLEXPORT wxSpinButtonBase : public wxControl
40{
41public:
42    // ctor initializes the range with the default (0..100) values
43    wxSpinButtonBase() { m_min = 0; m_max = 100; }
44
45    // accessors
46    virtual int GetValue() const = 0;
47    virtual int GetMin() const { return m_min; }
48    virtual int GetMax() const { return m_max; }
49
50    // operations
51    virtual void SetValue(int val) = 0;
52    virtual void SetMin(int minVal) { SetRange ( minVal , m_max ) ; }
53    virtual void SetMax(int maxVal) { SetRange ( m_min , maxVal ) ; }
54    virtual void SetRange(int minVal, int maxVal)
55    {
56        m_min = minVal;
57        m_max = maxVal;
58    }
59
60    // is this spin button vertically oriented?
61    bool IsVertical() const { return (m_windowStyle & wxSP_VERTICAL) != 0; }
62
63protected:
64    // the range value
65    int   m_min;
66    int   m_max;
67
68    DECLARE_NO_COPY_CLASS(wxSpinButtonBase)
69};
70
71// ----------------------------------------------------------------------------
72// include the declaration of the real class
73// ----------------------------------------------------------------------------
74
75#if defined(__WXUNIVERSAL__)
76    #include "wx/univ/spinbutt.h"
77#elif defined(__WXMSW__) && defined(__WIN95__)
78    #include "wx/msw/spinbutt.h"
79#elif defined(__WXMOTIF__)
80    #include "wx/motif/spinbutt.h"
81#elif defined(__WXGTK__)
82    #include "wx/gtk/spinbutt.h"
83#elif defined(__WXMAC__)
84    #include "wx/mac/spinbutt.h"
85#elif defined(__WXCOCOA__)
86    #include "wx/cocoa/spinbutt.h"
87#elif defined(__WXPM__)
88    #include "wx/os2/spinbutt.h"
89#endif
90
91// ----------------------------------------------------------------------------
92// the wxSpinButton event
93// ----------------------------------------------------------------------------
94
95class WXDLLEXPORT wxSpinEvent : public wxNotifyEvent
96{
97public:
98    wxSpinEvent(wxEventType commandType = wxEVT_NULL, int winid = 0)
99           : wxNotifyEvent(commandType, winid)
100    {
101    }
102
103    // get the current value of the control
104    int GetPosition() const { return m_commandInt; }
105    void SetPosition(int pos) { m_commandInt = pos; }
106
107private:
108    DECLARE_DYNAMIC_CLASS_NO_COPY(wxSpinEvent)
109};
110
111typedef void (wxEvtHandler::*wxSpinEventFunction)(wxSpinEvent&);
112
113#define wxSpinEventHandler(func) \
114    (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxSpinEventFunction, &func)
115
116// macros for handling spin events
117#define EVT_SPIN_UP(winid, func) \
118    wx__DECLARE_EVT1(wxEVT_SCROLL_LINEUP, winid, wxSpinEventHandler(func))
119#define EVT_SPIN_DOWN(winid, func) \
120    wx__DECLARE_EVT1(wxEVT_SCROLL_LINEDOWN, winid, wxSpinEventHandler(func))
121#define EVT_SPIN(winid, func) \
122    wx__DECLARE_EVT1(wxEVT_SCROLL_THUMBTRACK, winid, wxSpinEventHandler(func))
123
124#endif // wxUSE_SPINBTN
125
126#endif
127    // _WX_SPINBUTT_H_BASE_
Note: See TracBrowser for help on using the repository browser.