Sizer
 All Classes Files Functions Variables Enumerations Enumerator Pages
Classes | Public Member Functions | List of all members
GridSizer Class Reference

Arranges items in a 2-dimensional grid. More...

#include <Sizer.h>

Inheritance diagram for GridSizer:
ISizer

Public Member Functions

virtual void OnCalcSizes ()
 
virtual void OnRectChanged (int x, int y, int w, int h)
 
virtual size_t GetItemCount ()
 
virtual ISizerGetItem (size_t i)
 
void SetPadding (int padX, int padY)
 
void SetOuterPadding (int pad)
 
void Add (ISizer *sizer, size_t row, size_t column, size_t spannedRows=1, size_t spannedColumns=1)
 
void Add (HWND window, size_t row, size_t column, size_t spannedRows=1, size_t spannedColumns=1)
 
void Remove (size_t row, size_t column)
 
void RemoveAll ()
 
void SetColumnProportion (size_t column, int proportion)
 
void SetColumnItemsSameWidth (size_t column, bool set)
 
void SetRowProportion (size_t row, int proportion)
 
void SetRowItemsSameHeight (size_t row, bool set)
 
size_t GetNumRows ()
 
size_t GetNumColumns ()
 
- Public Member Functions inherited from ISizer
void CalcSizes ()
 
SizerSize GetMinSize ()
 
void Move (int x, int y, int w, int h)
 
void Move (const SizerPoint &p, const SizerSize &s)
 
void Move (const SizerRect &r)
 
SizerRect GetRect () const
 
void WmSize (UINT type, int cx, int cy)
 
void WmGetMinMaxInfo (HWND window, MINMAXINFO *mmi)
 

Additional Inherited Members

- Protected Attributes inherited from ISizer
bool dirty
 
SizerRect rect
 
SizerSize minimumSize
 

Detailed Description

Arranges items in a 2-dimensional grid.

Member Function Documentation

void GridSizer::Add ( ISizer sizer,
size_t  row,
size_t  column,
size_t  spannedRows = 1,
size_t  spannedColumns = 1 
)

Add sizer at the specified row and column.

Parameters
rowFirst row that this sizer should occupy.
columnFirst column that this sizer should occupy.
spannedRowsGreater than 1 if the sizer should be spanned across rows.
spannedColumnsGreater than 1 if the sizer should be spanned across columns.
void GridSizer::Add ( HWND  window,
size_t  row,
size_t  column,
size_t  spannedRows = 1,
size_t  spannedColumns = 1 
)
inline

Shortcut to add a window.

See Also
Add().
virtual ISizer* GridSizer::GetItem ( size_t  i)
inlinevirtual
Parameters
iIndex of the sizer item to get. GetItemCount() returns the maximum for this index.

Reimplemented from ISizer.

virtual size_t GridSizer::GetItemCount ( )
inlinevirtual
Returns
Number of sizer items contained by this sizer. Used in conjunction with GetItem().

Reimplemented from ISizer.

size_t GridSizer::GetNumColumns ( )
inline
Returns
The current number of grid columns.
size_t GridSizer::GetNumRows ( )
inline
Returns
The current number of grid rows.
void GridSizer::OnCalcSizes ( )
virtual

Calculates sizes, but does not move the sizer in any way.

Note
ISizer::minimumSize should be calculated here, because that's the place where it makes sense.

Implements ISizer.

void GridSizer::OnRectChanged ( int  x,
int  y,
int  w,
int  h 
)
virtual

Moves the sizer and all children.

This function will always be called, even if the sizer is not dirty.

Implements ISizer.

void GridSizer::Remove ( size_t  row,
size_t  column 
)

Removes a sizer from the grid. If the specified sizer is spanned, then the entire span is removed, not just row/column.

void GridSizer::RemoveAll ( )

Removes all items.

void GridSizer::SetColumnItemsSameWidth ( size_t  column,
bool  set 
)

Default is False.

Parameters
setIf True, items will be stretched to the column width. If False, the item minimum size is used. Only works with proportion = 0.
void GridSizer::SetColumnProportion ( size_t  column,
int  proportion 
)
Parameters
proportionColumns are stretched by their proportion. If this is 0, minimum size is used.
void GridSizer::SetOuterPadding ( int  pad)

Set padding around this sizer.

void GridSizer::SetPadding ( int  padX,
int  padY 
)

Set padding between items.

void GridSizer::SetRowItemsSameHeight ( size_t  row,
bool  set 
)

Default is False.

Parameters
setIf True, items will be stretched to the row height. If False, the item minimum size is used. Only works with proportion = 0.
void GridSizer::SetRowProportion ( size_t  row,
int  proportion 
)
Parameters
proportionRows are stretched by their proportion. If this is 0, minimum size is used.

The documentation for this class was generated from the following files: