#include <Spin.h>
Signal Types | |
typedef boost::signal< void(T)> | ValueChangedSignalType |
Accessors | |
ValueChangedSignalType | ValueChangedSignal |
virtual Pt | MinUsableSize () const |
T | Value () const |
T | StepSize () const |
T | MinValue () const |
T | MaxValue () const |
bool | Editable () const |
X | ButtonWidth () const |
Clr | TextColor () const |
Clr | InteriorColor () const |
Clr | HiliteColor () const |
Clr | SelectedTextColor () const |
Structors | |
Spin (X x, Y y, X w, T value, T step, T min, T max, bool edits, const boost::shared_ptr< Font > &font, Clr color, Clr text_color=CLR_BLACK, Clr interior=CLR_ZERO, Flags< WndFlag > flags=INTERACTIVE) | |
~Spin () | |
Mutators | |
virtual void | Render () |
virtual void | SizeMove (const Pt &ul, const Pt &lr) |
virtual void | Disable (bool b=true) |
virtual void | SetColor (Clr c) |
void | Incr () |
void | Decr () |
void | SetValue (T value) |
void | SetStepSize (T step) |
void | SetMinValue (T value) |
void | SetMaxValue (T value) |
void | AllowEdits (bool b=true) |
void | SetButtonWidth (X width) |
void | SetTextColor (Clr c) |
void | SetInteriorColor (Clr c) |
void | SetHiliteColor (Clr c) |
void | SetSelectedTextColor (Clr c) |
virtual void | DefineAttributes (WndEditor *editor) |
Structors | |
Spin () | |
Accessors | |
Button * | UpButton () const |
Button * | DownButton () const |
Edit * | GetEdit () const |
Mutators | |
virtual void | KeyPress (Key key, boost::uint32_t key_code_point, Flags< ModKey > mod_keys) |
virtual void | MouseWheel (const Pt &pt, int move, Flags< ModKey > mod_keys) |
virtual bool | EventFilter (Wnd *w, const WndEvent &event) |
This control class is templated so that arbitrary data types can be used with Spin. All the built-in numeric types are supported by the code here. If you want to use some other type, such as an enum type, you need to define operator+(), operator-(), and template specializations of spin_details::mod() and spin_details::div(). Spin controls are optionally directly editable by the user. When the user inputs a value that is not valid for the Spin's parameters (not on a step boundary, or outside the allowed range), the input gets locked to the nearest valid value. The user is responsible for selecting a min, max, and step size that make sense. For instance, min = 0, max = 4, step = 3 may produce odd results if the user increments all the way to the top, then back down, to produce the sequence 0, 3, 4, 1, 0. To avoid this, choose the values so that (max
Definition at line 113 of file Spin.h.
typedef boost::signal<void (T)> GG::Spin< T >::ValueChangedSignalType |
GG::Spin< T >::Spin | ( | X | x, | |
Y | y, | |||
X | w, | |||
T | value, | |||
T | step, | |||
T | min, | |||
T | max, | |||
bool | edits, | |||
const boost::shared_ptr< Font > & | font, | |||
Clr | color, | |||
Clr | text_color = CLR_BLACK , |
|||
Clr | interior = CLR_ZERO , |
|||
Flags< WndFlag > | flags = INTERACTIVE | |||
) | [inline] |
Ctor that does not required height. Height is determined from the font and point size used.
Definition at line 246 of file Spin.h.
References GG::Connect(), and GG::Spin< T >::ValueChangedSignal.
Returns the size of the minimum bounding box that can enclose the Wnd and still show all of its elements, plus enough room for interaction with those elements (if applicable). For example, a TextControl's MinUsableSize() is just the area of its text, and a Scroll's MinUsableSize() is the combined sizes of its up-button, down-button, and tab (plus a bit of room in which to drag the tab).
Reimplemented from GG::Wnd.
Definition at line 270 of file Spin.h.
References GG::TextControl::MinUsableSize(), GG::Edit::MinUsableSize(), GG::Pt::x, and GG::Pt::y.
T GG::Spin< T >::Value | ( | ) | const [inline] |
T GG::Spin< T >::StepSize | ( | ) | const [inline] |
T GG::Spin< T >::MinValue | ( | ) | const [inline] |
T GG::Spin< T >::MaxValue | ( | ) | const [inline] |
bool GG::Spin< T >::Editable | ( | ) | const [inline] |
returns the text color
Definition at line 304 of file Spin.h.
References GG::TextControl::TextColor().
returns the the interior color of the control
Definition at line 308 of file Spin.h.
References GG::Edit::InteriorColor().
Referenced by GG::Spin< T >::Render().
returns the color used to render hiliting around selected text
Definition at line 312 of file Spin.h.
References GG::Edit::HiliteColor().
returns the color used to render selected text
Definition at line 316 of file Spin.h.
References GG::Edit::SelectedTextColor().
void GG::Spin< T >::Render | ( | ) | [inline, virtual] |
Draws this Wnd. Note that Wnds being dragged for a drag-and-drop operation are rendered twice -- once in-place as normal, once in the location of the drag operation, attached to the cursor. Such Wnds may wish to render themselves differently in those two cases. To determine which render is being performed, they can call GUI::GetGUI()->RenderingDragDropWnds().
Implements GG::Control.
Definition at line 320 of file Spin.h.
References GG::BeveledRectangle(), GG::Control::Color(), GG::Control::Disabled(), GG::DisabledColor(), GG::Spin< T >::InteriorColor(), GG::Wnd::LowerRight(), and GG::Wnd::UpperLeft().
Resizes and/or moves window to new upper-left and lower right boundaries.
Reimplemented from GG::Wnd.
Definition at line 329 of file Spin.h.
References GG::Wnd::Height(), GG::TextControl::SizeMove(), and GG::Wnd::Width().
Referenced by GG::Spin< T >::SetButtonWidth().
void GG::Spin< T >::Disable | ( | bool | b = true |
) | [inline, virtual] |
disables/enables the control; disabled controls appear greyed
Reimplemented from GG::Control.
Definition at line 342 of file Spin.h.
References GG::Control::Disable().
sets the color of the control
Reimplemented from GG::Control.
Definition at line 351 of file Spin.h.
References GG::Button::SetColor().
void GG::Spin< T >::Incr | ( | ) | [inline] |
increments the value of the control's text by StepSize(), up to at most MaxValue()
void GG::Spin< T >::Decr | ( | ) | [inline] |
decrements the value of the control's text by StepSize(), down to at least MinValue()
void GG::Spin< T >::SetValue | ( | T | value | ) | [inline] |
sets the value of the control's text to value, locked to the range [MinValue(), MaxValue()]
Definition at line 367 of file Spin.h.
Referenced by GG::Spin< T >::SetMaxValue(), GG::Spin< T >::SetMinValue(), and GG::Spin< T >::SetStepSize().
void GG::Spin< T >::SetStepSize | ( | T | step | ) | [inline] |
sets the step size of the control to step
Definition at line 371 of file Spin.h.
References GG::Spin< T >::SetValue().
void GG::Spin< T >::SetMinValue | ( | T | value | ) | [inline] |
sets the minimum value of the control to value
Definition at line 378 of file Spin.h.
References GG::Spin< T >::SetValue().
void GG::Spin< T >::SetMaxValue | ( | T | value | ) | [inline] |
sets the maximum value of the control to value
Definition at line 386 of file Spin.h.
References GG::Spin< T >::SetValue().
void GG::Spin< T >::AllowEdits | ( | bool | b = true |
) |
turns on or off the mode that allows the user to edit the value in the spinbox directly.
sets the width used for the up and down buttons
Definition at line 398 of file Spin.h.
References GG::Wnd::RelativeLowerRight(), GG::Wnd::RelativeUpperLeft(), GG::Spin< T >::SizeMove(), and GG::Wnd::Width().
sets the text color
Definition at line 394 of file Spin.h.
References GG::TextControl::SetTextColor().
sets the interior color of the control
Definition at line 409 of file Spin.h.
References GG::Edit::SetInteriorColor().
sets the color used to render hiliting around selected text
Definition at line 413 of file Spin.h.
References GG::Edit::SetHiliteColor().
sets the color used to render selected text
Definition at line 417 of file Spin.h.
References GG::Edit::SetSelectedTextColor().
void GG::Spin< T >::DefineAttributes | ( | WndEditor * | editor | ) | [inline, virtual] |
Provides the attributes of this object that are appropriate for a user to edit in a WndEditor; see WndEditor for details.
Reimplemented from GG::Control.
void GG::Spin< T >::KeyPress | ( | Key | key, | |
boost::uint32_t | key_code_point, | |||
Flags< ModKey > | mod_keys | |||
) | [inline, protected, virtual] |
Respond to down-keystrokes (focus window only). A window may receive KeyPress() messages passed up to it from its children. For instance, Control-derived classes pass KeyPress() messages to their Parent() windows by default.
key_code_point will be zero if Unicode support is unavailable.
Reimplemented from GG::Control.
void GG::Spin< T >::MouseWheel | ( | const Pt & | pt, | |
int | move, | |||
Flags< ModKey > | mod_keys | |||
) | [inline, protected, virtual] |
Respond to movement of the mouse wheel (move > 0 indicates the wheel is rolled up, < 0 indicates down)
Reimplemented from GG::Control.
bool GG::Spin< T >::EventFilter | ( | Wnd * | w, | |
const WndEvent & | event | |||
) | [inline, protected, virtual] |
Handles an WndEvent destined for Wnd w, but which this Wnd is allowed to handle first. Returns true if this filter processed the message.
Reimplemented from GG::Wnd.
Definition at line 495 of file Spin.h.
References GG::GUI::GetGUI(), GG::GUI::SetFocusWnd(), and GG::WndEvent::Type().
ValueChangedSignalType GG::Spin< T >::ValueChangedSignal [mutable] |
the value changed signal object for this Spin
Definition at line 145 of file Spin.h.
Referenced by GG::Spin< T >::Spin().