Support Forum G3D Web Page |
Sub-rectangle of a window.
More...
Inherits G3D::GuiContainer.
Public Types | |
enum | { CONTROL_HEIGHT = 25 } |
enum | { CONTROL_WIDTH = 215 } |
enum | { BUTTON_WIDTH = 80 } |
enum | { TOOL_BUTTON_WIDTH = 50 } |
enum | { CONTROL_PADDING = 4 } |
enum | { DEFAULT_SIZE = -1 } |
For use with setNewChildSize() More... | |
Public Member Functions | |
GuiPane (GuiContainer *parent, const GuiText &text, const Rect2D &rect, GuiTheme::PaneStyle style) | |
For use by GuiContainers. More... | |
~GuiPane () | |
GuiButton * | addButton (const GuiText &text, const GuiControl::Callback &actionCallback, GuiTheme::ButtonStyle style) |
template<class Class > | |
GuiButton * | addButton (const GuiText &text, Class *const callbackObject, void(Class::*callbackMethod)(), GuiTheme::ButtonStyle style=GuiTheme::NORMAL_BUTTON_STYLE) |
template<class Class > | |
GuiButton * | addButton (const GuiText &text, const shared_ptr< Class > &callbackObject, void(Class::*callbackMethod)(), GuiTheme::ButtonStyle style=GuiTheme::NORMAL_BUTTON_STYLE) |
GuiButton * | addButton (const GuiText &text, std::function< void(void)> callbackFunction, GuiTheme::ButtonStyle style=GuiTheme::NORMAL_BUTTON_STYLE) |
GuiButton * | addButton (const GuiText &text, GuiTheme::ButtonStyle style=GuiTheme::NORMAL_BUTTON_STYLE) |
GuiCheckBox * | addCheckBox (const GuiText &text, const Pointer< bool > &pointer, GuiTheme::CheckBoxStyle style=GuiTheme::NORMAL_CHECK_BOX_STYLE) |
GuiCheckBox * | addCheckBox (const GuiText &text, bool *pointer, GuiTheme::CheckBoxStyle style=GuiTheme::NORMAL_CHECK_BOX_STYLE) |
GuiControl * | addCustom (GuiControl *control) |
Add a custom ("user-created") subclass of GuiControl. More... | |
GuiDropDownList * | addDropDownList (const GuiText &caption, const Array< String > &list, const Pointer< int > &indexPointer=nullptr, const GuiControl::Callback &actionCallback=GuiControl::Callback(), bool usePrefixTreeMenus=false) |
Add a drop-down list. More... | |
GuiDropDownList * | addDropDownList (const GuiText &caption, const Array< GuiText > &list=Array< GuiText >(), const Pointer< int > &indexPointer=nullptr, const GuiControl::Callback &actionCallback=GuiControl::Callback(), bool usePrefixTreeMenus=false) |
GuiDropDownList * | addDropDownList (const GuiText &caption, const Array< String > &list, const Pointer< int > &indexPointer, std::function< void(void)> callbackFunction, bool usePrefixTreeMenus=false) |
GuiDropDownList * | addDropDownList (const GuiText &caption, const Array< GuiText > &list, const Pointer< int > &indexPointer, std::function< void(void)> callbackFunction, bool usePrefixTreeMenus=false) |
template<class EnumClass > | |
void | addEnumClassRadioButtons (const GuiText &label, const Pointer< EnumClass > &valuePtr, GuiTheme::RadioButtonStyle style=GuiTheme::NORMAL_RADIO_BUTTON_STYLE) |
Create a set of radio buttons for selecting values from a class declared with G3D_DECLARE_ENUM_CLASS or G3D_DECLARE_ENUM_CLASS_METHOS. More... | |
GuiFrameBox * | addFrameBox (const Pointer< CFrame > &value, bool allowRoll=true, GuiTheme::TextBoxStyle style=GuiTheme::NORMAL_TEXT_BOX_STYLE) |
GuiFunctionBox * | addFunctionBox (const GuiText &text, Spline< float > *spline) |
GuiLabel * | addLabel (const GuiText &text, GFont::XAlign xalign=GFont::XALIGN_LEFT, GFont::YAlign yalign=GFont::YALIGN_CENTER) |
GuiMultiLineTextBox * | addMultiLineTextBox (const GuiText &caption, const Pointer< String > &stringPointer, GuiTextBox::Update update=GuiTextBox::DELAYED_UPDATE, GuiTheme::TextBoxStyle style=GuiTheme::NORMAL_TEXT_BOX_STYLE) |
template<typename Value > | |
GuiNumberBox< Value > * | addNumberBox (const GuiText &text, const Pointer< Value > &value, const GuiText &suffix="", GuiTheme::SliderScale sliderScale=GuiTheme::NO_SLIDER, Value min=(Value) minVal(Value()), Value max=(Value) maxVal(Value()), Value roundIncrement=0, GuiTheme::TextBoxStyle textBoxStyle=GuiTheme::NORMAL_TEXT_BOX_STYLE, bool useLowerInf=false, bool useUpperInf=false) |
Create a text box for numbers. More... | |
template<typename Value > | |
GuiNumberBox< Value > * | addNumberBox (const GuiText &text, Value *value, const GuiText &suffix="", GuiTheme::SliderScale sliderScale=GuiTheme::NO_SLIDER, Value min=(Value) minVal(Value()), Value max=(Value) maxVal(Value()), Value roundIncrement=0, GuiTheme::TextBoxStyle textBoxStyle=GuiTheme::NORMAL_TEXT_BOX_STYLE, bool useLowerInf=false, bool useUpperInf=false) |
GuiPane * | addPane (const GuiText &text="", GuiTheme::PaneStyle style=GuiTheme::SIMPLE_PANE_STYLE) |
If the text is "", no space is reserved for a caption. More... | |
template<typename EnumOrInt > | |
GuiRadioButton * | addRadioButton (const GuiText &text, EnumOrInt myID, const Pointer< EnumOrInt > &ptr, GuiTheme::RadioButtonStyle style=GuiTheme::NORMAL_RADIO_BUTTON_STYLE) |
Example: More... | |
template<class G3DEnum > | |
GuiRadioButton * | addRadioButton (const GuiText &text, typename G3DEnum::Value myID, const Pointer< G3DEnum > &ptr, GuiTheme::RadioButtonStyle style=GuiTheme::NORMAL_RADIO_BUTTON_STYLE) |
template<typename EnumOrInt > | |
GuiRadioButton * | addRadioButton (const GuiText &text, EnumOrInt myID, EnumOrInt *ptr, GuiTheme::RadioButtonStyle style=GuiTheme::NORMAL_RADIO_BUTTON_STYLE) |
template<typename EnumOrInt , class T > | |
GuiRadioButton * | addRadioButton (const GuiText &text, int myID, T *object, EnumOrInt(T::*get)() const, void(T::*set)(EnumOrInt), GuiTheme::RadioButtonStyle style=GuiTheme::NORMAL_RADIO_BUTTON_STYLE) |
template<typename EnumOrInt , class T > | |
GuiRadioButton * | addRadioButton (const GuiText &text, int myID, shared_ptr< T > object, EnumOrInt(T::*get)() const, void(T::*set)(EnumOrInt), GuiTheme::RadioButtonStyle style=GuiTheme::NORMAL_RADIO_BUTTON_STYLE) |
GuiScrollPane * | addScrollPane (bool enabledVerticalScrolling=true, bool enabledHorizontalScrolling=false, GuiTheme::ScrollPaneStyle style=GuiTheme::BORDERED_SCROLL_PANE_STYLE) |
template<typename Value > | |
GuiSlider< Value > * | addSlider (const GuiText &text, const Pointer< Value > &value, Value min, Value max, bool horizontal=true, GuiTheme::SliderScale scale=GuiTheme::LINEAR_SLIDER, bool useLowerInf=false, bool useUpperInf=false) |
template<typename Value > | |
GuiSlider< Value > * | addSlider (const GuiText &text, Value *value, Value min, Value max, bool horizontal=true, GuiTheme::SliderScale scale=GuiTheme::LINEAR_SLIDER, bool useLowerInf=false, bool useUpperInf=false) |
GuiTabPane * | addTabPane (const Pointer< int > ¤tTabID=Pointer< int >()) |
The pointer passed is the associated id of the current tab being added. More... | |
GuiTextBox * | addTextBox (const GuiText &caption, const Pointer< String > &stringPointer, GuiTextBox::Update update=GuiTextBox::DELAYED_UPDATE, GuiTheme::TextBoxStyle style=GuiTheme::NORMAL_TEXT_BOX_STYLE) |
GuiTextureBox * | addTextureBox (GApp *app, const GuiText &caption="", const shared_ptr< Texture > &t=shared_ptr< Texture >(), bool embedded=false, bool drawInverted=false) |
GuiTextureBox * | addTextureBox (GApp *app, const shared_ptr< Texture > &t, bool embedded=false, bool drawInverted=false) |
Uses the texture name as the caption. More... | |
GuiWidgetDestructor * | addWidgetDestructor (const weak_ptr< Widget > &w) |
Adds an invisible object to this pane that, when destroyed, will remove the widget from its manager. More... | |
virtual void | beginRow () |
By default, new controls are placed at the left edge of the pane below the lowest control. More... | |
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 | endRow () |
virtual void | findControlUnderMouse (Vector2 mouse, GuiControl *&control) override |
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... | |
bool | morphing () const |
Returns true while a morph is in progress. More... | |
virtual void | morphTo (const Rect2D &r) |
Causes the window to change shape and/or position to meet the specified location. More... | |
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... | |
void | pack () |
Resize this pane so that all of its controls are visible and so that there is no wasted space. More... | |
const Rect2D & | rect () const |
void | remove (GuiControl *gui) |
Removes this control from the GuiPane. More... | |
void | removeAllChildren () |
Removes all children but leaves the current size (call GuiPane::pack() to shrink it). More... | |
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 &caption) override |
If the original caption was non-empty (even if it was " "), the new caption will be shown. More... | |
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) |
virtual void | setNewChildSize (float controlWidth=DEFAULT_SIZE, float controlHeight=DEFAULT_SIZE, float captionWidth=DEFAULT_SIZE, float captionHeight=DEFAULT_SIZE) |
void | setPosition (const Vector2 &v) |
void | setPosition (float x, float y) |
virtual void | setRect (const Rect2D &rect) override |
Set relative to the parent pane (or window) 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... | |
Static Public Member Functions | |
static int | maxVal (int x) |
Provide the default clamp bounds for addNumberBox. More... | |
static double | maxVal (double x) |
Provide the default clamp bounds for addNumberBox. More... | |
static int | minVal (int x) |
Provide the default clamp bounds for addNumberBox. More... | |
static double | minVal (double x) |
Provide the default clamp bounds for addNumberBox. More... | |
Protected Types | |
enum | { LEFT_CAPTION_WIDTH = 80, TOP_CAPTION_HEIGHT = 20 } |
enum | LayoutDirection { ROW, COLUMN } |
For use with setLayout. More... | |
Protected Member Functions | |
GuiPane (GuiWindow *gui, const GuiText &text, const Rect2D &rect, GuiTheme::PaneStyle style) | |
void | fireEvent (GEventType type) |
Fires an event. More... | |
virtual bool | onEvent (const GEvent &event) |
Events are only delivered (by GuiWindow) to a GuiControl when the control has the key focus. More... | |
Protected Attributes | |
Array< GuiContainer * > | containerArray |
Sub panes. More... | |
Array< GuiControl * > | controlArray |
Array< GuiLabel * > | labelArray |
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... | |
GuiWindow * | m_gui |
The window that ultimately contains this control. More... | |
Vector2 | m_layoutCaptionSize |
Vector2 | m_layoutControlSize |
LayoutDirection | m_layoutDirection |
GuiControl * | m_layoutPreviousControl |
For use in ROW mode. More... | |
_internal::Morph | m_morph |
GuiContainer * | m_parent |
Parent pane. More... | |
Rect2D | m_rect |
Rect bounds used for rendering and layout. More... | |
GuiTheme::PaneStyle | m_style |
bool | m_visible |
Friends | |
class | _GuiSliderBase |
class | GuiButton |
class | GuiControl |
class | GuiRadioButton |
class | GuiWindow |
Sub-rectangle of a window.
Created by GuiWindow::addPane(). If a pane is invisible, everything inside of it is also invisible.
All coordinates of objects inside a pane are relative to the pane's clientRect(). See GuiWindow for an example of creating a user interface.
anonymous enum |
For use with setNewChildSize()
Enumerator | |
---|---|
DEFAULT_SIZE |
|
protected |
For use with setLayout.
Enumerator | |
---|---|
ROW | Controls are moved next to the previous control using GuiControl::moveRightOf. Does not affect the first control added after setLayout. |
COLUMN | Controls are placed at the left edge of the pane below the lowest current control. |
|
protected |
G3D::GuiPane::GuiPane | ( | GuiContainer * | parent, |
const GuiText & | text, | ||
const Rect2D & | rect, | ||
GuiTheme::PaneStyle | style | ||
) |
For use by GuiContainers.
G3D::GuiPane::~GuiPane | ( | ) |
GuiButton* G3D::GuiPane::addButton | ( | const GuiText & | text, |
const GuiControl::Callback & | actionCallback, | ||
GuiTheme::ButtonStyle | style | ||
) |
Referenced by addButton().
|
inline |
|
inline |
|
inline |
callbackFunction | can be any callable object that has no parameters or return value. |
This means it works for function pointers, functors, and bother non-capturing and capturing lambdas. The last of which is very useful for calling a function of your App that normally takes parameters. See https://blog.feabhas.com/2014/03/demystifying-c-lambdas/ for a nice description of lambdas in C++.
Instead of:
declaring (and defining, unless you want to separate the definition, adding even more code bloat) in the header:
and then writing:
you can simply write
which is much less code, and doesn't pollute App with one-off member functions.
Another example:
which replaces writing seven specialized member functions.
GuiButton* G3D::GuiPane::addButton | ( | const GuiText & | text, |
GuiTheme::ButtonStyle | style = GuiTheme::NORMAL_BUTTON_STYLE |
||
) |
GuiCheckBox* G3D::GuiPane::addCheckBox | ( | const GuiText & | text, |
const Pointer< bool > & | pointer, | ||
GuiTheme::CheckBoxStyle | style = GuiTheme::NORMAL_CHECK_BOX_STYLE |
||
) |
bool enabled; gui->addCheckBox("Enabled", &enabled);
Foo* foo = new Foo(); gui->addCheckBox("Enabled", Pointer<bool>(foo, &Foo::enabled, &Foo::setEnabled));
BarRef foo = Bar::create(); gui->addCheckBox("Enabled", Pointer<bool>(bar, &Bar::enabled, &Bar::setEnabled));
Referenced by addCheckBox().
|
inline |
GuiControl* G3D::GuiPane::addCustom | ( | GuiControl * | control | ) |
Add a custom ("user-created") subclass of GuiControl.
control should not be a subclass of GuiPane. Do not add a standard (e.g., G3D::GuiButton, G3D::GuiPane) control using this method.
GuiDropDownList* G3D::GuiPane::addDropDownList | ( | const GuiText & | caption, |
const Array< String > & | list, | ||
const Pointer< int > & | indexPointer = nullptr , |
||
const GuiControl::Callback & | actionCallback = GuiControl::Callback() , |
||
bool | usePrefixTreeMenus = false |
||
) |
Add a drop-down list.
You can make the indexPointer reference an enum type by casting:
Pointer<int>(objectPointer, reinterpret_cast<int (Class::*)() const>(getMethod), reinterpret_cast<void (Class::*)(int)>(setMethod)))
Referenced by addDropDownList().
GuiDropDownList* G3D::GuiPane::addDropDownList | ( | const GuiText & | caption, |
const Array< GuiText > & | list = Array< GuiText >() , |
||
const Pointer< int > & | indexPointer = nullptr , |
||
const GuiControl::Callback & | actionCallback = GuiControl::Callback() , |
||
bool | usePrefixTreeMenus = false |
||
) |
|
inline |
|
inline |
|
inline |
Create a set of radio buttons for selecting values from a class declared with G3D_DECLARE_ENUM_CLASS or G3D_DECLARE_ENUM_CLASS_METHOS.
Works with any G3D enumerated class, including those that have initializer values.
label | Label for the entire control. No label is created if this is empty. |
style | Style of the individual buttons. |
GuiFrameBox* G3D::GuiPane::addFrameBox | ( | const Pointer< CFrame > & | value, |
bool | allowRoll = true , |
||
GuiTheme::TextBoxStyle | style = GuiTheme::NORMAL_TEXT_BOX_STYLE |
||
) |
GuiFunctionBox* G3D::GuiPane::addFunctionBox | ( | const GuiText & | text, |
Spline< float > * | spline | ||
) |
GuiLabel* G3D::GuiPane::addLabel | ( | const GuiText & | text, |
GFont::XAlign | xalign = GFont::XALIGN_LEFT , |
||
GFont::YAlign | yalign = GFont::YALIGN_CENTER |
||
) |
xalign | Horizontal alignment of text within the rect of the label |
yalign | Vertical alignment of text within the rect of the label |
The label will wordwrap, but only allocates vertical layout space based on the size of the control. If you would like to change the layout space, call GuiControl::setHeight on it.
Referenced by addEnumClassRadioButtons().
|
inline |
|
inline |
Create a text box for numbers.
suffix | A label to the right of the number, e.g., units |
roundIncrement | Round typed values to the nearest increment of this, 0 for no rounding. |
|
inline |
GuiPane* G3D::GuiPane::addPane | ( | const GuiText & | text = "" , |
GuiTheme::PaneStyle | style = GuiTheme::SIMPLE_PANE_STYLE |
||
) |
If the text is "", no space is reserved for a caption.
If non-empty (even " "), then space is reserved and the caption may later be changed.
|
inline |
Example:
enum Day {SUN, MON, TUE, WED, THU, FRI, SAT};
Day day;
gui->addRadioButton("Sun", SUN, &day); gui->addRadioButton("Mon", MON, &day); gui->addRadioButton("Tue", TUE, &day); ...
ptr | Must be a pointer to an int or enum. The current selection value for a group of radio buttons. |
Referenced by addEnumClassRadioButtons(), and addRadioButton().
|
inline |
|
inline |
|
inline |
|
inline |
GuiScrollPane* G3D::GuiPane::addScrollPane | ( | bool | enabledVerticalScrolling = true , |
bool | enabledHorizontalScrolling = false , |
||
GuiTheme::ScrollPaneStyle | style = GuiTheme::BORDERED_SCROLL_PANE_STYLE |
||
) |
|
inline |
Referenced by addSlider().
|
inline |
GuiTabPane* G3D::GuiPane::addTabPane | ( | const Pointer< int > & | currentTabID = Pointer< int >() | ) |
The pointer passed is the associated id of the current tab being added.
|
inline |
GuiTextureBox* G3D::GuiPane::addTextureBox | ( | GApp * | app, |
const GuiText & | caption = "" , |
||
const shared_ptr< Texture > & | t = shared_ptr< Texture >() , |
||
bool | embedded = false , |
||
bool | drawInverted = false |
||
) |
GuiTextureBox* G3D::GuiPane::addTextureBox | ( | GApp * | app, |
const shared_ptr< Texture > & | t, | ||
bool | embedded = false , |
||
bool | drawInverted = false |
||
) |
Uses the texture name as the caption.
GuiWidgetDestructor* G3D::GuiPane::addWidgetDestructor | ( | const weak_ptr< Widget > & | w | ) |
Adds an invisible object to this pane that, when destroyed, will remove the widget from its manager.
Useful for automatically destroying Widgets associated with the Entity pane of SceneEditorWindow.
|
inlinevirtual |
By default, new controls are placed at the left edge of the pane below the lowest control.
Between beginRow()...endRow() controls are placed to the right of the previous control.
You can start a new row by making another call to beginRow().
Referenced by addEnumClassRadioButtons().
|
inherited |
Referenced by addDropDownList(), addMultiLineTextBox(), and 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).
|
inlinevirtualinherited |
Default caption size for this control.
Reimplemented in G3D::GuiFunctionBox.
|
inlinevirtualinherited |
|
inherited |
Referenced by G3D::GuiNumberBox< int >::render().
|
inlinevirtual |
Referenced by addEnumClassRadioButtons().
|
overridevirtual |
mouse | in GUI pixels |
Reimplemented from G3D::GuiControl.
|
protectedinherited |
Fires an event.
|
inherited |
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.
|
inlinestatic |
Provide the default clamp bounds for addNumberBox.
|
inlinestatic |
Provide the default clamp bounds for addNumberBox.
|
inlinestatic |
Provide the default clamp bounds for addNumberBox.
|
inlinestatic |
Provide the default clamp bounds for addNumberBox.
|
inline |
Returns true while a morph is in progress.
|
virtual |
Causes the window to change shape and/or position to meet the specified location.
The window will not respond to drag events while it is morphing.
|
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.
void G3D::GuiPane::pack | ( | ) |
Resize this pane so that all of its controls are visible and so that there is no wasted space.
Does not affect control layout. Recursively packs all child GuiPanes.
|
inherited |
void G3D::GuiPane::remove | ( | GuiControl * | gui | ) |
Removes this control from the GuiPane.
void G3D::GuiPane::removeAllChildren | ( | ) |
Removes all children but leaves the current size (call GuiPane::pack() to shrink it).
Removed children are deleted.
Do not invoke during a GuiCallback when the object being called may be deleted.
|
overridevirtual |
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.
|
overridevirtual |
If the original caption was non-empty (even if it was " "), the new caption will be shown.
Reimplemented from G3D::GuiControl.
|
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 |
|
virtual |
controlWidth | If not DEFAULT_SIZE, controls have their GuiControl::rect.width set to this value. |
controlHeight | If not DEFAULT_SIZE, controls have their GuiControl::rect.width set to this value. |
captionWidth | If not DEFAULT_SIZE, controls with non-zero caption widths have their GuiControl::captionWidth adjusted to this value. |
captionHeight | If not DEFAULT_SIZE, controls with non-zero caption heights have their GuiControl::captionWidth adjusted to this value. |
|
inherited |
|
inherited |
|
overridevirtual |
Set relative to the parent pane (or window)
Reimplemented from G3D::GuiContainer.
|
inherited |
Referenced by addRadioButton().
|
inherited |
|
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().
|
inherited |
|
inherited |
Get the window containing this control.
|
friend |
|
friend |
|
friend |
|
friend |
Referenced by addRadioButton().
|
friend |
|
protected |
Sub panes.
|
protected |
|
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().
|
protectedinherited |
The window that ultimately contains this control.
|
protected |
|
protected |
|
protected |
Referenced by beginRow(), and endRow().
|
protected |
For use in ROW mode.
Referenced by beginRow().
|
protected |
Referenced by morphing().
|
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 |
|
protectedinherited |