Qwt User's Guide
|
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>
Public Member Functions | |
QwtDynGridLayout (QWidget *, int margin=0, int space=-1) | |
QwtDynGridLayout (int space=-1) | |
virtual | ~QwtDynGridLayout () |
Destructor. | |
virtual void | invalidate () |
Invalidate all internal caches. | |
void | setMaxColumns (uint maxCols) |
uint | maxColumns () const |
Return the upper limit for the number of columns. | |
uint | numRows () const |
uint | numColumns () const |
virtual void | addItem (QLayoutItem *) |
Add an item to the next free position. | |
virtual QLayoutItem * | itemAt (int index) const |
virtual QLayoutItem * | takeAt (int index) |
virtual int | count () const |
void | setExpandingDirections (Qt::Orientations) |
virtual Qt::Orientations | expandingDirections () const |
Returns whether this layout can make use of more space than sizeHint(). | |
QList< QRect > | layoutItems (const QRect &, uint numCols) const |
virtual int | maxItemWidth () const |
virtual void | setGeometry (const QRect &rect) |
virtual bool | hasHeightForWidth () const |
virtual int | heightForWidth (int) const |
virtual QSize | sizeHint () const |
virtual bool | isEmpty () const |
uint | itemCount () const |
virtual uint | columnsForWidth (int width) const |
Calculate the number of columns for a given width. | |
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 |
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()).
QwtDynGridLayout::QwtDynGridLayout | ( | QWidget * | parent, |
int | margin = 0 , |
||
int | spacing = -1 |
||
) | [explicit] |
parent | Parent widget |
margin | Margin |
spacing | Spacing |
QwtDynGridLayout::QwtDynGridLayout | ( | int | spacing = -1 | ) | [explicit] |
spacing | Spacing |
void QwtDynGridLayout::addItem | ( | QLayoutItem * | item | ) | [virtual] |
Add an item to the next free position.
item | Layout item |
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() )
width | Available width for all columns |
int QwtDynGridLayout::count | ( | ) | const [virtual] |
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.
bool QwtDynGridLayout::hasHeightForWidth | ( | ) | const [virtual] |
int QwtDynGridLayout::heightForWidth | ( | int | width | ) | const [virtual] |
bool QwtDynGridLayout::isEmpty | ( | ) | const [virtual] |
QLayoutItem * QwtDynGridLayout::itemAt | ( | int | index | ) | const [virtual] |
Find the item at a specific index
index | Index |
uint QwtDynGridLayout::itemCount | ( | ) | const |
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.
numColumns | 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 | numColumns | ||
) | const |
Calculate the geometries of the layout items for a layout with numColumns columns and a given rectangle.
rect | Rect where to place the items |
numColumns | Number of columns |
uint QwtDynGridLayout::maxColumns | ( | ) | const |
Return the upper limit for the number of columns.
0 means unlimited, what is the default.
int QwtDynGridLayout::maxItemWidth | ( | ) | const [virtual] |
uint QwtDynGridLayout::numColumns | ( | ) | const |
uint QwtDynGridLayout::numRows | ( | ) | const |
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.
expanding | Or'd orientations |
void QwtDynGridLayout::setGeometry | ( | const QRect & | rect | ) | [virtual] |
Reorganizes columns and rows and resizes managed items within a rectangle.
rect | Layout geometry |
void QwtDynGridLayout::setMaxColumns | ( | uint | maxColumns | ) |
Limit the number of columns.
maxColumns | upper limit, 0 means unlimited |
QSize QwtDynGridLayout::sizeHint | ( | ) | const [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.
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.
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 |
QLayoutItem * QwtDynGridLayout::takeAt | ( | int | index | ) | [virtual] |
Find the item at a specific index and remove it from the layout
index | Index |