]> git.saurik.com Git - wxWidgets.git/blame - include/wx/mac/carbon/slider.h
Base for wxMessageDialog with common checks for style.
[wxWidgets.git] / include / wx / mac / carbon / slider.h
CommitLineData
8cf73271
SC
1/////////////////////////////////////////////////////////////////////////////
2// Name: slider.h
3// Purpose: wxSlider class
4// Author: Stefan Csomor
5// Modified by:
6// Created: 1998-01-01
7// RCS-ID: $Id$
8// Copyright: (c) Stefan Csomor
65571936 9// Licence: wxWindows licence
8cf73271
SC
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_SLIDER_H_
13#define _WX_SLIDER_H_
14
15#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
16#pragma interface "slider.h"
17#endif
18
19#include "wx/control.h"
20#include "wx/slider.h"
21#include "wx/stattext.h"
22
23WXDLLEXPORT_DATA(extern const wxChar*) wxSliderNameStr;
24
25// Slider
da9d044c 26class WXDLLEXPORT wxSlider: public wxSliderBase
8cf73271 27{
01526d4f 28 DECLARE_DYNAMIC_CLASS(wxSlider)
8cf73271
SC
29
30public:
01526d4f
WS
31 wxSlider();
32
33 inline wxSlider(wxWindow *parent, wxWindowID id,
34 int value, int minValue, int maxValue,
35 const wxPoint& pos = wxDefaultPosition,
36 const wxSize& size = wxDefaultSize,
37 long style = wxSL_HORIZONTAL,
38 const wxValidator& validator = wxDefaultValidator,
39 const wxString& name = wxSliderNameStr)
40 {
41 Create(parent, id, value, minValue, maxValue, pos, size, style, validator, name);
42 }
43
44 ~wxSlider();
45
46 bool Create(wxWindow *parent, wxWindowID id,
47 int value, int minValue, int maxValue,
48 const wxPoint& pos = wxDefaultPosition,
49 const wxSize& size = wxDefaultSize,
50 long style = wxSL_HORIZONTAL,
51 const wxValidator& validator = wxDefaultValidator,
52 const wxString& name = wxSliderNameStr);
53
54 virtual int GetValue() const ;
55 virtual void SetValue(int);
56
57 void SetRange(int minValue, int maxValue);
58
59 inline int GetMin() const { return m_rangeMin; }
60 inline int GetMax() const { return m_rangeMax; }
61
62 void SetMin(int minValue) { SetRange(minValue, m_rangeMax); }
63 void SetMax(int maxValue) { SetRange(m_rangeMin, maxValue); }
64
65 // For trackbars only
66 void SetTickFreq(int n, int pos);
67 inline int GetTickFreq() const { return m_tickFreq; }
68 void SetPageSize(int pageSize);
69 int GetPageSize() const ;
70 void ClearSel() ;
71 void ClearTicks() ;
72 void SetLineSize(int lineSize);
73 int GetLineSize() const ;
74 int GetSelEnd() const ;
75 int GetSelStart() const ;
76 void SetSelection(int minPos, int maxPos);
77 void SetThumbLength(int len) ;
78 int GetThumbLength() const ;
79 void SetTick(int tickPos) ;
80
81 // set min/max size of the slider
82 virtual void DoSetSizeHints( int minW, int minH,
83 int maxW = -1, int maxH = -1,
84 int incW = -1, int incH = -1 );
85
86protected:
87 virtual wxSize DoGetBestSize() const;
88 virtual void DoSetSize(int x, int y, int w, int h, int sizeFlags);
89 virtual void DoMoveWindow(int x, int y, int w, int h);
90
91 void Command(wxCommandEvent& event);
336a6aba 92 virtual wxInt32 MacControlHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ;
8cf73271 93 void MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool mouseStillDown ) ;
8cf73271 94
02812785 95 // Common processing to invert slider values based on wxSL_INVERSE
01526d4f 96 virtual int ValueInvertOrNot(int value) const;
02812785 97
01526d4f
WS
98 wxStaticText* m_macMinimumStatic ;
99 wxStaticText* m_macMaximumStatic ;
100 wxStaticText* m_macValueStatic ;
8cf73271 101
01526d4f
WS
102 int m_rangeMin;
103 int m_rangeMax;
104 int m_pageSize;
105 int m_lineSize;
106 int m_tickFreq;
8cf73271
SC
107private :
108DECLARE_EVENT_TABLE()
109};
110
111#endif
112 // _WX_SLIDER_H_