CEGUI::Spinner Class Reference

Base class for the Spinner widget. More...

Inheritance diagram for CEGUI::Spinner:

Inheritance graph
[legend]
Collaboration diagram for CEGUI::Spinner:

Collaboration graph
[legend]

List of all members.

Public Types

enum  TextInputMode { FloatingPoint, Integer, Hexadecimal, Octal }
 Enumerated type specifying possible input and/or display modes for the spinner. More...

Public Member Functions

 Spinner (const String &type, const String &name)
 Constructor for Spinner objects.
virtual ~Spinner (void)
 Destructor for Spinner objects.
void initialiseComponents (void)
 Initialises the Window based object ready for use.
float getCurrentValue (void) const
 Return the current spinner value.
float getStepSize (void) const
 Return the current step value.
float getMaximumValue (void) const
 Return the current maximum limit value for the Spinner.
float getMinimumValue (void) const
 Return the current minimum limit value for the Spinner.
TextInputMode getTextInputMode (void) const
 Return the current text input / display mode setting.
void setCurrentValue (float value)
 Set the current spinner value.
void setStepSize (float step)
 Set the current step value.
void setMaximumValue (float maxValue)
 Set the spinner maximum value.
void setMinimumValue (float minVaue)
 Set the spinner minimum value.
void setTextInputMode (TextInputMode mode)
 Set the spinner input / display mode.

Static Public Attributes

static const String WidgetTypeName
 Window factory name.
static const String EventNamespace
 Namespace for global events.
static const String EventValueChanged
 Event fired when the spinner value changes.
static const String EventStepChanged
 Event fired when the step value changes.
static const String EventMaximumValueChanged
 Event fired when the maximum spinner value changes.
static const String EventMinimumValueChanged
 Event fired when the minimum spinner value changes.
static const String EventTextInputModeChanged
 Event fired when the input/display mode is changed.
static const String EditboxNameSuffix
 Widget name suffix for the editbox thumb component.
static const String IncreaseButtonNameSuffix
 Widget name suffix for the increase button component.
static const String DecreaseButtonNameSuffix
 Widget name suffix for the decrease button component.

Protected Member Functions

virtual float getValueFromText (void) const
 Returns the numerical representation of the current editbox text.
virtual String getTextFromValue (void) const
 Returns the textual representation of the current spinner value.
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 hierarchy.
PushButtongetIncreaseButton () const
 Return a pointer to the 'increase' PushButtoncomponent widget for this Spinner.
PushButtongetDecreaseButton () const
 Return a pointer to the 'decrease' PushButton component widget for this Spinner.
EditboxgetEditbox () const
 Return a pointer to the Editbox component widget for this Spinner.
virtual void onFontChanged (WindowEventArgs &e)
 Handler called when the window's font is changed.
virtual void onTextChanged (WindowEventArgs &e)
 Handler called when the window's text is changed.
virtual void onActivated (ActivationEventArgs &e)
 Handler called when this window has become the active window.
virtual void onValueChanged (WindowEventArgs &e)
 Method called when the spinner value changes.
virtual void onStepChanged (WindowEventArgs &e)
 Method called when the step value changes.
virtual void onMaximumValueChanged (WindowEventArgs &e)
 Method called when the maximum value setting changes.
virtual void onMinimumValueChanged (WindowEventArgs &e)
 Method called when the minimum value setting changes.
virtual void onTextInputModeChanged (WindowEventArgs &e)
 Method called when the text input/display mode is changed.
bool handleIncreaseButton (const EventArgs &e)
bool handleDecreaseButton (const EventArgs &e)
bool handleEditTextChange (const EventArgs &e)

Protected Attributes

float d_stepSize
 Step size value used y the increase & decrease buttons.
float d_currentValue
 Numerical copy of the text in d_editbox.
float d_maxValue
 Maximum value for spinner.
float d_minValue
 Minimum value for spinner.
TextInputMode d_inputMode
 Current text display/input mode.

Static Protected Attributes

static const String FloatValidator
 Validator regex used for floating point mode.
static const String IntegerValidator
 Validator regex used for decimal integer mode.
static const String HexValidator
 Validator regex used for hexadecimal mode.
static const String OctalValidator
 Validator regex used for octal mode.


Detailed Description

Base class for the Spinner widget.

The spinner widget has a text area where numbers may be entered and two buttons which may be used to increase or decrease the value in the text area by a user specified amount.

Note:
While the Spinner widget has support for floating point values, the results of using this support in its current state may not be satisfactory. The general advice, for the moment, is to avoid very large or very small values in floating point mode, and to perform as little manipulation of the values as possible. The various issues you may see range from scientific notation appearing in the box, to complete breakdown of 'expected' values upon manipulation. This is something that we intend to address for a future release.

Member Enumeration Documentation

Enumerated type specifying possible input and/or display modes for the spinner.

Enumerator:
FloatingPoint  Floating point decimal.
Integer  Integer decimal.
Hexadecimal  Hexadecimal.
Octal  Octal.


Member Function Documentation

float CEGUI::Spinner::getCurrentValue ( void   )  const

Return the current spinner value.

Returns:
current float value of the Spinner.

References d_currentValue.

PushButton * CEGUI::Spinner::getDecreaseButton (  )  const [protected]

Return a pointer to the 'decrease' PushButton component widget for this Spinner.

Returns:
Pointer to a PushButton object.
Exceptions:
UnknownObjectException Thrown if the 'decrease' PushButton component does not exist.

References DecreaseButtonNameSuffix, and CEGUI::Window::getName().

Referenced by initialiseComponents().

Editbox * CEGUI::Spinner::getEditbox (  )  const [protected]

Return a pointer to the Editbox component widget for this Spinner.

Returns:
Pointer to a Editbox object.
Exceptions:
UnknownObjectException Thrown if the Editbox component does not exist.

References EditboxNameSuffix, and CEGUI::Window::getName().

Referenced by getValueFromText(), initialiseComponents(), onActivated(), onFontChanged(), onTextChanged(), onTextInputModeChanged(), onValueChanged(), and setTextInputMode().

PushButton * CEGUI::Spinner::getIncreaseButton (  )  const [protected]

Return a pointer to the 'increase' PushButtoncomponent widget for this Spinner.

Returns:
Pointer to a PushButton object.
Exceptions:
UnknownObjectException Thrown if the increase PushButton component does not exist.

References CEGUI::Window::getName(), and IncreaseButtonNameSuffix.

Referenced by initialiseComponents().

float CEGUI::Spinner::getMaximumValue ( void   )  const

Return the current maximum limit value for the Spinner.

Returns:
Maximum value that is allowed for the spinner.

References d_maxValue.

float CEGUI::Spinner::getMinimumValue ( void   )  const

Return the current minimum limit value for the Spinner.

Returns:
Minimum value that is allowed for the spinner.

References d_minValue.

float CEGUI::Spinner::getStepSize ( void   )  const

Return the current step value.

Returns:
float step value. This is the value added to the spinner vaue when the up / down buttons are clicked.

References d_stepSize.

String CEGUI::Spinner::getTextFromValue ( void   )  const [protected, virtual]

Returns the textual representation of the current spinner value.

Returns:
String object that is equivalent to the the numerical value of the spinner.

References d_currentValue, d_inputMode, FloatingPoint, Hexadecimal, Integer, and Octal.

Referenced by onTextInputModeChanged(), and onValueChanged().

Spinner::TextInputMode CEGUI::Spinner::getTextInputMode ( void   )  const

Return the current text input / display mode setting.

Returns:
One of the TextInputMode enumerated values indicating the current text input and display mode.

References d_inputMode.

float CEGUI::Spinner::getValueFromText ( void   )  const [protected, virtual]

Returns the numerical representation of the current editbox text.

Returns:
float value that is the numerical equivalent of the editbox text.
Exceptions:
InvalidRequestException thrown if the text can not be converted.

References CEGUI::String::c_str(), d_inputMode, CEGUI::String::empty(), FloatingPoint, getEditbox(), CEGUI::Window::getText(), Hexadecimal, Integer, and Octal.

void CEGUI::Spinner::initialiseComponents ( 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.

References CEGUI::Window::EventMouseButtonDown, CEGUI::Window::EventTextChanged, getDecreaseButton(), getEditbox(), getIncreaseButton(), Integer, CEGUI::Window::performChildWindowLayout(), setCurrentValue(), CEGUI::Window::setMouseAutoRepeatEnabled(), setTextInputMode(), CEGUI::Window::setWantsMultiClickEvents(), and CEGUI::EventSet::subscribeEvent().

void CEGUI::Spinner::onActivated ( ActivationEventArgs e  )  [protected, virtual]

Handler called when this window has become the active window.

Parameters:
e ActivationEventArgs class whose 'otherWindow' field is set to the window that previously was active, or NULL for none.

Reimplemented from CEGUI::Window.

References CEGUI::Window::activate(), getEditbox(), and CEGUI::Window::isActive().

void CEGUI::Spinner::onFontChanged ( WindowEventArgs e  )  [protected, virtual]

Handler called when the window's font is changed.

Parameters:
e WindowEventArgs object whose 'window' pointer field is set to the window that triggered the event. For this event the trigger window is always 'this'.

Reimplemented from CEGUI::Window.

References getEditbox(), CEGUI::Window::getFont(), and CEGUI::Window::setFont().

void CEGUI::Spinner::onMaximumValueChanged ( WindowEventArgs e  )  [protected, virtual]

Method called when the maximum value setting changes.

Parameters:
e WindowEventArgs object containing any relevant data.
Returns:
Nothing.

References d_currentValue, d_maxValue, EventMaximumValueChanged, EventNamespace, CEGUI::EventSet::fireEvent(), and setCurrentValue().

Referenced by setMaximumValue().

void CEGUI::Spinner::onMinimumValueChanged ( WindowEventArgs e  )  [protected, virtual]

Method called when the minimum value setting changes.

Parameters:
e WindowEventArgs object containing any relevant data.
Returns:
Nothing.

References d_currentValue, d_minValue, EventMinimumValueChanged, EventNamespace, CEGUI::EventSet::fireEvent(), and setCurrentValue().

Referenced by setMinimumValue().

void CEGUI::Spinner::onStepChanged ( WindowEventArgs e  )  [protected, virtual]

Method called when the step value changes.

Parameters:
e WindowEventArgs object containing any relevant data.
Returns:
Nothing.

References EventNamespace, EventStepChanged, and CEGUI::EventSet::fireEvent().

Referenced by setStepSize().

void CEGUI::Spinner::onTextChanged ( WindowEventArgs e  )  [protected, virtual]

Handler called when the window's text is changed.

Parameters:
e WindowEventArgs object whose 'window' pointer field is set to the window that triggered the event. For this event the trigger window is always 'this'.

Reimplemented from CEGUI::Window.

References CEGUI::Window::d_text, getEditbox(), CEGUI::Window::getText(), CEGUI::EventArgs::handled, and CEGUI::Window::setText().

void CEGUI::Spinner::onTextInputModeChanged ( WindowEventArgs e  )  [protected, virtual]

Method called when the text input/display mode is changed.

Parameters:
e WindowEventArgs object containing any relevant data.
Returns:
Nothing.

References EventNamespace, EventTextInputModeChanged, CEGUI::EventSet::fireEvent(), getEditbox(), getTextFromValue(), CEGUI::EventSet::isMuted(), CEGUI::EventSet::setMutedState(), and CEGUI::Window::setText().

Referenced by setTextInputMode().

void CEGUI::Spinner::onValueChanged ( WindowEventArgs e  )  [protected, virtual]

void CEGUI::Spinner::setCurrentValue ( float  value  ) 

Set the current spinner value.

Parameters:
value value to be assigned to the Spinner.
Returns:
Nothing.

References d_currentValue, d_maxValue, d_minValue, and onValueChanged().

Referenced by initialiseComponents(), onMaximumValueChanged(), and onMinimumValueChanged().

void CEGUI::Spinner::setMaximumValue ( float  maxValue  ) 

Set the spinner maximum value.

Parameters:
maxValue The maximum value to be allowed by the spinner.
Returns:
Nothing.

References d_maxValue, and onMaximumValueChanged().

void CEGUI::Spinner::setMinimumValue ( float  minVaue  ) 

Set the spinner minimum value.

Parameters:
minVaue The minimum value to be allowed by the spinner.
Returns:
Nothing.

References d_minValue, and onMinimumValueChanged().

void CEGUI::Spinner::setStepSize ( float  step  ) 

Set the current step value.

Parameters:
step The value added to be the spinner value when the up / down buttons are clicked.
Returns:
Nothing.

References d_stepSize, and onStepChanged().

void CEGUI::Spinner::setTextInputMode ( TextInputMode  mode  ) 

Set the spinner input / display mode.

Parameters:
mode One of the TextInputMode enumerated values indicating the text input / display mode to be used by the spinner.
Returns:
Nothing.

References d_inputMode, FloatingPoint, FloatValidator, getEditbox(), Hexadecimal, HexValidator, Integer, IntegerValidator, Octal, OctalValidator, onTextInputModeChanged(), and CEGUI::Editbox::setValidationString().

Referenced by initialiseComponents().

virtual bool CEGUI::Spinner::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 hierarchy.

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.

References CEGUI::Window::testClassName_impl().


Generated on Thu Nov 27 20:34:38 2008 for Crazy Eddies GUI System by  doxygen 1.5.7.1