GuiFrameSetCtrl
Engine/source/gui/containers/guiFrameCtrl.h
A gui control allowing a window to be subdivided into panes, each of which displays a gui control child of the GuiFrameSetCtrl.
Classes:
Public Types
FrameState { FRAME_STATE_ON FRAME_STATE_OFF FRAME_STATE_AUTO NO_HIT = -1 DEFAULT_BORDER_WIDTH = 4 DEFAULT_COLUMNS = 1 DEFAULT_ROWS = 1 DEFAULT_MIN_FRAME_EXTENT = 64 }
Region { VERTICAL_DIVIDER HORIZONTAL_DIVIDER DIVIDER_INTERSECTION NONE }
Private Types
Parent
Protected Attributes
Public Functions
DECLARE_DESCRIPTION("A container that allows <a href="/coding/file/cmdgram_8cpp/#cmdgram_8cpp_1a5bafda9519252aa2d0fd038153f77dca">to</a> subdivide its space into <a href="/coding/class/classguiframesetctrl/#classguiframesetctrl_1a3da0bf03e7f1d65b9e336c424b01472a">rows</a> and <a href="/coding/file/cmdscan_8cpp/#cmdscan_8cpp_1aeab71244afb687f16d8c4f5ee9d6ef0e">columns.\n</a>" "Child controls are assigned <a href="/coding/file/cmdgram_8cpp/#cmdgram_8cpp_1a5bafda9519252aa2d0fd038153f77dca">to</a> the cells row by row." )
bool
findFrameContents(S32 index, GuiControl ** gc, FrameDetail ** fd)
frameBorderEnable(S32 index, const char * state)
frameBorderMovable(S32 index, const char * state)
frameMinExtent(S32 index, const Point2I & extent)
framePadding(S32 index, const RectSpacingI & padding)
getFramePadding(S32 index)
bool
onAdd()
Called when this object is added to the scene.
onMouseDown(const GuiEvent & event)
onMouseDragged(const GuiEvent & event)
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
Public Static Functions
Protected Functions
computeSizes(bool balanceFrames)
drawDividers(const Point2I & offset)
findHitRegion(const Point2I & point)
findResizableFrames(S32 indexes)
bool
hitHorizontalDivider(S32 y, const Point2I & point)
bool
hitVerticalDivider(S32 x, const Point2I & point)
pointInAnyRegion(const Point2I & point)
Private Functions
Detailed Description
A gui control allowing a window to be subdivided into panes, each of which displays a gui control child of the GuiFrameSetCtrl.
Each gui control child will have an associated FrameDetail through which frame-specific details can be assigned. Frame-specific values override the values specified for the entire frameset.
Note that it is possible to have more children than frames, or more frames than children. In the former case, the extra children will not be visible (they are moved beyond the visible extent of the frameset). In the latter case, frames will be empty.
If a frameset had two columns and two rows but only three gui control children they would be assigned to frames as follows:
Public Types
FrameState
Enumerator
- FRAME_STATE_ON
- FRAME_STATE_OFF
- FRAME_STATE_AUTO
- NO_HIT = -1
- DEFAULT_BORDER_WIDTH = 4
- DEFAULT_COLUMNS = 1
- DEFAULT_ROWS = 1
- DEFAULT_MIN_FRAME_EXTENT = 64
Region
Enumerator
- VERTICAL_DIVIDER
- HORIZONTAL_DIVIDER
- DIVIDER_INTERSECTION
- NONE
Private Types
typedef GuiContainer Parent
Protected Attributes
bool mAutoBalance
Vector< S32 > mColumnOffsets
Region mCurHitRegion
S32 mCurHorizontalHit
S32 mCurVerticalHit
VectorPtr< FrameDetail * > mFrameDetails
FrameDetail mFramesetDetails
S32 mFudgeFactor
Point2I mLocOnDivider
Vector< S32 > mRowOffsets
Public Functions
GuiFrameSetCtrl()
GuiFrameSetCtrl(U32 columns, U32 rows, const U32 columnOffsets, const U32 rowOffsets)
~GuiFrameSetCtrl()
addObject(SimObject * object)
Reimplemented from: GuiContainer
balanceFrames()
borderWidth()
columnOffsets()
columns()
DECLARE_CONOBJECT(GuiFrameSetCtrl )
DECLARE_DESCRIPTION("A container that allows <a href="/coding/file/cmdgram_8cpp/#cmdgram_8cpp_1a5bafda9519252aa2d0fd038153f77dca">to</a> subdivide its space into <a href="/coding/class/classguiframesetctrl/#classguiframesetctrl_1a3da0bf03e7f1d65b9e336c424b01472a">rows</a> and <a href="/coding/file/cmdscan_8cpp/#cmdscan_8cpp_1aeab71244afb687f16d8c4f5ee9d6ef0e">columns.\n</a>" "Child controls are assigned <a href="/coding/file/cmdgram_8cpp/#cmdgram_8cpp_1a5bafda9519252aa2d0fd038153f77dca">to</a> the cells row by row." )
findFrameContents(S32 index, GuiControl ** gc, FrameDetail ** fd)
frameBorderEnable(S32 index, const char * state)
frameBorderMovable(S32 index, const char * state)
frameMinExtent(S32 index, const Point2I & extent)
framePadding(S32 index, const RectSpacingI & padding)
framesetDetails()
getFramePadding(S32 index)
onAdd()
Reimplemented from: GuiControl
onMouseDown(const GuiEvent & event)
Reimplemented from: GuiControl
onMouseDragged(const GuiEvent & event)
Reimplemented from: GuiControl
onMouseUp(const GuiEvent & event)
Reimplemented from: GuiControl
onRender(Point2I offset, const RectI & updateRect)
Reimplemented from: GuiControl
onWake()
Reimplemented from: GuiControl
removeObject(SimObject * object)
Reimplemented from: GuiContainer
resize(const Point2I & newPosition, const Point2I & newExtent)
Reimplemented from: GuiContainer
rowOffsets()
rows()
updateSizes()
Public Static Functions
initPersistFields()
Protected Functions
computeMovableRange(Region hitRegion, S32 vertHit, S32 horzHit, S32 numIndexes, const S32 indexes, S32 ranges)
computeSizes(bool balanceFrames)
drawDividers(const Point2I & offset)
findHitRegion(const Point2I & point)
findResizableFrames(S32 indexes)
getCursor(GuiCursor *& cursor, bool & showCursor, const GuiEvent & lastGuiEvent)
Reimplemented from: GuiControl
hitHorizontalDivider(S32 y, const Point2I & point)
hitVerticalDivider(S32 x, const Point2I & point)
init(U32 columns, U32 rows, const U32 columnOffsets, const U32 rowOffsets)
pointInAnyRegion(const Point2I & point)
rebalance(const Point2I & newExtent)