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        HandleClicked( double timestampsec 
); 
  81     void MacHandleControlClick(WXWidget control
, wxInt16 controlpart
, bool mouseStillDown
); 
  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()