C++ GUI Library

class gui::grid_base

A grid is an invisible container for other widgets. It behaves in much the same way as an HTML table.

set_size(int columns, int rows)=0

Set the dimensions of the grid. If the new dimensions exclude any widgets that were previously contained within the grid, all references to these widgets should be destroyed.

contain(boost::shared_ptr< widget_base > child, int col, int row, int colspan=1, int rowspan=1)=0

Add a child widget to a specified position on the grid. If the grid contains any existing widgets in the cells referred to by the parameters to this call, these widgets should be removed from the grid and unreferenced.

set_padding(int col_pad, int row_pad)=0

Set the padding (in pixels for now, this will change) between rows and columns in the table. Note that this padding does not apply to the edges of the table, only to inter-row and inter-column spaces.

expand_row(int row, bool expand)=0

Specify whether a given row (referenced by a zero-based index) should be "expanded". If any space is left over after allocating the minimum requirements to each row as determined from the widgets they contain, this space should first be divided between expanded rows in proportion to their minimum size. If there are no expanded rows, then the extra space should be divided equally between all rows.

expand_column(int col, bool expand)=0

Specify whether a given column should be expanded. Column expansion behaves exactly like row expansion, described above.