Public Types | List of all members
BLayoutBuilder::Grid< ParentBuilder > Class Template Reference

BLayoutBuilder::Base subclass for building BGridLayouts. More...

Inherits BLayoutBuilder::Base< ParentBuilder >.

Public Types

typedef Cards< ThisBuilderCardBuilder
 Shorthand for builders returned by this builder's AddCards() methods. More...
 
typedef Grid< ThisBuilderGridBuilder
 Shorthand for builders returned by this builder's AddGrid() methods. More...
 
typedef Group< ThisBuilderGroupBuilder
 Shorthand for builders returned by this builder's AddGroup() methods. More...
 
typedef Split< ThisBuilderSplitBuilder
 Shorthand for builders returned by this builder's AddSplit() methods. More...
 
typedef Grid< ParentBuilder > ThisBuilder
 Shorthand representing the type of this. More...
 

Public Member Functions

Constructors
 Grid (float horizontal=B_USE_DEFAULT_SPACING, float vertical=B_USE_DEFAULT_SPACING)
 Creates a new BGridView and targets it. More...
 
 Grid (BWindow *window, float horizontal=B_USE_DEFAULT_SPACING, float vertical=B_USE_DEFAULT_SPACING)
 Creates a new BGridLayout, and attaches it to a BWindow. More...
 
 Grid (BView *view, float horizontal=B_USE_DEFAULT_SPACING, float vertical=B_USE_DEFAULT_SPACING)
 Creates a builder targeting an existing view. More...
 
 Grid (BGridLayout *layout)
 Creates a builder targeting an existing BGridLayout. More...
 
 Grid (BGridView *view)
 Creates a builder targeting a BGridView. More...
 
Accessors
BGridLayoutLayout () const
 Get a pointer to the layout this builder represents. More...
 
BViewView () const
 Get a pointer to the BView this builder's layout is attached to. More...
 
ThisBuilderGetLayout (BGridLayout **_layout)
 Get the layout this builder represents. More...
 
ThisBuilderGetView (BView **_view)
 Get a pointer to the BView this builder's layout is attached to. More...
 
 operator BGridLayout * ()
 Cast this builder into the layout object it represents. More...
 
Adding BViews and BLayoutItems
ThisBuilderAdd (BView *view, int32 column, int32 row, int32 columnCount=1, int32 rowCount=1)
 Add a BView to the BGridLayout this builder represents. More...
 
ThisBuilderAdd (BLayoutItem *item, int32 column, int32 row, int32 columnCount=1, int32 rowCount=1)
 Add a BLayoutItem to the BGridLayout this builder represents. More...
 
ThisBuilderAddMenuField (BMenuField *menuField, int32 column, int32 row, alignment labelAlignment=B_ALIGN_HORIZONTAL_UNSET, int32 labelColumnCount=1, int32 fieldColumnCount=1, int32 rowCount=1)
 Add a BMenuField to the layout. More...
 
ThisBuilderAddTextControl (BTextControl *textControl, int32 column, int32 row, alignment labelAlignment=B_ALIGN_HORIZONTAL_UNSET, int32 labelColumnCount=1, int32 textColumnCount=1, int32 rowCount=1)
 Add a BMenuField to the layout. More...
 
Adding BLayouts and their BView Pairs

A set of methods that add a BLayout or BView subclass and return a BLayoutBuilder::Base subclass representing the newly added object. These methods push a new builder on top of the stack, you will not be using this builder again until you call End().

GroupBuilder AddGroup (orientation orientation, float spacing, int32 column, int32 row, int32 columnCount=1, int32 rowCount=1)
 
GroupBuilder AddGroup (BGroupView *groupView, int32 column, int32 row, int32 columnCount=1, int32 rowCount=1)
 
GroupBuilder AddGroup (BGroupLayout *groupLayout, int32 column, int32 row, int32 columnCount=1, int32 rowCount=1)
 
GridBuilder AddGrid (float horizontalSpacing, float verticalSpacing, int32 column, int32 row, int32 columnCount=1, int32 rowCount=1)
 Shorthand for builders returned by this builder's AddGrid() methods. BLayoutBuilder::Group<ParentBuilder>::AddGrid( More...
 
GridBuilder AddGrid (BGridLayout *gridLayout, int32 column, int32 row, int32 columnCount=1, int32 rowCount=1)
 
GridBuilder AddGrid (BGridView *gridView, int32 column, int32 row, int32 columnCount=1, int32 rowCount=1)
 
SplitBuilder AddSplit (orientation orientation, float spacing, int32 column, int32 row, int32 columnCount=1, int32 rowCount=1)
 
SplitBuilder AddSplit (BSplitView *splitView, int32 column, int32 row, int32 columnCount=1, int32 rowCount=1)
 
CardBuilder AddCards (int32 column, int32 row, int32 columnCount=1, int32 rowCount=1)
 
CardBuilder AddCards (BCardLayout *cardLayout, int32 column, int32 row, int32 columnCount=1, int32 rowCount=1)
 
CardBuilder AddCards (BCardView *cardView, int32 column, int32 row, int32 columnCount=1, int32 rowCount=1)
 
Adding BSpaceLayoutItems

A convenience method to add glue to a cell.

ThisBuilderAddGlue (int32 column, int32 row, int32 columnCount=1, int32 rowCount=1)
 
BGridLayout Properties

These methods expose some settings of the underlying grid layout.

ThisBuilderSetHorizontalSpacing (float spacing)
 Set the spacing between columns for this layout. More...
 
ThisBuilderSetVerticalSpacing (float spacing)
 Set the spacing between rows for this layout. More...
 
ThisBuilderSetSpacing (float horizontal, float vertical)
 Set the spacing between columns and rows for this layout. More...
 
ThisBuilderSetColumnWeight (int32 column, float weight)
 Set the weight for column to weight. More...
 
ThisBuilderSetRowWeight (int32 row, float weight)
 Set the weight of row to weight. More...
 
Insets
ThisBuilderSetInsets (float left, float top, float right, float bottom)
 Set the insets for this layout. More...
 
ThisBuilderSetInsets (float horizontal, float vertical)
 Set the insets for this layout. More...
 
ThisBuilderSetInsets (float insets)
 Set the insets for this layout. More...
 
Explicit Sizes and Alignment
ThisBuilderSetExplicitMinSize (BSize size)
 Set the explicit minimum size of the underlying layout. More...
 
ThisBuilderSetExplicitMaxSize (BSize size)
 Set the explicit maximum size of the underlying layout. More...
 
ThisBuilderSetExplicitPreferredSize (BSize size)
 Set the explicit preferred size of the underlying layout. More...
 
ThisBuilderSetExplicitAlignment (BAlignment alignment)
 Set the explicit alignment of the underlying layout. More...
 
- Public Member Functions inherited from BLayoutBuilder::Base< ParentBuilder >
ParentBuilder & End ()
 Returns this builder's parent. More...
 
void SetParent (ParentBuilder *parent)
 Internal method for use by BLayoutBuilder::Base subclasses, this is essential to the builder stack semantics. More...
 

Detailed Description

template<typename ParentBuilder>
class BLayoutBuilder::Grid< ParentBuilder >

BLayoutBuilder::Base subclass for building BGridLayouts.

Since
Haiku R1

Each item is added to the grid layout at (column, row) and may span multiple columns and rows.

Member Typedef Documentation

◆ CardBuilder

template<typename ParentBuilder >
BLayoutBuilder::Grid< ParentBuilder >::CardBuilder

Shorthand for builders returned by this builder's AddCards() methods.

Since
Haiku R1

◆ GridBuilder

template<typename ParentBuilder >
BLayoutBuilder::Grid< ParentBuilder >::GridBuilder

Shorthand for builders returned by this builder's AddGrid() methods.

Since
Haiku R1

◆ GroupBuilder

template<typename ParentBuilder >
BLayoutBuilder::Grid< ParentBuilder >::GroupBuilder

Shorthand for builders returned by this builder's AddGroup() methods.

Since
Haiku R1

◆ SplitBuilder

template<typename ParentBuilder >
BLayoutBuilder::Grid< ParentBuilder >::SplitBuilder

Shorthand for builders returned by this builder's AddSplit() methods.

Since
Haiku R1

◆ ThisBuilder

template<typename ParentBuilder >
BLayoutBuilder::Grid< ParentBuilder >::ThisBuilder

Shorthand representing the type of this.

Since
Haiku R1

Constructor & Destructor Documentation

◆ Grid() [1/5]

template<typename ParentBuilder >
BLayoutBuilder::Grid< ParentBuilder >::Grid ( float  horizontal = B_USE_DEFAULT_SPACING,
float  vertical = B_USE_DEFAULT_SPACING 
)
inline

Creates a new BGridView and targets it.

Methods called on this builder will be directed to the new BGridView's BGridLayout.

Parameters
horizontalThe horizontal spacing for the new BGridLayout.
verticalThe vertical spacing for the new BGridLayout.
Since
Haiku R1

◆ Grid() [2/5]

template<typename ParentBuilder >
BLayoutBuilder::Grid< ParentBuilder >::Grid ( BWindow window,
float  horizontal = B_USE_DEFAULT_SPACING,
float  vertical = B_USE_DEFAULT_SPACING 
)
inline

Creates a new BGridLayout, and attaches it to a BWindow.

Note
The top BView* in window has its ViewColor set to B_PANEL_BACKGROUND_COLOR.
Parameters
windowThew BWindow* to attach the newly created BGroupLayout to.
horizontalThe horizontal spacing for the new BGridLayout.
verticalThe vertical spacing for the new BGridLayout.
Since
Haiku R1

References BView::AdoptSystemColors(), BLayout::Owner(), and BWindow::SetLayout().

◆ Grid() [3/5]

template<typename ParentBuilder >
BLayoutBuilder::Grid< ParentBuilder >::Grid ( BView view,
float  horizontal = B_USE_DEFAULT_SPACING,
float  vertical = B_USE_DEFAULT_SPACING 
)
inline

Creates a builder targeting an existing view.

Parameters
viewThe BView* to attach the newly created BGridLayout to.
horizontalThe horizontal spacing for the new BGridLayout.
verticalThe vertical spacing for the new BGroupLayout.
Since
Haiku R1

References BView::AdoptSystemColors(), BView::HasDefaultColors(), and BView::SetLayout().

◆ Grid() [4/5]

template<typename ParentBuilder >
BLayoutBuilder::Grid< ParentBuilder >::Grid ( BGridLayout layout)
inline

Creates a builder targeting an existing BGridLayout.

Methods called on this builder will be directed to layout.

Parameters
layoutThe BGridLayout to target with this builder.
Since
Haiku R1

◆ Grid() [5/5]

template<typename ParentBuilder >
BLayoutBuilder::Grid< ParentBuilder >::Grid ( BGridView view)
inline

Creates a builder targeting a BGridView.

Methods called on this builder will be directed to view->GridLayout().

Parameters
viewThe BGridView this builder will target.
Since
Haiku R1

Member Function Documentation

◆ Add() [1/2]

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::Add ( BLayoutItem item,
int32  column,
int32  row,
int32  columnCount = 1,
int32  rowCount = 1 
)
inline

Add a BLayoutItem to the BGridLayout this builder represents.

Parameters
itemThe BLayoutItem to be added.
columnThe column number (zero-index) to use.
rowThe row number (zero-index) to use.
columnCountThe number of columns to span over.
rowCountThe number of rows to span over.
See also
BGridLayout::AddItem(BLayoutItem*)
Since
Haiku R1

◆ Add() [2/2]

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::Add ( BView view,
int32  column,
int32  row,
int32  columnCount = 1,
int32  rowCount = 1 
)
inline

Add a BView to the BGridLayout this builder represents.

Parameters
viewThe BView to be added.
columnThe column number (zero-index) to use.
rowThe row number (zero-index) to use.
columnCountThe number of columns to span over.
rowCountThe number of rows to span over.
See also
BGridLayout::AddView(BView*)
Since
Haiku R1

◆ AddCards() [1/3]

template<typename ParentBuilder >
Grid< ParentBuilder >::CardBuilder BLayoutBuilder::Grid< ParentBuilder >::AddCards ( BCardLayout cardLayout,
int32  column,
int32  row,
int32  columnCount = 1,
int32  rowCount = 1 
)
inline

Shorthand for builders returned by this builder's AddCards() methods. BLayoutBuilder::Group<ParentBuilder>::AddCards( BCardLayout* cardLayout, float weight)

Parameters
cardLayoutThe existing layout to add to the current grid layout.
columnThe column number (zero-index) to use.
rowThe row number (zero-index) to use.
columnCountThe number of columns to span the cardLayout over.
rowCountThe number of rows to span the cardLayout over.
Returns
A CardBuilder representing the cardLayout.
Since
Haiku R1

References BLayoutBuilder::Base< ParentBuilder >::SetParent(), and BLayoutBuilder::Cards< ParentBuilder >::View().

◆ AddCards() [2/3]

template<typename ParentBuilder >
Grid< ParentBuilder >::CardBuilder BLayoutBuilder::Grid< ParentBuilder >::AddCards ( BCardView cardView,
int32  column,
int32  row,
int32  columnCount = 1,
int32  rowCount = 1 
)
inline

Shorthand for builders returned by this builder's AddCards() methods. BLayoutBuilder::Group<ParentBuilder>::AddCards( BCardView* cardView, float weight)

Parameters
cardViewThe existing BCardView to add to the current grid layout.
columnThe column number (zero-index) to use.
rowThe row number (zero-index) to use.
columnCountThe number of columns to span the cardView over.
rowCountThe number of rows to span the cardView over.
Returns
A CardBuilder representing the layout of t he cardView.
Since
Haiku R1

References BLayoutBuilder::Base< ParentBuilder >::SetParent(), and BLayoutBuilder::Cards< ParentBuilder >::View().

◆ AddCards() [3/3]

template<typename ParentBuilder >
Grid< ParentBuilder >::CardBuilder BLayoutBuilder::Grid< ParentBuilder >::AddCards ( int32  column,
int32  row,
int32  columnCount = 1,
int32  rowCount = 1 
)
inline

Shorthand for builders returned by this builder's AddCards() methods. BLayoutBuilder::Group<ParentBuilder>::AddCards( float weight)

Parameters
columnThe column number (zero-index) to use.
rowThe row number (zero-index) to use.
columnCountThe number of columns to span the new layout over.
rowCountThe number of rows to span the new layout over.
Returns
A CardBuilder representing the new BCardLayout.
Since
Haiku R1

References BLayoutBuilder::Base< ParentBuilder >::SetParent(), and BLayoutBuilder::Cards< ParentBuilder >::View().

◆ AddGlue()

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::AddGlue ( int32  column,
int32  row,
int32  columnCount = 1,
int32  rowCount = 1 
)
inline

Add a BSpaceLayoutItem created by BSpaceLayoutItem::CreateGlue() to the builder's layout.

Parameters
columnThe column number (zero-index) for the glue.
rowThe row number (zero-index) for the glue.
columnCountThe number of columns to span the glue item over.
rowCountThe number of rows to span the glue item over.
Since
Haiku R1

References BSpaceLayoutItem::CreateGlue().

◆ AddGrid() [1/3]

template<typename ParentBuilder >
GridBuilder BLayoutBuilder::Grid< ParentBuilder >::AddGrid ( BGridLayout gridLayout,
int32  column,
int32  row,
int32  columnCount = 1,
int32  rowCount = 1 
)
inline

Shorthand for builders returned by this builder's AddGrid() methods. BLayoutBuilder::Group<ParentBuilder>::AddGrid( BGridLayout* gridLayout, float weight)

Parameters
gridLayoutThe BGridLayout to be added.
columnThe column number (zero-index) to use.
rowThe row number (zero-index) to use.
columnCountThe number of columns to span the gridLayout over.
rowCountThe number of rows to span the gridLayout over.
Returns
A GridBuilder representing gridLayout.
Since
Haiku R1

◆ AddGrid() [2/3]

template<typename ParentBuilder >
Grid< ParentBuilder >::GridBuilder BLayoutBuilder::Grid< ParentBuilder >::AddGrid ( BGridView gridView,
int32  column,
int32  row,
int32  columnCount = 1,
int32  rowCount = 1 
)
inline

Shorthand for builders returned by this builder's AddGrid() methods. BLayoutBuilder::Group<ParentBuilder>::AddGrid( BGridView* gridView, float weight)

Parameters
gridViewThe BGridView to be added.
columnThe column number (zero-index) to use.
rowThe row number (zero-index) to use.
columnCountThe number of columns to span the gridView over.
rowCountThe number of rows to span the gridView over.
Returns
A GridBuilder representing the layout of the gridView.
Since
Haiku R1

References BLayoutBuilder::Base< ParentBuilder >::SetParent(), and BLayoutBuilder::Grid< ParentBuilder >::View().

◆ AddGrid() [3/3]

template<typename ParentBuilder >
Grid< ParentBuilder >::GridBuilder BLayoutBuilder::Grid< ParentBuilder >::AddGrid ( float  horizontalSpacing,
float  verticalSpacing,
int32  column,
int32  row,
int32  columnCount = 1,
int32  rowCount = 1 
)
inline

Shorthand for builders returned by this builder's AddGrid() methods. BLayoutBuilder::Group<ParentBuilder>::AddGrid(

Since
Haiku R1 BLayoutBuilder::Group<ParentBuilder>::AddGrid( float horizontalSpacing, float verticalSpacing, float weight)
Parameters
horizontalSpacingThe horizontal spacing for the new BGridLayout.
verticalSpacingThe vertical spacing for the new BGridLayout.
columnThe column number (zero-index) to use.
rowThe row number (zero-index) to use.
columnCountThe number of columns to span the new BGridLayout over.
rowCountThe number of rows to span the new BGridLayout over.
Returns
A GridBuilder representing the newly created BGridLayout.
Since
Haiku R1

References BLayoutBuilder::Grid< ParentBuilder >::Layout(), and BLayoutBuilder::Base< ParentBuilder >::SetParent().

◆ AddGroup() [1/3]

template<typename ParentBuilder >
Grid< ParentBuilder >::GroupBuilder BLayoutBuilder::Grid< ParentBuilder >::AddGroup ( BGroupLayout groupLayout,
int32  column,
int32  row,
int32  columnCount = 1,
int32  rowCount = 1 
)
inline

Shorthand for builders returned by this builder's AddGroup() methods. BLayoutBuilder::Group<ParentBuilder>::AddGroup( BGroupLayout* groupLayout, float weight)

Parameters
groupLayoutThe BGroupLayout to be added.
columnThe column number (zero-index) to use.
rowThe row number (zero-index) to use.
columnCountThe number of columns to span the groupLayout over.
rowCountThe number of rows to span the groupLayout over.
Returns
A GroupBuilder representing the groupLayout.
Since
Haiku R1

References BLayoutBuilder::Group< ParentBuilder >::Layout(), and BLayoutBuilder::Base< ParentBuilder >::SetParent().

◆ AddGroup() [2/3]

template<typename ParentBuilder >
Grid< ParentBuilder >::GroupBuilder BLayoutBuilder::Grid< ParentBuilder >::AddGroup ( BGroupView groupView,
int32  column,
int32  row,
int32  columnCount = 1,
int32  rowCount = 1 
)
inline

Shorthand for builders returned by this builder's AddGroup() methods. BLayoutBuilder::Group<ParentBuilder>::AddGroup(BGroupView* groupView, float weight)

Parameters
groupViewThe BGroupView to be added.
columnThe column number (zero-index) to use.
rowThe row number (zero-index) to use.
columnCountThe number of columns to span the groupView over.
rowCountThe number of rows to span the groupView over.
Returns
A GroupBuilder representing the layout of the groupView.
Since
Haiku R1

References BLayoutBuilder::Group< ParentBuilder >::Layout(), and BLayoutBuilder::Base< ParentBuilder >::SetParent().

◆ AddGroup() [3/3]

template<typename ParentBuilder >
Grid< ParentBuilder >::GroupBuilder BLayoutBuilder::Grid< ParentBuilder >::AddGroup ( orientation  orientation,
float  spacing,
int32  column,
int32  row,
int32  columnCount = 1,
int32  rowCount = 1 
)
inline

Shorthand for builders returned by this builder's AddGroup() methods. BLayoutBuilder::Group<ParentBuilder>::AddGroup( orientation orientation, float spacing, float weight)

Parameters
orientationThe orientation to use for the new BGroupLayout.
spacingThe spacing to use for the new BGroupLayout.
columnThe column number (zero-index) to use.
rowThe row number (zero-index) to use.
columnCountThe number of columns to span the new BGroupLayout over.
rowCountThe number of rows to span the new BGroupLayout over.
Returns
A GroupBuilder representing the newly created BGroupLayout.
Since
Haiku R1

References BLayoutBuilder::Group< ParentBuilder >::Layout(), and BLayoutBuilder::Base< ParentBuilder >::SetParent().

◆ AddMenuField()

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::AddMenuField ( BMenuField item,
int32  column,
int32  row,
alignment  labelAlignment = B_ALIGN_HORIZONTAL_UNSET,
int32  labelColumnCount = 1,
int32  fieldColumnCount = 1,
int32  rowCount = 1 
)
inline

Add a BMenuField to the layout.

Parameters
itemThe BMenuField to be added.
columnThe column number (zero-index) to use.
rowThe row number (zero-index) to use.
labelAlignmentThe alignment of the label to use. Choices include:
  • B_ALIGN_LEFT
  • B_ALIGN_RIGHT
  • B_ALIGN_CENTER
  • B_ALIGN_HORIZONTAL_CENTER
  • B_ALIGN_HORIZONTAL_UNSET
  • B_ALIGN_USE_FULL_WIDTH
labelColumnCountThe number of columns the label will span over.
fieldColumnCountThe number of columns the menu field will span over.
rowCountThe number of rows to span over.

A BMenuField is composed of a label and a menu. This method allows to lay the sub-components in separate grid cells, allowing easy alignment of the menu with other items in the layout.

Since
Haiku R1

References BMenuField::CreateLabelLayoutItem(), and BLayoutItem::SetExplicitAlignment().

◆ AddSplit() [1/2]

template<typename ParentBuilder >
Grid< ParentBuilder >::SplitBuilder BLayoutBuilder::Grid< ParentBuilder >::AddSplit ( BSplitView splitView,
int32  column,
int32  row,
int32  columnCount = 1,
int32  rowCount = 1 
)
inline

Shorthand for builders returned by this builder's AddSplit() methods. BLayoutBuilder::Group<ParentBuilder>::AddSplit( BSplitView* splitView, float weight)

Parameters
splitViewThe BSplitView to be added.
columnThe column number (zero-index) to use.
rowThe row number (zero-index) to use.
columnCountThe number of columns to span the splitView over.
rowCountThe number of rows to span the splitView over.
Returns
A SplitBuilder representing the splitView.
Since
Haiku R1

References BLayoutBuilder::Base< ParentBuilder >::SetParent(), and BLayoutBuilder::Split< ParentBuilder >::View().

◆ AddSplit() [2/2]

template<typename ParentBuilder >
Grid< ParentBuilder >::SplitBuilder BLayoutBuilder::Grid< ParentBuilder >::AddSplit ( orientation  orientation,
float  spacing,
int32  column,
int32  row,
int32  columnCount = 1,
int32  rowCount = 1 
)
inline

Shorthand for builders returned by this builder's AddSplit() methods. BLayoutBuilder::Group<ParentBuilder>::AddSplit( orientation orientation, float spacing, float weight)

Parameters
orientationThe orientation of the new BSplitView.
spacingThe spacing of the new BSplitView.
columnThe column number (zero-index) to use.
rowThe row number (zero-index) to use.
columnCountThe number of columns to span the new BSplitView over.
rowCountThe number of rows to span the new BSplitView over.
Returns
A SplitBuilder representing the new BSplitView.
Since
Haiku R1

References BLayoutBuilder::Base< ParentBuilder >::SetParent(), and BLayoutBuilder::Split< ParentBuilder >::View().

◆ AddTextControl()

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::AddTextControl ( BTextControl item,
int32  column,
int32  row,
alignment  labelAlignment = B_ALIGN_HORIZONTAL_UNSET,
int32  labelColumnCount = 1,
int32  textColumnCount = 1,
int32  rowCount = 1 
)
inline

Add a BMenuField to the layout.

Parameters
itemThe BMenuField to be added.
columnThe column number (zero-index) to use.
rowThe row number (zero-index) to use.
labelAlignmentThe alignment of the label to use. Choices include:
  • B_ALIGN_LEFT
  • B_ALIGN_RIGHT
  • B_ALIGN_CENTER
  • B_ALIGN_HORIZONTAL_CENTER
  • B_ALIGN_HORIZONTAL_UNSET
  • B_ALIGN_USE_FULL_WIDTH
labelColumnCountThe number of columns the label will span over.
textColumnCountThe number of columns the text field will span over.
rowCountThe number of rows to span over.

A BTextControl is composed of a label and a text area. This method allows to lay the sub-components in separate grid cells, allowing easy alignment of the text area with other items in the layout.

Since
Haiku R1

References BTextControl::CreateLabelLayoutItem(), and BLayoutItem::SetExplicitAlignment().

◆ GetLayout()

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::GetLayout ( BGridLayout **  _layout)
inline

Get the layout this builder represents.

Parameters
[out]_layoutThe layout this builder represents.
Since
Haiku R1

◆ GetView()

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::GetView ( BView **  _view)
inline

Get a pointer to the BView this builder's layout is attached to.

Parameters
[out]_viewThe BView this builder's layout is attached to.
Since
Haiku R1

◆ Layout()

template<typename ParentBuilder >
BGridLayout * BLayoutBuilder::Grid< ParentBuilder >::Layout ( ) const
inline

◆ operator BGridLayout *()

template<typename ParentBuilder >
BLayoutBuilder::Grid< ParentBuilder >::operator BGridLayout * ( )
inline

Cast this builder into the layout object it represents.

Since
Haiku R1

◆ SetColumnWeight()

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::SetColumnWeight ( int32  column,
float  weight 
)
inline

Set the weight for column to weight.

Parameters
columnThe column to set.
weightThe weight to set.
Since
Haiku R1

References BLayoutBuilder::Grid< ParentBuilder >::SetColumnWeight().

Referenced by BLayoutBuilder::Grid< ParentBuilder >::SetColumnWeight().

◆ SetExplicitAlignment()

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::SetExplicitAlignment ( BAlignment  alignment)
inline

Set the explicit alignment of the underlying layout.

Since
Haiku R1

References BLayoutBuilder::Grid< ParentBuilder >::SetExplicitAlignment().

Referenced by BLayoutBuilder::Grid< ParentBuilder >::SetExplicitAlignment().

◆ SetExplicitMaxSize()

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::SetExplicitMaxSize ( BSize  size)
inline

Set the explicit maximum size of the underlying layout.

Since
Haiku R1

References BLayoutBuilder::Grid< ParentBuilder >::SetExplicitMaxSize().

Referenced by BLayoutBuilder::Grid< ParentBuilder >::SetExplicitMaxSize().

◆ SetExplicitMinSize()

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::SetExplicitMinSize ( BSize  size)
inline

Set the explicit minimum size of the underlying layout.

Since
Haiku R1

References BLayoutBuilder::Grid< ParentBuilder >::SetExplicitMinSize().

Referenced by BLayoutBuilder::Grid< ParentBuilder >::SetExplicitMinSize().

◆ SetExplicitPreferredSize()

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::SetExplicitPreferredSize ( BSize  size)
inline

Set the explicit preferred size of the underlying layout.

Since
Haiku R1

References BLayoutBuilder::Grid< ParentBuilder >::SetExplicitPreferredSize().

Referenced by BLayoutBuilder::Grid< ParentBuilder >::SetExplicitPreferredSize().

◆ SetHorizontalSpacing()

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::SetHorizontalSpacing ( float  spacing)
inline

Set the spacing between columns for this layout.

Parameters
spacingThe number of pixels of spacing to set.
Since
Haiku R1

References BLayoutBuilder::Grid< ParentBuilder >::SetHorizontalSpacing().

Referenced by BLayoutBuilder::Grid< ParentBuilder >::SetHorizontalSpacing().

◆ SetInsets() [1/3]

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::SetInsets ( float  horizontal,
float  vertical 
)
inline

Set the insets for this layout.

This is a convenience method to easily set similar insets.

Parameters
horizontalThe insets to the left and right of the layout.
verticalThe insets at the top and bottom of the layout.
Since
Haiku R1

References BLayoutBuilder::Grid< ParentBuilder >::SetInsets().

◆ SetInsets() [2/3]

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::SetInsets ( float  insets)
inline

Set the insets for this layout.

This is a convenience method that to easily set all the insets of the layout to the same value.

Parameters
insetsThe inset to be applied to left, top, right and bottom of this layout.
Since
Haiku R1

References BLayoutBuilder::Grid< ParentBuilder >::SetInsets().

◆ SetInsets() [3/3]

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::SetInsets ( float  left,
float  top,
float  right,
float  bottom 
)
inline

Set the insets for this layout.

Set the spacing around the edges of this layout. If you pass B_USE_DEFAULT_SPACING for a certain parameter, that parameter will be replaced with the value returned by BControlLook::DefaultItemSpacing().

Since
Haiku R1

References BLayoutBuilder::Grid< ParentBuilder >::SetInsets().

Referenced by BLayoutBuilder::Grid< ParentBuilder >::SetInsets().

◆ SetRowWeight()

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::SetRowWeight ( int32  row,
float  weight 
)
inline

Set the weight of row to weight.

Parameters
rowThe row number.
weightThe weight to set.
Since
Haiku R1

References BLayoutBuilder::Grid< ParentBuilder >::SetRowWeight().

Referenced by BLayoutBuilder::Grid< ParentBuilder >::SetRowWeight().

◆ SetSpacing()

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::SetSpacing ( float  horizontal,
float  vertical 
)
inline

Set the spacing between columns and rows for this layout.

Parameters
horizontalThe number of horizontal pixels of spacing to set.
verticalThe number of vertical pixels of spacing to set.
Since
Haiku R1

References BLayoutBuilder::Grid< ParentBuilder >::SetSpacing().

Referenced by BLayoutBuilder::Grid< ParentBuilder >::SetSpacing().

◆ SetVerticalSpacing()

template<typename ParentBuilder >
Grid< ParentBuilder >::ThisBuilder & BLayoutBuilder::Grid< ParentBuilder >::SetVerticalSpacing ( float  spacing)
inline

Set the spacing between rows for this layout.

Parameters
spacingThe number of pixels of spacing to set.
Since
Haiku R1

References BLayoutBuilder::Grid< ParentBuilder >::SetVerticalSpacing().

Referenced by BLayoutBuilder::Grid< ParentBuilder >::SetVerticalSpacing().

◆ View()

template<typename ParentBuilder >
BView * BLayoutBuilder::Grid< ParentBuilder >::View ( ) const
inline

Get a pointer to the BView this builder's layout is attached to.

Since
Haiku R1

Referenced by BLayoutBuilder::Grid< ParentBuilder >::AddGrid().