Loading...
Searching...
No Matches
QwtDynGridLayout Class Reference

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

`#include <qwt_dyngrid_layout.h>`

Inheritance diagram for QwtDynGridLayout:

## Public Member Functions

| QwtDynGridLayout (QWidget *, int margin=0, int spacing=-1)
| QwtDynGridLayout (int spacing=-1)
virtual | ~QwtDynGridLayout ()
| Destructor.
virtual void | invalidate () override
| Invalidate all internal caches.
void | setMaxColumns (uint maxColumns)
uint | maxColumns () const
| Return the upper limit for the number of columns.
uint | numRows () const
uint | numColumns () const
virtual void | addItem (QLayoutItem *) override
| Add an item to the next free position.
virtual QLayoutItem * | itemAt (int index) const override
virtual QLayoutItem * | takeAt (int index) override
virtual int | count () const override
void | setExpandingDirections (Qt::Orientations)
virtual Qt::Orientations | expandingDirections () const override
| Returns whether this layout can make use of more space than sizeHint().
QList< QRect > | layoutItems (const QRect &, uint numColumns) const
virtual int | maxItemWidth () const
virtual void | setGeometry (const QRect &) override
virtual bool | hasHeightForWidth () const override
virtual int | heightForWidth (int) const override
virtual QSize | sizeHint () const override
virtual bool | isEmpty () const override
uint | itemCount () const
virtual uint | columnsForWidth (int width) const
| Calculate the number of columns for a given width.

## Protected Member Functions

void | layoutGrid (uint numColumns, QVector< int > &rowHeight, QVector< int > &colWidth) const
void | stretchGrid (const QRect &rect, uint numColumns, 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 maxColumns()).

Definition at line 27 of file qwt_dyngrid_layout.h.

## Constructor & Destructor Documentation

## QwtDynGridLayout() [1/2]

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

explicit

Parameters

  parent | Parent widget
  margin | Margin
  spacing | Spacing

Definition at line 58 of file qwt_dyngrid_layout.cpp.

## QwtDynGridLayout() [2/2]

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

explicit

Parameters

  spacing | Spacing

Definition at line 71 of file qwt_dyngrid_layout.cpp.

## ~QwtDynGridLayout()

QwtDynGridLayout::~QwtDynGridLayout | ( |  | ) |

virtual

Destructor.

Definition at line 88 of file qwt_dyngrid_layout.cpp.

## Member Function Documentation

## addItem()

void QwtDynGridLayout::addItem | ( | QLayoutItem * | item | ) |

override virtual

Add an item to the next free position.

Parameters

  item | Layout item

Definition at line 128 of file qwt_dyngrid_layout.cpp.

## columnsForWidth()

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

virtual

Calculate the number of columns for a given width.

The calculation tries to use as many columns as possible ( limited by maxColumns() )

Parameters

  width | Available width for all columns

Returns
  Number of columns for a given width

See also
  maxColumns(), setMaxColumns()

Definition at line 256 of file qwt_dyngrid_layout.cpp.

## count()

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

override virtual

Returns
  Number of items in the layout

Definition at line 182 of file qwt_dyngrid_layout.cpp.

## expandingDirections()

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

override 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.

Returns
  Orientations, where the layout expands

See also
  setExpandingDirections()

Definition at line 211 of file qwt_dyngrid_layout.cpp.

## hasHeightForWidth()

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

override virtual

Returns
  true: QwtDynGridLayout implements heightForWidth().

See also
  heightForWidth()

Definition at line 446 of file qwt_dyngrid_layout.cpp.

## heightForWidth()

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

override virtual

Returns
  The preferred height for this layout, given a width.

See also
  hasHeightForWidth()

Definition at line 455 of file qwt_dyngrid_layout.cpp.

## invalidate()

void QwtDynGridLayout::invalidate | ( |  | ) |

override virtual

Invalidate all internal caches.

Definition at line 95 of file qwt_dyngrid_layout.cpp.

## isEmpty()

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

override virtual

Returns
  true if this layout is empty.

Definition at line 137 of file qwt_dyngrid_layout.cpp.

## itemAt()

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

override virtual

Find the item at a specific index

Parameters

  index | Index

Returns
  Item at a specific index

See also
  takeAt()

Definition at line 157 of file qwt_dyngrid_layout.cpp.

## itemCount()

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

Returns
  number of layout items

Definition at line 145 of file qwt_dyngrid_layout.cpp.

## layoutGrid()

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

protected

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

Parameters

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

Definition at line 419 of file qwt_dyngrid_layout.cpp.

## layoutItems()

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

Calculate the geometries of the layout items for a layout with numColumns columns and a given rectangle.

Parameters

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

Returns
  item geometries

Definition at line 344 of file qwt_dyngrid_layout.cpp.

## maxColumns()

uint QwtDynGridLayout::maxColumns | ( |  | ) | const

Return the upper limit for the number of columns.

0 means unlimited, what is the default.

Returns
  Upper limit for the number of columns

See also
  setMaxColumns()

Definition at line 119 of file qwt_dyngrid_layout.cpp.

## maxItemWidth()

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

virtual

Returns
  the maximum width of all layout items

Definition at line 316 of file qwt_dyngrid_layout.cpp.

## numColumns()

uint QwtDynGridLayout::numColumns | ( |  | ) | const

Returns
  Number of columns of the current layout.

See also
  numRows()

Warning
  The number of columns might change whenever the geometry changes

Definition at line 596 of file qwt_dyngrid_layout.cpp.

## numRows()

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

Returns
  Number of rows of the current layout.

See also
  numColumns()

Warning
  The number of rows might change whenever the geometry changes

Definition at line 586 of file qwt_dyngrid_layout.cpp.

## setExpandingDirections()

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()

Definition at line 196 of file qwt_dyngrid_layout.cpp.

## setGeometry()

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

override virtual

Reorganizes columns and rows and resizes managed items within a rectangle.

Parameters

  rect | Layout geometry

Definition at line 222 of file qwt_dyngrid_layout.cpp.

## setMaxColumns()

void QwtDynGridLayout::setMaxColumns | ( | uint | maxColumns | ) |

Limit the number of columns.

Parameters

  maxColumns | upper limit, 0 means unlimited

See also
  maxColumns()

Definition at line 106 of file qwt_dyngrid_layout.cpp.

## sizeHint()

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

override virtual

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

Returns
  Size hint

See also
  maxColumns(), setMaxColumns()

Definition at line 550 of file qwt_dyngrid_layout.cpp.

## stretchGrid()

void QwtDynGridLayout::stretchGrid | ( | const QRect & | rect,
|  | uint | numColumns,
|  | 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.

Parameters

  rect | Bounding rectangle
  numColumns | Number of columns
  rowHeight | Array to be filled with the calculated row heights
  colWidth | Array to be filled with the calculated column widths

See also
  setExpanding(), expanding()

Definition at line 491 of file qwt_dyngrid_layout.cpp.

## takeAt()

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

override virtual

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

Parameters

  index | Index

Returns
  Layout item, removed from the layout

See also
  itemAt()

Definition at line 172 of file qwt_dyngrid_layout.cpp.