1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxSlider class
4 // Author: Stefan Csomor
8 // Copyright: (c) Stefan Csomor
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
15 #include "wx/control.h"
16 #include "wx/slider.h"
17 #include "wx/stattext.h"
19 WXDLLIMPEXP_DATA_CORE(extern const char) wxSliderNameStr
[];
22 class WXDLLIMPEXP_CORE wxSlider
: public wxSliderBase
24 DECLARE_DYNAMIC_CLASS(wxSlider
)
29 inline wxSlider(wxWindow
*parent
, wxWindowID id
,
30 int value
, int minValue
, int maxValue
,
31 const wxPoint
& pos
= wxDefaultPosition
,
32 const wxSize
& size
= wxDefaultSize
,
33 long style
= wxSL_HORIZONTAL
,
34 const wxValidator
& validator
= wxDefaultValidator
,
35 const wxString
& name
= wxSliderNameStr
)
37 Create(parent
, id
, value
, minValue
, maxValue
, pos
, size
, style
, validator
, name
);
42 bool Create(wxWindow
*parent
, wxWindowID id
,
43 int value
, int minValue
, int maxValue
,
44 const wxPoint
& pos
= wxDefaultPosition
,
45 const wxSize
& size
= wxDefaultSize
,
46 long style
= wxSL_HORIZONTAL
,
47 const wxValidator
& validator
= wxDefaultValidator
,
48 const wxString
& name
= wxSliderNameStr
);
50 virtual int GetValue() const ;
51 virtual void SetValue(int);
53 void SetRange(int minValue
, int maxValue
);
55 inline int GetMin() const { return m_rangeMin
; }
56 inline int GetMax() const { return m_rangeMax
; }
58 void SetMin(int minValue
) { SetRange(minValue
, m_rangeMax
); }
59 void SetMax(int maxValue
) { SetRange(m_rangeMin
, maxValue
); }
62 void SetTickFreq(int n
, int pos
);
63 inline int GetTickFreq() const { return m_tickFreq
; }
64 void SetPageSize(int pageSize
);
65 int GetPageSize() const ;
68 void SetLineSize(int lineSize
);
69 int GetLineSize() const ;
70 int GetSelEnd() const ;
71 int GetSelStart() const ;
72 void SetSelection(int minPos
, int maxPos
);
73 void SetThumbLength(int len
) ;
74 int GetThumbLength() const ;
75 void SetTick(int tickPos
) ;
77 void Command(wxCommandEvent
& event
);
78 // osx specific event handling common for all osx-ports
80 virtual bool OSXHandleClicked( double timestampsec
);
81 virtual void TriggerScrollEvent( wxEventType scrollEvent
) ;
84 virtual wxSize
DoGetBestSize() const;
85 virtual void DoSetSize(int x
, int y
, int w
, int h
, int sizeFlags
);
86 virtual void DoMoveWindow(int x
, int y
, int w
, int h
);
88 // set min/max size of the slider
89 virtual void DoSetSizeHints( int minW
, int minH
,
93 // Common processing to invert slider values based on wxSL_INVERSE
94 virtual int ValueInvertOrNot(int value
) const;
96 wxStaticText
* m_macMinimumStatic
;
97 wxStaticText
* m_macMaximumStatic
;
98 wxStaticText
* m_macValueStatic
;
106 DECLARE_EVENT_TABLE()