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: slider.h 41020 2006-09-05 20:47:48Z VZ $ 8// Copyright: (c) Stefan Csomor 9// Licence: wxWindows licence 10///////////////////////////////////////////////////////////////////////////// 11 12#ifndef _WX_SLIDER_H_ 13#define _WX_SLIDER_H_ 14 15#include "wx/control.h" 16#include "wx/slider.h" 17#include "wx/stattext.h" 18 19WXDLLEXPORT_DATA(extern const wxChar) wxSliderNameStr[]; 20 21// Slider 22class WXDLLEXPORT wxSlider: public wxControl 23{ 24 DECLARE_DYNAMIC_CLASS(wxSlider) 25 26public: 27 wxSlider(); 28 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) 36 { 37 Create(parent, id, value, minValue, maxValue, pos, size, style, validator, name); 38 } 39 40 virtual ~wxSlider(); 41 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); 49 50 virtual int GetValue() const ; 51 virtual void SetValue(int); 52 53 void SetRange(int minValue, int maxValue); 54 55 inline int GetMin() const { return m_rangeMin; } 56 inline int GetMax() const { return m_rangeMax; } 57 58 void SetMin(int minValue) { SetRange(minValue, m_rangeMax); } 59 void SetMax(int maxValue) { SetRange(m_rangeMin, maxValue); } 60 61 // For trackbars only 62 void SetTickFreq(int n, int pos); 63 inline int GetTickFreq() const { return m_tickFreq; } 64 void SetPageSize(int pageSize); 65 int GetPageSize() const ; 66 void ClearSel() ; 67 void ClearTicks() ; 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) ; 76 77 78 // set min/max size of the slider 79 virtual void DoSetSizeHints( int minW, int minH, 80 int maxW = -1, int maxH = -1, 81 int incW = -1, int incH = -1 ); 82 83 protected: 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); 87 88 void Command(wxCommandEvent& event); 89 void MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool mouseStillDown ) ; 90 virtual void MacUpdateDimensions() ; 91 92 wxStaticText* m_macMinimumStatic ; 93 wxStaticText* m_macMaximumStatic ; 94 wxStaticText* m_macValueStatic ; 95 96 int m_rangeMin; 97 int m_rangeMax; 98 int m_pageSize; 99 int m_lineSize; 100 int m_tickFreq; 101private : 102DECLARE_EVENT_TABLE() 103}; 104 105#endif 106 // _WX_SLIDER_H_ 107