Qwt User's Guide  5.2.3
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, QwtArray< int > &rowHeight, QwtArray< int > &colWidth) const
void stretchGrid (const QRect &rect, uint numCols, QwtArray< int > &rowHeight, QwtArray< 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:
parentParent widget
marginMargin
spacingSpacing
QwtDynGridLayout::QwtDynGridLayout ( int  spacing = -1)
explicit
Parameters:
spacingSpacing

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:
widthAvailable 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:
indexIndex
See also:
takeAt()
uint QwtDynGridLayout::itemCount ( ) const
Returns:
number of layout items
void QwtDynGridLayout::layoutGrid ( uint  numCols,
QwtArray< int > &  rowHeight,
QwtArray< int > &  colWidth 
) const
protected

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

Parameters:
numColsNumber of columns.
rowHeightArray where to fill in the calculated row heights.
colWidthArray 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:
rectRect where to place the items
numColsNumber 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:
expandingOr'd orientations
See also:
expandingDirections()
void QwtDynGridLayout::setGeometry ( const QRect &  rect)
virtual

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

Parameters:
rectLayout geometry
void QwtDynGridLayout::setMaxCols ( uint  maxCols)

Limit the number of columns.

Parameters:
maxColsupper 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,
QwtArray< int > &  rowHeight,
QwtArray< 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:
indexIndex
See also:
itemAt()