QLayoutItem(3qt)

NAME
QLayoutItem - Abstract item that a QLayout manipulates

SYNOPSIS
#include <qlayout.h>

Inherited by QLayout, QSpacerItem and QWidgetItem.

  Public Members
QLayoutItem ( int alignment = 0 )
virtual ~QLayoutItem ()
virtual QSize sizeHint () const = 0
virtual QSize minimumSize () const = 0
virtual QSize maximumSize () const = 0
virtual QSizePolicy::ExpandData expanding () const = 0
virtual void setGeometry ( const QRect & r ) = 0
virtual QRect geometry () const = 0
virtual bool isEmpty () const = 0
virtual bool hasHeightForWidth () const
virtual int heightForWidth ( int w ) const
virtual void invalidate ()
virtual QWidget * widget ()
virtual QLayoutIterator iterator ()
virtual QLayout * layout ()
virtual QSpacerItem * spacerItem ()
int alignment () const
virtual void setAlignment ( int a )

DESCRIPTION
The QLayoutItem class provides an abstract item that a QLayout manipulates.

This is used by custom layouts.

See also QLayout, Widget Appearance and Style and Layout Management.

MEMBER FUNCTION DOCUMENTATION

QLayoutItem::QLayoutItem ( int alignment = 0 )
Constructs a layout item with an alignment that is a bitwise OR of the Qt::AlignmentFlags. Not all subclasses support alignment.

QLayoutItem::~QLayoutItem () [virtual]
Destroys the QLayoutItem.

int QLayoutItem::alignment () const
Returns the alignment of this item.

QSizePolicy::ExpandData QLayoutItem::expanding () const [pure virtual]
Implemented in subclasses to return whether this item "wants" to expand.

Reimplemented in QLayout, QSpacerItem and QWidgetItem.

QRect QLayoutItem::geometry () const [pure virtual]
Returns the rectangle covered by this layout item.

Example: customlayout/border.cpp.

bool QLayoutItem::hasHeightForWidth () const [virtual]
Returns TRUE if this layout's preferred height depends on its width; otherwise returns FALSE. The default implementation returns FALSE.

Reimplement this function in layout managers that support height for width.

See also heightForWidth() and QWidget::heightForWidth().

Examples:

Reimplemented in QGridLayout and QBoxLayout.

int QLayoutItem::heightForWidth ( int w ) const [virtual]
Returns the preferred height for this layout item, given the width w.

The default implementation returns -1, indicating that the preferred height is independent of the width of the item. Using the function hasHeightForWidth() will typically be much faster than calling this function and testing for -1.

Reimplement this function in layout managers that support height for width. A typical implementation will look like this:

    int MyLayout::heightForWidth( int w ) const
    {
        if ( cache_dirty || cached_width != w ) {
            // not all C++ compilers support "mutable"
            MyLayout *that = (MyLayout*)this;
            int h = calculateHeightForWidth( w );
            that->cached_hfw = h;
            return h;
        }
        return cached_hfw;
    }

Caching is strongly recommended; without it layout will take exponential time.

See also hasHeightForWidth().

Example: customlayout/flow.cpp.

Reimplemented in QGridLayout and QBoxLayout.

void QLayoutItem::invalidate () [virtual]
Invalidates any cached information in this layout item.

Reimplemented in QLayout.

bool QLayoutItem::isEmpty () const [pure virtual]
Implemented in subclasses to return whether this item is empty, i.e. whether it contains any widgets.

Reimplemented in QLayout, QSpacerItem and QWidgetItem.

QLayoutIterator QLayoutItem::iterator () [virtual]
Returns an iterator over this item's QLayoutItem children. The default implementation returns an empty iterator.

Reimplement this function in subclasses that can have children.

Reimplemented in QLayout.

QLayout * QLayoutItem::layout () [virtual]
If this item is a QLayout, return it as a QLayout; otherwise return 0. This function provides type-safe casting.

QSize QLayoutItem::maximumSize () const [pure virtual]
Implemented in subclasses to return the maximum size of this item.

Reimplemented in QLayout, QSpacerItem and QWidgetItem.

QSize QLayoutItem::minimumSize () const [pure virtual]
Implemented in subclasses to return the minimum size of this item.

Examples:

Reimplemented in QLayout, QSpacerItem and QWidgetItem.

void QLayoutItem::setAlignment ( int a ) [virtual]
Sets the alignment of this item to a, which is a bitwise OR of the Qt::AlignmentFlags. Not all subclasses support alignment.

void QLayoutItem::setGeometry ( const QRect & r ) [pure virtual]
Implemented in subclasses to set this item's geometry to r.

Examples:

Reimplemented in QLayout, QSpacerItem and QWidgetItem.

QSize QLayoutItem::sizeHint () const [pure virtual]
Implemented in subclasses to return the preferred size of this item.

Examples:

Reimplemented in QSpacerItem, QWidgetItem, QGridLayout and QBoxLayout.

QSpacerItem * QLayoutItem::spacerItem () [virtual]
If this item is a QSpacerItem, return it as a QSpacerItem; otherwise return 0. This function provides type-safe casting.

QWidget * QLayoutItem::widget () [virtual]
If this item is a QWidgetItem, the managed widget is returned. The default implementation returns 0.

Reimplemented in QWidgetItem.

SEE ALSO
http://doc.trolltech.com/qlayoutitem.html http://www.trolltech.com/faq/tech.html

COPYRIGHT
Copyright 1992-2001 Trolltech AS, http://www.trolltech.com. See the license file included in the distribution for a complete license statement.

AUTHOR
Generated automatically from the source code.

BUGS
If you find a bug in Qt, please report it as described in http://doc.trolltech.com/bughowto.html. Good bug reports help us to help you. Thank you.

The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech.

If you find errors in this manual page, please report them to qt-bugs@trolltech.com. Please include the name of the manual page (qlayoutitem.3qt) and the Qt version (3.0.3).