Classes | Typedefs | Enumerations
Layout Manager Engine

Classes

class  BPoint
 The BPoint class defines a point in the plane using integer precision. More...
 
class  BRect
 The BRect class defines a rectangle using integer precision. More...
 
class  BSize
 The BSize class defines the size of a two - dimensional object using integer point precision. More...
 
class  DockLayout
 DockLayout arranges items according to a specified dock position. More...
 
class  FlowLayout
 The Flow Layout Manager arranges items from left to right and top to bottom. More...
 
class  GridLayout
 The GridLayout class lays out controls in a table or grid. More...
 
class  LayoutControl
 The LayoutControl class is the abstract base class of all user interface elements for layout manager purposes. More...
 
class  LayoutFlag
 Maintains a single int value with an (int) cast overload. More...
 
class  LayoutFlags< Enum >
 LayoutFlags - Creates a "Flags" class out of an enum with constructors and operator overloading. More...
 
class  LayoutItem
 The LayoutItem class provides an abstract item that a LayoutManager manipulates. More...
 
class  LayoutManager
 The LayoutManager class is the base class of the layout managers. More...
 
class  Margins
 The Margins class defines the four margins of a rectangle. More...
 
class  SizePolicy
 The SizePolicy class is a layout attribute describing horizontal and vertical resizing policy. More...
 
class  SplitterLayout
 A SplitterLayout lets the user control the size of child controls or layouts by dragging the boundary between the children. More...
 
class  HSplitterLayout
 HSplitterLayout is a horizontal SplitterLayout. More...
 
class  VSplitterLayout
 VSplitterLayout is a vertical SplitterLayout. More...
 
class  SplitterHandle
 SplitterHandle represents the Sash between two layout items managed by a SplitterLayout. More...
 
class  StackLayout
 The StackLayout class lines up child controls horizontally or vertically. More...
 
class  HStackLayout
 HStackLayout is a horizontal StackLayout. More...
 
class  VStackLayout
 VStackLayout is a vertical StackLayout. More...
 

Typedefs

typedef enum SizePolicyFlag SizePolicyFlag
 FixedFlag - The control remains at a fixed size. More...
 
typedef enum SizePolicyType SizePolicyType
 Fixed - The "desired" size is the only acceptable alternative, so the control can never grow or shrink (e.g. More...
 

Enumerations

enum  LayoutDockPosition {
  DP_Top, DP_Bottom, DP_Left, DP_Right,
  DP_Fill, DP_None
}
 LayoutDockPosition - position of the docked content along the top, bottom, left or right edge, or filling the remainder. More...
 
enum  AlignmentFlag {
  Align_None = 0x0000, Align_Left = 0x0001, Align_Right = 0x0002, Align_HCenter = 0x0004,
  Align_Justify = 0x0008, Align_Absolute = 0x0010, Align_Top = 0x0020, Align_Bottom = 0x0040,
  Align_VCenter = 0x0080, Align_Center = Align_VCenter | Align_HCenter, Align_HorizontalMask = Align_Left | Align_Right | Align_HCenter | Align_Justify | Align_Absolute, Align_VerticalMask = Align_Top | Align_Bottom | Align_VCenter
}
 AlignmentFlag / Alignment. More...
 
enum  LayoutDirection {
  LD_LeftToRight, LD_RightToLeft, LD_TopToBottom, LD_BottomToTop,
  LD_LayoutDirectionAuto
}
 This type is used to determine the direction of a layout. More...
 
enum  LayoutOrientation { LO_Horizontal = 0x1, LO_Vertical = 0x2 }
 This type is used to signify an object's orientation. More...
 
enum  LayoutMargin { LM_LeftMargin, LM_TopMargin, LM_RightMargin, LM_BottomMargin }
 Argument type in GetMargin methods. More...
 
enum  SplitterBoundType { SetToMin = 1, SetToMax = 2 }
 SetToMin - The position of the Splitter set to Minimum. More...
 
enum  SizePolicyFlag {
  SPF_FixedFlag = 0x01, SPF_GrowFlag = 0x02, SPF_ExpandFlag = 0x04, SPF_ShrinkFlag = 0x08,
  SPF_IgnoreFlag = 0x10
}
 FixedFlag - The control remains at a fixed size. More...
 
enum  SizePolicyType {
  SP_None = 0, SP_Fixed = SPF_FixedFlag, SP_Minimum = SPF_GrowFlag, SP_Maximum = SPF_ShrinkFlag,
  SP_Preferred = SPF_GrowFlag | SPF_ShrinkFlag, SP_MinimumExpanding = SPF_GrowFlag | SPF_ExpandFlag, SP_Expanding = SPF_GrowFlag | SPF_ShrinkFlag | SPF_ExpandFlag, SP_Ignored = SPF_ShrinkFlag | SPF_GrowFlag | SPF_IgnoreFlag
}
 Fixed - The "desired" size is the only acceptable alternative, so the control can never grow or shrink (e.g. More...
 

Detailed Description

Typedef Documentation

FixedFlag - The control remains at a fixed size.

GrowFlag - The control can grow beyond its recommended size if necessary.

ExpandFlag - The control should get as much space as possible.

ShrinkFlag - The control can shrink below its recommended size if necessary.

IgnoreFlag - The control's recommended size is ignored. The control will get as much space as possible.

Fixed - The "desired" size is the only acceptable alternative, so the control can never grow or shrink (e.g.

the vertical direction of a push button).

Minimum - The "desired" size is minimal, and sufficient. The control can be expanded, but there is no advantage to it being larger (e.g. the horizontal direction of a push button). It cannot be smaller than the size provided by GetDesiredSize().

Maximum - The "desired" size is a maximum. The control can be shrunk any amount without detriment if other controls need the space (e.g. a separator line). It cannot be larger than the size provided by GetDesiredSize().

Preferred - The "desired" size is best, but the control can be shrunk and still be useful. The control can be expanded, but there is no advantage to it being larger than GetDesiredSize(). (the default policy).

Expanding - The "desired" size is a sensible size, but the control can be shrunk and still be useful. The control can make use of extra space, so it should get as much space as possible (e.g. the horizontal direction of a horizontal slider).

MinimumExpanding - The "desired" size is minimal, and sufficient. The control can make use of extra space, so it should get as much space as possible (e.g. the horizontal direction of a horizontal slider).

Ignored - The "desired" size is ignored. The control will get as much space as possible.

Enumeration Type Documentation

AlignmentFlag / Alignment.

This enum type is used to describe alignment. It contains horizontal and vertical flags that can be combined to produce the required effect.

The horizontal flags are:

  • Align_Left Aligns with the left edge.
  • Align_Right Aligns with the right edge.
  • Align_HCenter Centers horizontally in the available space.
  • Align_Justify Justifies the text in the available space.

The vertical flags are:

  • Align_Top Aligns with the top.
  • Align_Bottom Aligns with the bottom.
  • Align_VCenter Centers vertically in the available space.

You can use only one of the horizontal flags at a time. There is one two-dimensional flag:

  • Align_Center Centers in both dimensions.

Useful in applications that can be run in right-to-left mode:

  • Align_Absolute If the control's layout direction is RightToLeft (instead of LeftToRight, the default), AlignLeft refers to the right edge and AlignRight to the left edge. This is normally the desired behavior. If you want AlignLeft to always mean "left" and AlignRight to always mean "right", combine the flag with AlignAbsolute.

You can use at most one horizontal and one vertical flag at a time. AlignCenter counts as both horizontal and vertical.

Masks:

  • Align_Horizontal_Mask
  • Align_Vertical_Mask
Enumerator
Align_None 
Align_Left 
Align_Right 
Align_HCenter 
Align_Justify 
Align_Absolute 
Align_Top 
Align_Bottom 
Align_VCenter 
Align_Center 
Align_HorizontalMask 
Align_VerticalMask 

This type is used to determine the direction of a layout.

  • LeftToRight - Horizontal from left to right.
  • RightToLeft - Horizontal from right to left.
  • TopToBottom - Vertical from top to bottom.
  • BottomToTop - Vertical from bottom to top.
Enumerator
LD_LeftToRight 
LD_RightToLeft 
LD_TopToBottom 
LD_BottomToTop 
LD_LayoutDirectionAuto 

LayoutDockPosition - position of the docked content along the top, bottom, left or right edge, or filling the remainder.

Enumerator
DP_Top 
DP_Bottom 
DP_Left 
DP_Right 
DP_Fill 
DP_None 

Argument type in GetMargin methods.

Enumerator
LM_LeftMargin 
LM_TopMargin 
LM_RightMargin 
LM_BottomMargin 

This type is used to signify an object's orientation.

Enumerator
LO_Horizontal 
LO_Vertical 

FixedFlag - The control remains at a fixed size.

GrowFlag - The control can grow beyond its recommended size if necessary.

ExpandFlag - The control should get as much space as possible.

ShrinkFlag - The control can shrink below its recommended size if necessary.

IgnoreFlag - The control's recommended size is ignored. The control will get as much space as possible.

Enumerator
SPF_FixedFlag 
SPF_GrowFlag 
SPF_ExpandFlag 
SPF_ShrinkFlag 
SPF_IgnoreFlag 

Fixed - The "desired" size is the only acceptable alternative, so the control can never grow or shrink (e.g.

the vertical direction of a push button).

Minimum - The "desired" size is minimal, and sufficient. The control can be expanded, but there is no advantage to it being larger (e.g. the horizontal direction of a push button). It cannot be smaller than the size provided by GetDesiredSize().

Maximum - The "desired" size is a maximum. The control can be shrunk any amount without detriment if other controls need the space (e.g. a separator line). It cannot be larger than the size provided by GetDesiredSize().

Preferred - The "desired" size is best, but the control can be shrunk and still be useful. The control can be expanded, but there is no advantage to it being larger than GetDesiredSize(). (the default policy).

Expanding - The "desired" size is a sensible size, but the control can be shrunk and still be useful. The control can make use of extra space, so it should get as much space as possible (e.g. the horizontal direction of a horizontal slider).

MinimumExpanding - The "desired" size is minimal, and sufficient. The control can make use of extra space, so it should get as much space as possible (e.g. the horizontal direction of a horizontal slider).

Ignored - The "desired" size is ignored. The control will get as much space as possible.

Enumerator
SP_None 
SP_Fixed 
SP_Minimum 
SP_Maximum 
SP_Preferred 
SP_MinimumExpanding 
SP_Expanding 
SP_Ignored 
enum SplitterBoundType
strong

SetToMin - The position of the Splitter set to Minimum.

SetToMax - The position of the Splitter set to Maximum.

Enumerator
SetToMin 
SetToMax 

Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.