Qwt User's Guide 6.0.2

- Main Page
- Related Pages
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions
QwtDynGridLayout Class Reference

`#include <qwt_dyngrid_layout.h>`

List of all members.

## Public Member Functions
| QwtDynGridLayout (QWidget *, int margin=0, int space=-1)
| QwtDynGridLayout (int space=-1)
virtual | ~QwtDynGridLayout ()
virtual void | addItem (QLayoutItem *)
virtual uint | columnsForWidth (int width) const
virtual int | count () const
virtual Qt::Orientations | expandingDirections () const
virtual bool | hasHeightForWidth () const
virtual int | heightForWidth (int) const
virtual void | invalidate ()
virtual bool | isEmpty () const
virtual QLayoutItem * | itemAt (int index) const
uint | itemCount () const
QList< QRect > | layoutItems (const QRect &, uint numCols) const
uint | maxCols () const
virtual int | maxItemWidth () const
uint | numCols () const
uint | numRows () const
void | setExpandingDirections (Qt::Orientations)
virtual void | setGeometry (const QRect &rect)
void | setMaxCols (uint maxCols)
virtual QSize | sizeHint () const
virtual QLayoutItem * | takeAt (int index)

## Protected Member Functions
void | layoutGrid (uint numCols, QVector< int > &rowHeight, QVector< int > &colWidth) const
void | stretchGrid (const QRect &rect, uint numCols, QVector< int > &rowHeight, QVector< int > &colWidth) const

## Detailed Description

The QwtDynGridLayout class lays out widgets in a grid, adjusting the number of columns and rows to the current size.

QwtDynGridLayout takes the space it gets, divides it up into rows and columns, and puts each of the widgets it manages into the correct cell(s). It lays out as many number of columns as possible (limited by maxCols()).

## Constructor & Destructor Documentation

QwtDynGridLayout::QwtDynGridLayout | ( | QWidget * | parent,
|  | int | margin = `0`,
|  | int | spacing = `-1`
| ) |  |
| explicit

Parameters:

  parent | Parent widget
  margin | Margin
  spacing | Spacing

QwtDynGridLayout::QwtDynGridLayout | ( | int | spacing = `-1` | ) |
| explicit

Parameters:

  spacing | Spacing

## Member Function Documentation

uint QwtDynGridLayout::columnsForWidth | ( | int | width | ) | const
| virtual

Calculate the number of columns for a given width. It tries to use as many columns as possible (limited by maxCols())

Parameters:

  width | Available width for all columns

See also:
  maxCols(), setMaxCols()

int QwtDynGridLayout::count | ( |  | ) | const
| virtual

Returns:
  Number of items in the layout

Qt::Orientations QwtDynGridLayout::expandingDirections | ( |  | ) | const
| virtual

Returns whether this layout can make use of more space than sizeHint(). A value of Qt::Vertical or Qt::Horizontal means that it wants to grow in only one dimension, while Qt::Vertical | Qt::Horizontal means that it wants to grow in both dimensions.

See also:
  setExpandingDirections()

bool QwtDynGridLayout::hasHeightForWidth | ( |  | ) | const
| virtual

Returns:
  true: QwtDynGridLayout implements heightForWidth.

See also:
  heightForWidth()

int QwtDynGridLayout::heightForWidth | ( | int | width | ) | const
| virtual

Returns:
  The preferred height for this layout, given the width w.

See also:
  hasHeightForWidth()

bool QwtDynGridLayout::isEmpty | ( |  | ) | const
| virtual

Returns:
  true if this layout is empty.

QLayoutItem * QwtDynGridLayout::itemAt | ( | int | index | ) | const
| virtual

Find the item at a spcific index

Parameters:

  index | Index

See also:
  takeAt()

uint QwtDynGridLayout::itemCount | ( |  | ) | const

Returns:
  number of layout items

void QwtDynGridLayout::layoutGrid | ( | uint | numCols,
|  | QVector< int > & | rowHeight,
|  | QVector< int > & | colWidth
| ) |  | const
| protected

Calculate the dimensions for the columns and rows for a grid of numCols columns.

Parameters:

  numCols | Number of columns.
  rowHeight | Array where to fill in the calculated row heights.
  colWidth | Array where to fill in the calculated column widths.

QList< QRect > QwtDynGridLayout::layoutItems | ( | const QRect & | rect,
|  | uint | numCols
| ) |  | const

Calculate the geometries of the layout items for a layout with numCols columns and a given rect.

Parameters:

  rect | Rect where to place the items
  numCols | Number of columns

Returns:
  item geometries

uint QwtDynGridLayout::maxCols | ( |  | ) | const

Return the upper limit for the number of columns. 0 means unlimited, what is the default.

See also:
  setMaxCols()

int QwtDynGridLayout::maxItemWidth | ( |  | ) | const
| virtual

Returns:
  the maximum width of all layout items

uint QwtDynGridLayout::numCols | ( |  | ) | const

Returns:
  Number of columns of the current layout.

See also:
  numRows()

Warning:
  The number of columns might change whenever the geometry changes

uint QwtDynGridLayout::numRows | ( |  | ) | const

Returns:
  Number of rows of the current layout.

See also:
  numCols()

Warning:
  The number of rows might change whenever the geometry changes

void QwtDynGridLayout::setExpandingDirections | ( | Qt::Orientations | expanding | ) |

Set whether this layout can make use of more space than sizeHint(). A value of Qt::Vertical or Qt::Horizontal means that it wants to grow in only one dimension, while Qt::Vertical | Qt::Horizontal means that it wants to grow in both dimensions. The default value is 0.

Parameters:

  expanding | Or'd orientations

See also:
  expandingDirections()

void QwtDynGridLayout::setGeometry | ( | const QRect & | rect | ) |
| virtual

Reorganizes columns and rows and resizes managed items within the rectangle rect.

Parameters:

  rect | Layout geometry

void QwtDynGridLayout::setMaxCols | ( | uint | maxCols | ) |

Limit the number of columns.

Parameters:

  maxCols | upper limit, 0 means unlimited

See also:
  maxCols()

QSize QwtDynGridLayout::sizeHint | ( |  | ) | const
| virtual

Return the size hint. If maxCols() > 0 it is the size for a grid with maxCols() columns, otherwise it is the size for a grid with only one row.

See also:
  maxCols(), setMaxCols()

void QwtDynGridLayout::stretchGrid | ( | const QRect & | rect,
|  | uint | numCols,
|  | QVector< int > & | rowHeight,
|  | QVector< int > & | colWidth
| ) |  | const
| protected

Stretch columns in case of expanding() & QSizePolicy::Horizontal and rows in case of expanding() & QSizePolicy::Vertical to fill the entire rect. Rows and columns are stretched with the same factor.

See also:
  setExpanding(), expanding()

QLayoutItem * QwtDynGridLayout::takeAt | ( | int | index | ) |
| virtual

Find the item at a spcific index and remove it from the layout

Parameters:

  index | Index

See also:
  itemAt()