GuiStackControl
Engine/source/gui/containers/guiStackCtrl.h
A stack of GUI controls.
Public Types
HorizontalType { horizStackLeft = 0 horizStackRight }
StackingType { stackingTypeVert stackingTypeHoriz stackingTypeDyn }
VerticalType { vertStackTop vertStackBottom }
Protected Types
Parent
Protected Attributes
bool
Do we reset the child's position in the opposite direction we are stacking?
bool
Does the child resize to fit i.e. should a horizontal stack resize its children's height to fit?
bool
Resize this control along the non-stack axis to fit the max extent of the children (width or height depends on the stack type)
bool
Reposition this control along the stack axis when it is resized (by mDynamicSize) (left or up depends on the stack type)
bool
Resize this control along the stack axis to fit the summed extent of the children (width or height depends on the stack type)
bool
Set from horizSizingOptions.
Set from vertSizingOptions.
Public Functions
childResized(GuiControl * child)
Called when a child control of the object is resized.
DECLARE_CATEGORY("Gui Containers" )
DECLARE_DESCRIPTION("A container that stacks its children horizontally or vertically." )
bool
isFrozen()
bool
onWake()
Called when this object is asked to wake up returns true if it's actually awake at the end.
removeObject(SimObject * object)
Remove the given object from the set.
bool
bool
stackHorizontal(bool fromLeft)
stackVertical(bool fromTop)
Public Static Functions
Detailed Description
A stack of GUI controls.
This maintains a horizontal or vertical stack of GUI controls. If one is deleted, or resized, then the stack is resized to fit. The order of the stack is determined by the internal order of the children (ie, order of addition).
Public Types
HorizontalType
Enumerator
- horizStackLeft = 0
Stack from left to right when horizontal.
- horizStackRight
Stack from right to left when horizontal.
StackingType
Enumerator
- stackingTypeVert
Always stack vertically.
- stackingTypeHoriz
Always stack horizontally.
- stackingTypeDyn
Dynamically switch based on width/height.
VerticalType
Enumerator
- vertStackTop
Stack from top to bottom when vertical.
- vertStackBottom
Stack from bottom to top when vertical.
Protected Types
typedef GuiControl Parent
Protected Attributes
bool mChangeChildPosition
Do we reset the child's position in the opposite direction we are stacking?
bool mChangeChildSizeToFit
Does the child resize to fit i.e. should a horizontal stack resize its children's height to fit?
bool mDynamicNonStackExtent
Resize this control along the non-stack axis to fit the max extent of the children (width or height depends on the stack type)
bool mDynamicPos
Reposition this control along the stack axis when it is resized (by mDynamicSize) (left or up depends on the stack type)
bool mDynamicSize
Resize this control along the stack axis to fit the summed extent of the children (width or height depends on the stack type)
S32 mPadding
bool mResizing
S32 mStackHorizSizing
Set from horizSizingOptions.
S32 mStackingType
S32 mStackVertSizing
Set from vertSizingOptions.
Public Functions
GuiStackControl()
addObject(SimObject * obj)
Reimplemented from: SimGroup
childResized(GuiControl * child)
Reimplemented from: GuiControl
DECLARE_CATEGORY("Gui Containers" )
DECLARE_CONOBJECT(GuiStackControl )
DECLARE_DESCRIPTION("A container that stacks its children horizontally or vertically." )
freeze(bool )
prevent resizing. useful when adding many items.
getCount()
isFrozen()
onSleep()
Reimplemented from: GuiControl
onWake()
Reimplemented from: GuiControl
removeObject(SimObject * object)
Reimplemented from: SimGroup
reOrder(SimObject * obj, SimObject * target)
Reimplemented from: SimSet
resize(const Point2I & newPosition, const Point2I & newExtent)
Reimplemented from: GuiControl
Reimplemented by: GuiInspector
stackHorizontal(bool fromLeft)
stackVertical(bool fromTop)
updatePanes()