]>
git.saurik.com Git - wxWidgets.git/blob - interface/wx/slider.h
   1 ///////////////////////////////////////////////////////////////////////////// 
   3 // Purpose:     interface of wxSlider 
   4 // Author:      wxWidgets team 
   6 // Licence:     wxWindows license 
   7 ///////////////////////////////////////////////////////////////////////////// 
  12     A slider is a control with a handle which can be pulled back and forth to 
  15     On Windows, the track bar control is used. 
  17     Slider events are handled in the same way as a scrollbar. 
  20     @style{wxSL_HORIZONTAL} 
  21            Displays the slider horizontally (this is the default). 
  23            Displays the slider vertically. 
  24     @style{wxSL_AUTOTICKS} 
  27            Displays minimum, maximum and value labels. 
  29            Displays ticks on the left and forces the slider to be vertical. 
  31            Displays ticks on the right and forces the slider to be vertical. 
  33            Displays ticks on the top. 
  35            Displays ticks on the bottom (this is the default). 
  37            Allows the user to select a range on the slider. Windows only. 
  39            Inverses the mininum and maximum endpoints on the slider. Not 
  40            compatible with wxSL_SELRANGE. 
  43     @beginEventTable{wxScrollEvent} 
  44     You can use EVT_COMMAND_SCROLL... macros with window IDs for when intercepting 
  45     scroll events from controls, or EVT_SCROLL... macros without window IDs for 
  46     intercepting scroll events from the receiving window -- except for this, 
  47     the macros behave exactly the same. 
  48     @event{EVT_SCROLL(func)} 
  49         Process all scroll events. 
  50     @event{EVT_SCROLL_TOP(func)} 
  51         Process wxEVT_SCROLL_TOP scroll-to-top events (minimum position). 
  52     @event{EVT_SCROLL_BOTTOM(func)} 
  53         Process wxEVT_SCROLL_BOTTOM scroll-to-bottom events (maximum position). 
  54     @event{EVT_SCROLL_LINEUP(func)} 
  55         Process wxEVT_SCROLL_LINEUP line up events. 
  56     @event{EVT_SCROLL_LINEDOWN(func)} 
  57         Process wxEVT_SCROLL_LINEDOWN line down events. 
  58     @event{EVT_SCROLL_PAGEUP(func)} 
  59         Process wxEVT_SCROLL_PAGEUP page up events. 
  60     @event{EVT_SCROLL_PAGEDOWN(func)} 
  61         Process wxEVT_SCROLL_PAGEDOWN page down events. 
  62     @event{EVT_SCROLL_THUMBTRACK(func)} 
  63         Process wxEVT_SCROLL_THUMBTRACK thumbtrack events 
  64         (frequent events sent as the user drags the thumbtrack). 
  65     @event{EVT_SCROLL_THUMBRELEASE(func)} 
  66         Process wxEVT_SCROLL_THUMBRELEASE thumb release events. 
  67     @event{EVT_SCROLL_CHANGED(func)} 
  68         Process wxEVT_SCROLL_CHANGED end of scrolling events (MSW only). 
  69     @event{EVT_COMMAND_SCROLL(id, func)} 
  70         Process all scroll events. 
  71     @event{EVT_COMMAND_SCROLL_TOP(id, func)} 
  72         Process wxEVT_SCROLL_TOP scroll-to-top events (minimum position). 
  73     @event{EVT_COMMAND_SCROLL_BOTTOM(id, func)} 
  74         Process wxEVT_SCROLL_BOTTOM scroll-to-bottom events (maximum position). 
  75     @event{EVT_COMMAND_SCROLL_LINEUP(id, func)} 
  76         Process wxEVT_SCROLL_LINEUP line up events. 
  77     @event{EVT_COMMAND_SCROLL_LINEDOWN(id, func)} 
  78         Process wxEVT_SCROLL_LINEDOWN line down events. 
  79     @event{EVT_COMMAND_SCROLL_PAGEUP(id, func)} 
  80         Process wxEVT_SCROLL_PAGEUP page up events. 
  81     @event{EVT_COMMAND_SCROLL_PAGEDOWN(id, func)} 
  82         Process wxEVT_SCROLL_PAGEDOWN page down events. 
  83     @event{EVT_COMMAND_SCROLL_THUMBTRACK(id, func)} 
  84         Process wxEVT_SCROLL_THUMBTRACK thumbtrack events 
  85         (frequent events sent as the user drags the thumbtrack). 
  86     @event{EVT_COMMAND_SCROLL_THUMBRELEASE(func)} 
  87         Process wxEVT_SCROLL_THUMBRELEASE thumb release events. 
  88     @event{EVT_COMMAND_SCROLL_CHANGED(func)} 
  89         Process wxEVT_SCROLL_CHANGED end of scrolling events (MSW only). 
  92     @section slider_diff The difference between EVT_SCROLL_THUMBRELEASE and EVT_SCROLL_CHANGED 
  94     The EVT_SCROLL_THUMBRELEASE event is only emitted when actually dragging the 
  95     thumb using the mouse and releasing it (This EVT_SCROLL_THUMBRELEASE event 
  96     is also followed by an EVT_SCROLL_CHANGED event). 
  98     The EVT_SCROLL_CHANGED event also occurs when using the keyboard to change 
  99     the thumb position, and when clicking next to the thumb 
 100     (In all these cases the EVT_SCROLL_THUMBRELEASE event does not happen). 
 101     In short, the EVT_SCROLL_CHANGED event is triggered when scrolling/ moving 
 102     has finished independently of the way it had started. 
 103     Please see the widgets sample ("Slider" page) to see the difference between 
 104     EVT_SCROLL_THUMBRELEASE and EVT_SCROLL_CHANGED in action. 
 108     @appearance{slider.png} 
 110     @see @ref overview_eventhandling, wxScrollBar 
 112 class wxSlider 
: public wxControl
 
 121         Constructor, creating and showing a slider. 
 124             Parent window. Must not be @NULL. 
 126             Window identifier. The value wxID_ANY indicates a default value. 
 128             Initial position for the slider. 
 130             Minimum slider position. 
 132             Maximum slider position. 
 134             Window position. If wxDefaultPosition is specified then a default position is chosen. 
 136             Window size. If wxDefaultSize is specified then a default size is chosen. 
 138             Window style. See wxSlider. 
 144         @see Create(), wxValidator 
 146     wxSlider(wxWindow
* parent
, wxWindowID id
, int value
, 
 147              int minValue
, int maxValue
, 
 148              const wxPoint
& pos 
= wxDefaultPosition
, 
 149              const wxSize
& size 
= wxDefaultSize
, 
 150              long style 
= wxSL_HORIZONTAL
, 
 151              const wxValidator
& validator 
= wxDefaultValidator
, 
 152              const wxString
& name 
= wxSliderNameStr
); 
 155         Destructor, destroying the slider. 
 160         Clears the selection, for a slider with the @b wxSL_SELRANGE style. 
 164     virtual void ClearSel(); 
 171     virtual void ClearTicks(); 
 174         Used for two-step slider construction. 
 175         See wxSlider() for further details. 
 177     bool Create(wxWindow
* parent
, wxWindowID id
, int value
, int minValue
, 
 178                 int maxValue
, const wxPoint
& point 
= wxDefaultPosition
, 
 179                 const wxSize
& size 
= wxDefaultSize
, long style 
= wxSL_HORIZONTAL
, 
 180                 const wxValidator
& validator 
= wxDefaultValidator
, 
 181                 const wxString
& name 
= wxSliderNameStr
); 
 184         Returns the line size. 
 188     virtual int GetLineSize() const; 
 191         Gets the maximum slider value. 
 193         @see GetMin(), SetRange() 
 195     virtual int GetMax() const; 
 198         Gets the minimum slider value. 
 200         @see GetMin(), SetRange() 
 202     virtual int GetMin() const; 
 205         Returns the page size. 
 209     virtual int GetPageSize() const; 
 212         Returns the selection end point. 
 216         @see GetSelStart(), SetSelection() 
 218     virtual int GetSelEnd() const; 
 221         Returns the selection start point. 
 225         @see GetSelEnd(), SetSelection() 
 227     virtual int GetSelStart() const; 
 230         Returns the thumb length. 
 234         @see SetThumbLength() 
 236     virtual int GetThumbLength() const; 
 239         Returns the tick frequency. 
 245     virtual int GetTickFreq() const; 
 248         Gets the current slider value. 
 250         @see GetMin(), GetMax(), SetValue() 
 252     virtual int GetValue() const; 
 255         Sets the line size for the slider. 
 258             The number of steps the slider moves when the user moves it up 
 263     virtual void SetLineSize(int lineSize
); 
 266         Sets the page size for the slider. 
 269             The number of steps the slider moves when the user pages up or down. 
 273     virtual void SetPageSize(int pageSize
); 
 276         Sets the minimum and maximum slider values. 
 278         @see GetMin(), GetMax() 
 280     virtual void SetRange(int minValue
, int maxValue
); 
 286             The selection start position. 
 288             The selection end position. 
 292         @see GetSelStart(), GetSelEnd() 
 294     virtual void SetSelection(int startPos
, int endPos
); 
 297         Sets the slider thumb length. 
 304         @see GetThumbLength() 
 306     virtual void SetThumbLength(int len
); 
 309         Sets a tick position. 
 318     virtual void SetTick(int tickPos
); 
 321         Sets the tick mark frequency and position. 
 324             Frequency. For example, if the frequency is set to two, a tick mark is 
 325             displayed for every other increment in the slider's range. 
 327             Position. Must be greater than zero. @todo: what is this for? 
 333     virtual void SetTickFreq(int n
, int pos
); 
 336         Sets the slider position. 
 341     virtual void SetValue(int value
);