Support Forum G3D Web Page |
List box for viewing strings or GuiText. More...
Inherits G3D::GuiControl.
Public Member Functions | |
GuiDropDownList (GuiContainer *parent, const GuiText &caption, const Pointer< int > &indexValue, const Array< GuiText > &listValue, const Pointer< Array< String > > &listValuePtr, const GuiControl::Callback &actionCallback, bool usePrefixTreeMenus) | |
For use in creating compound controllers. More... | |
void | append (const GuiText &c) |
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... | |
void | clear () |
Remove all values from the list. More... | |
const Rect2D & | clickRect () const |
Used by GuiContainers. More... | |
bool | containsValue (const String &s) const |
True if the list contains this value. 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) |
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... | |
const GuiText & | get (int i) 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) |
int | numElements () const |
const Rect2D & | rect () const |
virtual void | render (RenderDevice *rd, const shared_ptr< GuiTheme > &theme, bool ancestorsEnabled) const override |
Called by GuiPane. More... | |
void | resize (int n) |
int | selectedIndex () const |
The index of the currently selected value; -1 if the list is empty. More... | |
const GuiText & | selectedValue () const |
Returns the currently selected value. More... | |
void | set (int i, const GuiText &v) |
virtual void | setCaption (const GuiText &caption) |
virtual void | setCaptionHeight (float c) |
virtual void | setCaptionWidth (float c) |
virtual void | setEnabled (bool e) |
void | setEventSource (GuiControl *c) |
void | setFocused (bool b) |
Grab or release keyboard focus. More... | |
void | setHeight (float h) |
void | setList (const Array< GuiText > &c) |
void | setList (const Array< String > &c) |
void | setPosition (const Vector2 &v) |
void | setPosition (float x, float y) |
virtual void | setRect (const Rect2D &) override |
If you explicitly change the rectangle of a control, the containing pane may clip its borders. More... | |
void | setSelectedIndex (int i) |
void | setSelectedValue (const String &s) |
Selects the first value whose text() is equal to s. More... | |
void | setSize (const Vector2 &v) |
void | setSize (float x, float y) |
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 |
bool | visible () const |
GuiWindow * | window () const |
Get the window containing this control. More... | |
Protected Types | |
enum | { LEFT_CAPTION_WIDTH = 80, TOP_CAPTION_HEIGHT = 20 } |
Protected Member Functions | |
void | fireEvent (GEventType type) |
Fires an event. More... | |
shared_ptr< GuiMenu > | menu () |
virtual bool | onEvent (const GEvent &event) override |
Events are only delivered (by GuiWindow) to a GuiControl when the control has the key focus. More... | |
void | showMenu () |
Makes the menu appear. More... | |
Protected Attributes | |
GuiControl::Callback | m_actionCallback |
GuiText | m_caption |
float | m_captionHeight |
float | m_captionWidth |
Rect2D | m_clickRect |
Rect bounds used for mouse actions. More... | |
bool | m_enabled |
GuiControl * | m_eventSource |
Sent events should appear to be from this object, which is usually "this". More... | |
GuiWindow * | m_gui |
The window that ultimately contains this control. More... | |
Pointer< int > | m_indexValue |
The index of the currently selected item. More... | |
Array< GuiText > | m_listValue |
Pointer< Array< String > > | m_listValuePtr |
Reserved for future use: If m_listValuePtr is nullptr, use m_listValue (which is more fully featured anyway) More... | |
shared_ptr< GuiMenu > | m_menu |
Pop-up list menu; call menu() to create this. More... | |
int | m_myInt |
m_indexValue points to this if no external pointer was provided. More... | |
GuiContainer * | m_parent |
Parent pane. More... | |
Rect2D | m_rect |
Rect bounds used for rendering and layout. More... | |
bool | m_selecting |
True when the menu is open. More... | |
bool | m_usePrefixTreeMenus |
bool | m_visible |
Friends | |
class | GuiPane |
class | GuiWindow |
List box for viewing strings or GuiText.
Fires a G3D::GuiEvent of type G3D::GEventType::GUI_ACTION on the containing window when the user selects a new value, GEventType::GUI_CANCEL when the user opens the dropdown and then clicks off or presses ESC.
G3D::GuiDropDownList::GuiDropDownList | ( | GuiContainer * | parent, |
const GuiText & | caption, | ||
const Pointer< int > & | indexValue, | ||
const Array< GuiText > & | listValue, | ||
const Pointer< Array< String > > & | listValuePtr, | ||
const GuiControl::Callback & | actionCallback, | ||
bool | usePrefixTreeMenus | ||
) |
For use in creating compound controllers.
For everthing else use GuiPane::addDropDownList
void G3D::GuiDropDownList::append | ( | const GuiText & | c | ) |
|
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.
void G3D::GuiDropDownList::clear | ( | ) |
Remove all values from the list.
|
inlineinherited |
Used by GuiContainers.
bool G3D::GuiDropDownList::containsValue | ( | const String & | s | ) | const |
True if the list contains this value.
|
inlinevirtualinherited |
Default caption size for this control.
Reimplemented in G3D::GuiFunctionBox.
|
inlinevirtualinherited |
|
inherited |
Referenced by G3D::GuiNumberBox< int >::render().
|
inlinevirtualinherited |
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 in G3D::GuiNumberBox< Value >, G3D::GuiNumberBox< float >, G3D::GuiNumberBox< int >, G3D::GuiTextureBox, G3D::GuiPane, G3D::GuiScrollPane, G3D::GuiFrameBox, and G3D::GuiTabPane.
Referenced by G3D::GuiNumberBox< int >::findControlUnderMouse().
|
protectedinherited |
Fires an event.
|
inherited |
Transforms v from OS window coordinates to this control's coordinates.
|
inline |
|
protected |
|
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 |
|
inline |
|
overrideprotectedvirtual |
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 from G3D::GuiControl.
|
inherited |
|
overridevirtual |
Called by GuiPane.
Implements G3D::GuiControl.
|
inline |
|
inline |
The index of the currently selected value; -1 if the list is empty.
Referenced by resize().
const GuiText& G3D::GuiDropDownList::selectedValue | ( | ) | const |
Returns the currently selected value.
|
inline |
|
virtualinherited |
Reimplemented in G3D::GuiNumberBox< Value >, G3D::GuiNumberBox< float >, G3D::GuiNumberBox< int >, G3D::GuiTextureBox, and G3D::GuiPane.
Referenced by G3D::GuiNumberBox< int >::setCaption().
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
Reimplemented in G3D::GuiNumberBox< Value >, G3D::GuiNumberBox< float >, G3D::GuiNumberBox< int >, and G3D::GuiFrameBox.
Referenced by G3D::GuiNumberBox< int >::setEnabled().
|
inlineinherited |
|
inherited |
Grab or release keyboard focus.
|
inherited |
|
inherited |
|
inherited |
|
overridevirtual |
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::GuiControl.
|
inline |
void G3D::GuiDropDownList::setSelectedValue | ( | const String & | s | ) |
Selects the first value whose text() is equal to s.
If not found, leaves the index unchanged.
|
inherited |
Referenced by G3D::GuiPane::addRadioButton().
|
inherited |
|
inherited |
|
inherited |
|
protected |
Makes the menu appear.
|
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().
|
inherited |
|
inherited |
Get the window containing this control.
|
friend |
|
friend |
|
protected |
|
protectedinherited |
Referenced by G3D::GuiNumberBox< int >::render().
|
protectedinherited |
|
protectedinherited |
Referenced by G3D::GuiNumberBox< int >::setRect().
|
protectedinherited |
|
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().
|
protectedinherited |
The window that ultimately contains this control.
|
protected |
The index of the currently selected item.
Referenced by resize(), selectedIndex(), and setSelectedIndex().
Referenced by get(), numElements(), resize(), selectedIndex(), and set().
Reserved for future use: If m_listValuePtr is nullptr, use m_listValue (which is more fully featured anyway)
|
protected |
|
protected |
m_indexValue points to this if no external pointer was provided.
|
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 |
True when the menu is open.
|
protected |
|
protectedinherited |