# CEGUI::Slider Class Reference

Base class for Slider widgets. More...

Inheritance diagram for CEGUI::Slider:

[legend]
Collaboration diagram for CEGUI::Slider:

[legend]
List of all members.

## Public Member Functions

float | getCurrentValue (void) const
| return the current slider value.
float | getMaxValue (void) const
| return the maximum value set for this widget
float | getClickStep (void) const
| return the current click step setting for the slider.
virtual void | initialise (void)
| Initialises the Window based object ready for use.
void | setMaxValue (float maxVal)
| set the maximum value for the slider. Note that the minimum value is fixed at 0.
void | setCurrentValue (float value)
| set the current slider value.
void | setClickStep (float step)
| set the current click step setting for the slider.
| Slider (const String &type, const String &name)
| Slider base class constructor.
virtual | ~Slider (void)
| Slider base class destructor.

## Static Public Attributes

static const String | EventNamespace
| Namespace for global events.
static const String | EventValueChanged
| Event fired when the slider value changes.
static const String | EventThumbTrackStarted
| Name of the event fired when the user begins dragging the thumb.
static const String | EventThumbTrackEnded
| Name of the event fired when the user releases the thumb.

## Protected Member Functions

void | addSliderEvents (void)
| Add slider specific events.
virtual Thumb * | createThumb (const String &name) const =0
| create a Thumb based widget to use as the thumb for this slider.
virtual void | updateThumb (void)=0
| update the size and location of the thumb to properly represent the current state of the slider
virtual float | getValueFromThumb (void) const =0
| return value that best represents current slider value given the current location of the thumb.
virtual float | getAdjustDirectionFromPoint (const Point &pt) const =0
| Given window location pt, return a value indicating what change should be made to the slider.
bool | handleThumbMoved (const EventArgs &e)
| handler function for when thumb moves.
bool | handleThumbTrackStarted (const EventArgs &e)
| handler function for when thumb tracking begins
bool | handleThumbTrackEnded (const EventArgs &e)
| handler function for when thumb tracking begins
virtual bool | testClassName_impl (const String &class_name) const
| Return whether this window was inherited from the given class name at some point in the inheritance heirarchy.
virtual void | onValueChanged (WindowEventArgs &e)
| Handler triggered when the slider value changes.
virtual void | onThumbTrackStarted (WindowEventArgs &e)
| Handler triggered when the user begins to drag the slider thumb.
virtual void | onThumbTrackEnded (WindowEventArgs &e)
| Handler triggered when the slider thumb is released.
virtual void | onMouseButtonDown (MouseEventArgs &e)
| Handler called when a mouse button has been depressed within this window's area.
virtual void | onMouseWheel (MouseEventArgs &e)
| Handler called when the mouse wheel (z-axis) position changes within this window's area.

## Protected Attributes

float | d_value
| current slider value
float | d_maxValue
| slider maximum value (minimum is fixed at 0)
float | d_step
| amount to adjust slider by when clicked (and not dragged).
Thumb * | d_thumb
| widget used to represent the 'thumb' of the slider.

## Detailed Description

Base class for Slider widgets.

The slider widget has a default range of 0.0f - 1.0f. This enables use of the slider value to scale any value needed by way of a simple multiplication.

## Member Function Documentation

virtual Thumb* CEGUI::Slider::createThumb | ( | const String & | name | ) | const`[protected, pure virtual]`

create a Thumb based widget to use as the thumb for this slider.

Parameters:

  | name | String containing the name to be assigned to the thumb upon creation.

virtual float CEGUI::Slider::getAdjustDirectionFromPoint | ( | const Point & | pt | ) | const`[protected, pure virtual]`

Given window location pt, return a value indicating what change should be made to the slider.

Parameters:

  | pt | Point object describing a pixel position in window space.

Returns:
  - -1 to indicate slider should be moved to a lower setting.
  - 0 to indicate slider should not be moved.
  - +1 to indicate slider should be moved to a higher setting.

float CEGUI::Slider::getClickStep | ( | void |  | ) | const`[inline]`

return the current click step setting for the slider.

The click step size is the amount the slider value will be adjusted when the widget is clicked wither side of the slider thumb.

Returns:
  float value representing the current click step setting.

float CEGUI::Slider::getCurrentValue | ( | void |  | ) | const`[inline]`

return the current slider value.

Returns:
  float value equal to the sliders current value.

float CEGUI::Slider::getMaxValue | ( | void |  | ) | const`[inline]`

return the maximum value set for this widget

Returns:
  float value equal to the currently set maximum value for this slider.

virtual float CEGUI::Slider::getValueFromThumb | ( | void |  | ) | const`[protected, pure virtual]`

return value that best represents current slider value given the current location of the thumb.

Returns:
  float value that, given the thumb widget position, best represents the current value for the slider.

void CEGUI::Slider::initialise | ( | void |  | ) | `[virtual]`

Initialises the Window based object ready for use.

Note:
  This must be called for every window created. Normally this is handled automatically by the WindowFactory for each Window type.

Returns:
  Nothing

Reimplemented from CEGUI::Window.

void CEGUI::Slider::onMouseButtonDown | ( | MouseEventArgs & | e | ) | `[protected, virtual]`

Handler called when a mouse button has been depressed within this window's area.

Parameters:

  | e | MouseEventArgs object. All fields are valid.

Reimplemented from CEGUI::Window.

void CEGUI::Slider::onMouseWheel | ( | MouseEventArgs & | e | ) | `[protected, virtual]`

Handler called when the mouse wheel (z-axis) position changes within this window's area.

Parameters:

  | e | MouseEventArgs object. All fields are valid.

Reimplemented from CEGUI::Window.

void CEGUI::Slider::setClickStep | ( | float | step | ) | `[inline]`

set the current click step setting for the slider.

The click step size is the amount the slider value will be adjusted when the widget is clicked wither side of the slider thumb.

Parameters:

  | step | float value representing the click step setting to use.

Returns:
  Nothing.

void CEGUI::Slider::setCurrentValue | ( | float | value | ) |

set the current slider value.

Parameters:

  | value | float value specifying the new value for this slider widget.

Returns:
  Nothing.

void CEGUI::Slider::setMaxValue | ( | float | maxVal | ) |

set the maximum value for the slider. Note that the minimum value is fixed at 0.

Parameters:

  | maxVal | float value specifying the maximum value for this slider widget.

Returns:
  Nothing.

virtual bool CEGUI::Slider::testClassName_impl | ( | const String & | class_name | ) | const`[inline, protected, virtual]`

Return whether this window was inherited from the given class name at some point in the inheritance heirarchy.

Parameters:

  | class_name | The class name that is to be checked.

Returns:
  true if this window was inherited from class_name. false if not.

Reimplemented from CEGUI::Window.