Support Forum G3D Web Page |
Number editing textbox with associated slider. More...
Inherits G3D::GuiContainer.
Classes | |
class | MyTextBox |
Notifies the containing pane when the text is commited. More... | |
Public Types | |
enum | { CONTROL_HEIGHT = 25 } |
enum | { CONTROL_WIDTH = 215 } |
enum | { BUTTON_WIDTH = 80 } |
enum | { TOOL_BUTTON_WIDTH = 50 } |
enum | { CONTROL_PADDING = 4 } |
Public Member Functions | |
GuiNumberBox (GuiContainer *parent, const GuiText &caption, const Pointer< Value > &value, const GuiText &units, GuiTheme::SliderScale scale, Value minValue, Value maxValue, Value roundIncrement, GuiTheme::TextBoxStyle textBoxStyle, bool useLowerInf=false, bool useUpperInf=false) | |
For use when building larger controls out of GuiNumberBox. More... | |
~GuiNumberBox () | |
const GuiText & | caption () const |
float | captionHeight () const |
For controls that have a caption outside the bounds of the control on the top or bottom, this is the size reserved for the caption. More... | |
float | captionWidth () const |
For controls that have a caption outside the bounds of the control on the left, this is the size reserved for the caption. More... | |
const Rect2D & | clickRect () const |
Used by GuiContainers. More... | |
const Rect2D & | clientRect () const |
Client rect bounds, relative to the parent (or window if there is no parent). More... | |
virtual float | defaultCaptionHeight () const |
Default caption size for this control. More... | |
virtual float | defaultCaptionWidth () const |
bool | enabled () const |
virtual void | findControlUnderMouse (Vector2 mouse, GuiControl *&control) override |
Return the enabled, visible control containing the mouse. More... | |
bool | focused () const |
Vector2 | fromOSWindowCoords (const Vector2 &v) const |
Transforms v from OS window coordinates to this control's coordinates. More... | |
virtual void | increaseBounds (const Vector2 &extent) |
Updates this container to ensure that its client rect is least as wide and high as the specified extent, then recursively calls increaseBounds on its parent. More... | |
Value | maxValue () const |
Value | minValue () const |
bool | mouseOver () const |
void | moveBy (const Vector2 &delta) |
void | moveBy (float dx, float dy) |
void | moveRightOf (const GuiControl *control, const Vector2 &offset) |
If these two controls have the same parent, move this one immediately to the right of the argument. More... | |
void | moveRightOf (const GuiControl *control, float offsetX=0.0f) |
virtual bool | onChildControlEvent (const GEvent &event) |
Invoked immediately (i.e., outside of the queue sequence) when a child fires an event through Widget::fireEvent. More... | |
const Rect2D & | rect () const |
virtual void | render (RenderDevice *rd, const shared_ptr< GuiTheme > &theme, bool ancestorsEnabled) const override |
Only methods on theme may be called from this method by default. More... | |
virtual void | setCaption (const GuiText &c) override |
virtual void | setCaptionHeight (float c) |
virtual void | setCaptionWidth (float c) |
virtual void | setEnabled (bool e) override |
void | setEventSource (GuiControl *c) |
void | setFocused (bool b) |
Grab or release keyboard focus. More... | |
void | setHeight (float h) |
void | setPosition (const Vector2 &v) |
void | setPosition (float x, float y) |
void | setRange (Value lo, Value hi) |
virtual void | setRect (const Rect2D &rect) override |
If you explicitly change the rectangle of a control, the containing pane may clip its borders. More... | |
void | setSize (const Vector2 &v) |
void | setSize (float x, float y) |
void | setUnitsSize (float s) |
void | setVisible (bool b) |
void | setWidth (float w) |
shared_ptr< GuiTheme > | theme () const |
virtual bool | toolStyle () const |
Return true if this is in tool button style. More... | |
Vector2 | toOSWindowCoords (const Vector2 &v) const |
Returns the coordinates of v, which is in the coordinate system of this object, relative to the OSWindow on which it will be rendered. More... | |
Rect2D | toOSWindowCoords (const Rect2D &r) const |
float | unitsSize () const |
The number of pixels between the text box and the slider. More... | |
bool | visible () const |
GuiWindow * | window () const |
Get the window containing this control. More... | |
Protected Types | |
enum | { LEFT_CAPTION_WIDTH = 80, TOP_CAPTION_HEIGHT = 20 } |
enum | { textBoxWidth = 60 } |
Protected Member Functions | |
void | commit () |
Called when the user commits the text box. More... | |
void | fireEvent (GEventType type) |
Fires an event. More... | |
String | formatString (double v, double roundIncrement) |
virtual bool | onEvent (const GEvent &event) |
Events are only delivered (by GuiWindow) to a GuiControl when the control has the key focus. More... | |
void | roundAndClamp (Value &v) const |
void | updateText () |
Static Protected Member Functions | |
static String | formatString (int v, int roundIncrement) |
static String | formatString (int64 v, int64 roundIncrement) |
static String | formatString (uint64 v, uint64 roundIncrement) |
static String | formatString (float v, float roundIncrement) |
static String | precision (double roundIncrement) |
Computes the format string for the precision specification needed to see the most significant digit of roundIncrement. More... | |
Protected Attributes | |
GuiText | m_caption |
float | m_captionHeight |
float | m_captionWidth |
Rect2D | m_clickRect |
Rect bounds used for mouse actions. More... | |
Rect2D | m_clientRect |
Position to which all child controls are relative. More... | |
bool | m_enabled |
GuiControl * | m_eventSource |
Sent events should appear to be from this object, which is usually "this". More... | |
String | m_formatString |
GuiWindow * | m_gui |
The window that ultimately contains this control. More... | |
bool | m_lowerLimitInf |
Value | m_maxValue |
Value | m_minValue |
Value | m_oldValue |
Value represented by m_textValue. More... | |
GuiContainer * | m_parent |
Parent pane. More... | |
Rect2D | m_rect |
Rect bounds used for rendering and layout. More... | |
Value | m_roundIncrement |
Round to the nearest multiple of this value. More... | |
GuiSlider< Value > * | m_slider |
nullptr if there is no slider More... | |
GuiTextBox * | m_textBox |
String | m_textValue |
Text version of value. More... | |
GuiText | m_units |
float | m_unitsSize |
bool | m_upperLimitInf |
Pointer< Value > | m_value |
Current value. More... | |
bool | m_visible |
Friends | |
class | GuiPane |
class | GuiWindow |
Number editing textbox with associated slider.
See GuiWindow for an example of creating a number box.
Events:
The min/mix/rounding values are enforced on the GUI, but not on the underlying value if it is changed programmatically.
"nan", "inf", and "-inf" are all parsed to the appropriate floating point values.
|
inline |
For use when building larger controls out of GuiNumberBox.
For making a regular GUI, use GuiPane::addNumberBox.
|
inline |
|
inherited |
Referenced by G3D::GuiPane::addDropDownList(), G3D::GuiPane::addMultiLineTextBox(), and G3D::GuiPane::addTextBox().
|
inherited |
For controls that have a caption outside the bounds of the control on the top or bottom, this is the size reserved for the caption.
|
inherited |
For controls that have a caption outside the bounds of the control on the left, this is the size reserved for the caption.
|
inlineinherited |
Used by GuiContainers.
|
inlineinherited |
Client rect bounds, relative to the parent (or window if there is no parent).
|
inlineprotected |
Called when the user commits the text box.
|
inlinevirtualinherited |
Default caption size for this control.
Reimplemented in G3D::GuiFunctionBox.
|
inlinevirtualinherited |
|
inherited |
Referenced by G3D::GuiNumberBox< int >::render().
|
inlineoverridevirtual |
Return the enabled, visible control containing the mouse.
The default implementation returns itself if the mouse is within its bounds. GuiContainers should override this to iterate through children. Since only one (non-overlapping) child will write to control, it is sufficient to call this on all children without testing to see if one already wrote to control.
Reimplemented from G3D::GuiControl.
|
protectedinherited |
Fires an event.
|
inherited |
|
inlinestaticprotected |
Referenced by G3D::GuiNumberBox< int >::GuiNumberBox().
|
inlinestaticprotected |
|
inlinestaticprotected |
|
inlinestaticprotected |
|
inlineprotected |
Transforms v from OS window coordinates to this control's coordinates.
|
virtualinherited |
Updates this container to ensure that its client rect is least as wide and high as the specified extent, then recursively calls increaseBounds on its parent.
Used during automatic layout sizing.
|
inline |
|
inline |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
If these two controls have the same parent, move this one immediately to the right of the argument.
offset | May be negative |
Referenced by G3D::GuiControl::moveRightOf().
|
inlineinherited |
|
virtualinherited |
Invoked immediately (i.e., outside of the queue sequence) when a child fires an event through Widget::fireEvent.
If this method returns true, the event is never submitted to the event queue. The default implementation passes the event to the GUI parent of this GuiContainer.
This enables creation of new custom controls by embedding other controls inside a GuiContainer; the container can suppress or watch the child control events in order to present its own behavior to its parent and the GuiWindow.
|
inlineprotectedvirtualinherited |
Events are only delivered (by GuiWindow) to a GuiControl when the control has the key focus.
If the control does not consume the event, the event is delivered to each of its GUI parents in order, back to the window's root pane.
Key focus is transferred during a mouse down event.
Reimplemented in G3D::GuiTextureBox, G3D::GuiTextBox, G3D::GuiFunctionBox, G3D::GuiScrollBar, G3D::GuiDropDownList, G3D::GuiButton, G3D::ProfilerWindow::ProfilerTreeDisplay, G3D::GuiRadioButton, G3D::_GuiSliderBase, G3D::GuiTabPane, G3D::GuiCheckBox, G3D::GuiScrollPane, and G3D::GuiMultiLineTextBox.
|
inlinestaticprotected |
Computes the format string for the precision specification needed to see the most significant digit of roundIncrement.
Referenced by G3D::GuiNumberBox< int >::formatString().
|
inherited |
|
inlineoverridevirtual |
Only methods on theme may be called from this method by default.
To make arbitrary RenderDevice calls, wrap them in GuiTheme::pauseRendering ... GuiTheme::resumeRendering.
Implements G3D::GuiControl.
|
inlineprotected |
Referenced by G3D::GuiNumberBox< int >::GuiNumberBox(), and G3D::GuiNumberBox< int >::updateText().
|
inlineoverridevirtual |
Reimplemented from G3D::GuiControl.
|
virtualinherited |
|
virtualinherited |
|
inlineoverridevirtual |
Reimplemented from G3D::GuiControl.
|
inlineinherited |
|
inherited |
Grab or release keyboard focus.
|
inherited |
|
inherited |
|
inherited |
|
inline |
|
inlineoverridevirtual |
If you explicitly change the rectangle of a control, the containing pane may clip its borders.
Call pack() on the containing pane (or window) to resize that container appropriately.
Reimplemented from G3D::GuiContainer.
Referenced by G3D::GuiNumberBox< int >::setCaption(), and G3D::GuiNumberBox< int >::setUnitsSize().
|
inherited |
Referenced by G3D::GuiPane::addRadioButton().
|
inherited |
|
inline |
|
inherited |
|
inherited |
|
inherited |
|
inlinevirtualinherited |
Return true if this is in tool button style.
Reimplemented in G3D::GuiRadioButton, G3D::GuiButton, and G3D::GuiCheckBox.
Returns the coordinates of v, which is in the coordinate system of this object, relative to the OSWindow on which it will be rendered.
Referenced by G3D::GuiControl::toOSWindowCoords().
|
inline |
The number of pixels between the text box and the slider.
|
inlineprotected |
|
inherited |
|
inherited |
Get the window containing this control.
|
friend |
|
friend |
|
protectedinherited |
Referenced by G3D::GuiNumberBox< int >::render().
|
protectedinherited |
|
protectedinherited |
Referenced by G3D::GuiNumberBox< int >::setRect().
|
protectedinherited |
|
protectedinherited |
Position to which all child controls are relative.
Referenced by G3D::GuiContainer::clientRect(), G3D::GuiNumberBox< int >::findControlUnderMouse(), and G3D::GuiNumberBox< int >::render().
|
protectedinherited |
|
protectedinherited |
Sent events should appear to be from this object, which is usually "this".
Other controls can set the event source to create compound controls that seem atomic from the outside.
Referenced by G3D::GuiSlider< int >::GuiSlider(), G3D::GuiNumberBox< Value >::MyTextBox::MyTextBox(), and G3D::GuiControl::setEventSource().
|
protected |
Referenced by G3D::GuiNumberBox< int >::GuiNumberBox(), and G3D::GuiNumberBox< int >::updateText().
|
protectedinherited |
The window that ultimately contains this control.
|
protected |
Referenced by G3D::GuiNumberBox< int >::roundAndClamp().
|
protected |
|
protected |
|
protected |
Value represented by m_textValue.
Referenced by G3D::GuiNumberBox< int >::GuiNumberBox(), G3D::GuiNumberBox< int >::render(), and G3D::GuiNumberBox< int >::updateText().
|
protectedinherited |
Parent pane.
|
protectedinherited |
Rect bounds used for rendering and layout.
Relative to the enclosing pane's clientRect.
Referenced by G3D::GuiControl::findControlUnderMouse(), G3D::GuiNumberBox< int >::render(), G3D::GuiNumberBox< int >::setCaption(), and G3D::GuiNumberBox< int >::setRect().
|
protected |
Round to the nearest multiple of this value.
Referenced by G3D::GuiNumberBox< int >::GuiNumberBox(), and G3D::GuiNumberBox< int >::roundAndClamp().
|
protected |
nullptr if there is no slider
Referenced by G3D::GuiNumberBox< int >::findControlUnderMouse(), G3D::GuiNumberBox< int >::GuiNumberBox(), G3D::GuiNumberBox< int >::render(), G3D::GuiNumberBox< int >::roundAndClamp(), G3D::GuiNumberBox< int >::setEnabled(), G3D::GuiNumberBox< int >::setRange(), G3D::GuiNumberBox< int >::setRect(), and G3D::GuiNumberBox< int >::~GuiNumberBox().
|
protected |
|
protected |
Text version of value.
Referenced by G3D::GuiNumberBox< int >::commit(), G3D::GuiNumberBox< int >::GuiNumberBox(), and G3D::GuiNumberBox< int >::updateText().
|
protected |
Referenced by G3D::GuiNumberBox< int >::render().
|
protected |
|
protected |
Referenced by G3D::GuiNumberBox< int >::roundAndClamp().
|
protected |
Current value.
Referenced by G3D::GuiNumberBox< int >::commit(), G3D::GuiNumberBox< int >::GuiNumberBox(), G3D::GuiNumberBox< int >::render(), and G3D::GuiNumberBox< int >::updateText().
|
protectedinherited |