Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | Related Pages

gcn::Slider Class Reference

#include <slider.hpp>

Inheritance diagram for gcn::Slider:

gcn::Widget gcn::MouseListener gcn::KeyListener List of all members.

Detailed Description

A slider able to slide between different values.

You can set the scale of the slider yourself so that it ranges between, for example, -1.0 and 2.0.

Definition at line 68 of file slider.hpp.

Public Types

enum  { HORIZONTAL = 0, VERTICAL }
 Draw orientations for the slider. More...

Public Member Functions

 Slider (double scaleEnd=1.0)
 Constructor.
 Slider (double scaleStart, double scaleEnd)
 Constructor.
virtual ~Slider ()
 Destructor.
virtual void setScale (double scaleStart, double scaleEnd)
 Sets the scale.
virtual double getScaleStart () const
 Gets the scale start.
virtual void setScaleStart (double scaleStart)
 Sets the scale start.
virtual double getScaleEnd () const
 Gets the scale end.
virtual void setScaleEnd (double scaleEnd)
 Sets the scale end.
virtual double getValue () const
 Gets the current value.
virtual void setValue (double value)
 Sets the current value.
virtual void drawMarker (gcn::Graphics *graphics)
 Draws the marker.
virtual void setMarkerLength (int length)
 Sets the length of the marker.
virtual int getMarkerLength () const
 Gets the length of the marker.
virtual void setOrientation (unsigned int orientation)
 Sets the orientation of the slider.
virtual unsigned int getOrientation () const
 Gets the orientation of the slider.
virtual void setStepLength (double length)
 Sets the step length.
virtual double getStepLength () const
 Gets the step length.
virtual void draw (gcn::Graphics *graphics)
virtual void drawBorder (gcn::Graphics *graphics)
virtual void lostFocus ()
 Called if the Widget looses focus.
virtual void mousePress (int x, int y, int button)
 Called when a mouse button is pressed when the mouse is in the Widget area or if the Widget has focus.
virtual void mouseRelease (int x, int y, int button)
 Called when a mouse button is released when the mouse is in the Widget area or if the Widget has focus.
virtual void mouseMotion (int x, int y)
 Called when the mouse moves and the mouse is in the Widget area or if the Widget has focus.
virtual void keyPress (const Key &key)
 Called if a key is pressed when the widget has keyboard focus.

Protected Member Functions

virtual double markerPositionToValue (int v) const
 Converts a marker position to a value.
virtual int valueToMarkerPosition (double value) const
 Converts a value to a marker position.
virtual int getMarkerPosition () const
 Gets the marker position for the current value.

Protected Attributes

bool mMouseDrag
double mValue
double mStepLength
int mMarkerLength
double mScaleStart
double mScaleEnd
unsigned int mOrientation


Member Enumeration Documentation

anonymous enum
 

Draw orientations for the slider.

It can be drawn verticaly or horizontaly.

Definition at line 223 of file slider.hpp.


Constructor & Destructor Documentation

gcn::Slider::Slider double  scaleEnd = 1.0  ) 
 

Constructor.

Scale start is 0.

Parameters:
scaleEnd the end of the slider scale.

Definition at line 64 of file slider.cpp.

References gcn::Widget::addKeyListener(), gcn::Widget::addMouseListener(), gcn::Widget::setBorderSize(), gcn::Widget::setFocusable(), setMarkerLength(), setOrientation(), setStepLength(), and setValue().

gcn::Slider::Slider double  scaleStart,
double  scaleEnd
 

Constructor.

Parameters:
scaleStart the start of the scale.
scaleEnd the end of the scale.

Definition at line 83 of file slider.cpp.

References gcn::Widget::addKeyListener(), gcn::Widget::addMouseListener(), gcn::Widget::setBorderSize(), gcn::Widget::setFocusable(), setMarkerLength(), setOrientation(), setStepLength(), and setValue().


Member Function Documentation

void gcn::Slider::drawMarker gcn::Graphics graphics  )  [virtual]
 

Draws the marker.

Parameters:
Graphics a graphics object to draw with.

Definition at line 163 of file slider.cpp.

References gcn::Color::a, gcn::Widget::getBaseColor(), gcn::Widget::getForegroundColor(), gcn::Widget::getHeight(), getMarkerLength(), getMarkerPosition(), getOrientation(), gcn::Widget::getWidth(), and gcn::Widget::hasFocus().

int gcn::Slider::getMarkerLength  )  const [virtual]
 

Gets the length of the marker.

Returns:
the length of the marker.

Definition at line 284 of file slider.cpp.

Referenced by drawMarker(), markerPositionToValue(), mouseMotion(), mousePress(), and valueToMarkerPosition().

int gcn::Slider::getMarkerPosition  )  const [protected, virtual]
 

Gets the marker position for the current value.

Returns:
the marker position for the current value.

Definition at line 390 of file slider.cpp.

References getValue(), and valueToMarkerPosition().

Referenced by drawMarker().

unsigned int gcn::Slider::getOrientation  )  const [virtual]
 

Gets the orientation of the slider.

Se the enum in this class.

Returns:
the orientation of the slider.

Definition at line 329 of file slider.cpp.

Referenced by drawMarker(), keyPress(), markerPositionToValue(), mouseMotion(), mousePress(), and valueToMarkerPosition().

double gcn::Slider::getScaleEnd  )  const [virtual]
 

Gets the scale end.

Returns:
the scale end.

Definition at line 117 of file slider.cpp.

Referenced by markerPositionToValue(), setValue(), and valueToMarkerPosition().

double gcn::Slider::getScaleStart  )  const [virtual]
 

Gets the scale start.

Returns:
the scale start.

Definition at line 107 of file slider.cpp.

Referenced by markerPositionToValue(), setValue(), and valueToMarkerPosition().

double gcn::Slider::getStepLength  )  const [virtual]
 

Gets the step length.

Returns:
the step length.

Definition at line 385 of file slider.cpp.

Referenced by keyPress().

double gcn::Slider::getValue  )  const [virtual]
 

Gets the current value.

Returns:
the current value.

Definition at line 279 of file slider.cpp.

Referenced by getMarkerPosition(), and keyPress().

void gcn::Slider::keyPress const Key key  )  [virtual]
 

Called if a key is pressed when the widget has keyboard focus.

If a key is held down the widget will generate multiple key presses.

Parameters:
key the key pressed.

Reimplemented from gcn::KeyListener.

Definition at line 294 of file slider.cpp.

References gcn::Widget::generateAction(), getOrientation(), getStepLength(), getValue(), and setValue().

double gcn::Slider::markerPositionToValue int  v  )  const [protected, virtual]
 

Converts a marker position to a value.

Parameters:
v the position to convert.
Returns:
the value corresponding to the position.

Definition at line 334 of file slider.cpp.

References gcn::Widget::getHeight(), getMarkerLength(), getOrientation(), getScaleEnd(), getScaleStart(), and gcn::Widget::getWidth().

Referenced by mouseMotion(), and mousePress().

void gcn::Slider::mouseMotion int  x,
int  y
[virtual]
 

Called when the mouse moves and the mouse is in the Widget area or if the Widget has focus.

Parameters:
x the x coordinate of the mouse relative to the Widget itself.
y the y coordinate of the mouse relative to the Widget itself.

Reimplemented from gcn::MouseListener.

Definition at line 245 of file slider.cpp.

References gcn::Widget::generateAction(), gcn::Widget::getHeight(), getMarkerLength(), getOrientation(), markerPositionToValue(), and setValue().

void gcn::Slider::mousePress int  x,
int  y,
int  button
[virtual]
 

Called when a mouse button is pressed when the mouse is in the Widget area or if the Widget has focus.

NOTE: A mouse press is NOT equal to a mouse click. Use mouseClickMessage to check for mouse clicks.

Parameters:
x the x coordinate of the mouse relative to the Widget itself.
y the y coordinate of the mouse relative to the Widget itself.
button the button pressed.

Reimplemented from gcn::MouseListener.

Definition at line 211 of file slider.cpp.

References gcn::Widget::generateAction(), gcn::Widget::getHeight(), getMarkerLength(), getOrientation(), gcn::Widget::getWidth(), markerPositionToValue(), and setValue().

void gcn::Slider::mouseRelease int  x,
int  y,
int  button
[virtual]
 

Called when a mouse button is released when the mouse is in the Widget area or if the Widget has focus.

Parameters:
x the x coordinate of the mouse relative to the Widget itself.
y the y coordinate of the mouse relative to the Widget itself.
button the button released.

Reimplemented from gcn::MouseListener.

Definition at line 235 of file slider.cpp.

void gcn::Slider::setMarkerLength int  length  )  [virtual]
 

Sets the length of the marker.

Parameters:
length new length for the marker.

Definition at line 289 of file slider.cpp.

Referenced by Slider().

void gcn::Slider::setOrientation unsigned int  orientation  )  [virtual]
 

Sets the orientation of the slider.

A slider can be drawn verticaly or horizontaly. For orientation, see the enum in this class.

Parameters:
orientation the orientation.

Definition at line 324 of file slider.cpp.

Referenced by Slider().

void gcn::Slider::setScale double  scaleStart,
double  scaleEnd
[virtual]
 

Sets the scale.

Parameters:
scaleStart the start of the scale.
scaleEnd the end of the scale.

Definition at line 101 of file slider.cpp.

void gcn::Slider::setScaleEnd double  scaleEnd  )  [virtual]
 

Sets the scale end.

Parameters:
scaleEnd the end of the scale.

Definition at line 122 of file slider.cpp.

void gcn::Slider::setScaleStart double  scaleStart  )  [virtual]
 

Sets the scale start.

Parameters:
scaleStart the start of the scale.

Definition at line 112 of file slider.cpp.

void gcn::Slider::setStepLength double  length  )  [virtual]
 

Sets the step length.

Step length is used when the keys left and right are pressed.

Parameters:
length the step length.

Definition at line 380 of file slider.cpp.

Referenced by Slider().

void gcn::Slider::setValue double  value  )  [virtual]
 

Sets the current value.

Parameters:
value a scale value.

Definition at line 262 of file slider.cpp.

References getScaleEnd(), and getScaleStart().

Referenced by keyPress(), mouseMotion(), mousePress(), and Slider().

int gcn::Slider::valueToMarkerPosition double  value  )  const [protected, virtual]
 

Converts a value to a marker position.

Parameters:
value the value to convert.
Returns:
the position corresponding to the value.

Definition at line 351 of file slider.cpp.

References gcn::Widget::getHeight(), getMarkerLength(), getOrientation(), getScaleEnd(), getScaleStart(), and gcn::Widget::getWidth().

Referenced by getMarkerPosition().


The documentation for this class was generated from the following files:
Generated on Tue May 17 21:23:27 2005 for Guichan by  doxygen 1.4.1