QLayoutIterator - Iterators over

       #include <qabstractlayout.h>

   Public Members
       QLayoutIterator ( QGLayoutIterator * i )
       QLayoutIterator ( const QLayoutIterator & i )
       ~QLayoutIterator ()
       QLayoutIterator& operator= ( const QLayoutIterator & i )
       QLayoutItem* operator++ ()
       QLayoutItem* current ()
       QLayoutItem* takeCurrent ()
       void deleteCurrent ()


DESCRIPTION

       The QLayoutIterator class provides iterators over
       QLayoutItem

       Use QLayoutItem::iterator() to create an iterator over a
       layout.

       QLayoutIterator uses explicit sharing with a reference
       count. If an iterator is copied, and one of the copies is
       modified, both iterators will be modified.

       A QLayoutIterator is not protected against changes in its
       layout. If the layout is modified or deleted, the iterator
       will become invalid. It is not possible to test for
       validity. It is safe to delete an invalid layout. Any
       other access may lead to an illegal memory reference, and
       the abnormal termination of the program.

       Calling takeCurrent() or deleteCurrent() leaves the
       iterator in a valid state, but may invalidate any other
       iterators that access the same layout.

       The following code will draw a rectangle for each layout
       item in the layout structure of the widget.

         static void paintLayout( QPainter *p, QLayoutItem *lay )
         {
             QLayoutIterator it = lay->iterator();
             QLayoutItem *child;
             while ( (child = it.current() ) ) {
                 paintLayout( p, child );
                 it.next();
             }
             p->drawRect( lay->geometry() );
         }
         void ExampleWidget::paintEvent( QPaintEvent * )
         {
             QPainter p( this );

                 paintLayout( &p, layout() );
         }

       All the functionality of QLayoutIterator is implemented by
       subclasses of QGLayoutIterator. Note that there is not
       much point in subclassing QLayoutIterator, since none of
       the functions are virtual.


MEMBER FUNCTION DOCUMENTATION


QLayoutIterator::QLayoutIterator ( QGLayoutIterator * gi )

       Constructs an iterator based on gi. The constructed
       iterator takes ownership of gi, and will delete it.

       This constructor is provided for layout implementors.
       Application programmers should use QLayoutItem::iterator()
       to create an iterator over a layout.


QLayoutIterator::QLayoutIterator ( const QLayoutIterator & i )

       Creates a shallow copy of i; if the copy is modified, then
       the original will also be modified.


QLayoutIterator::~QLayoutIterator ()

       Destroys the iterator.


QLayoutItem * QLayoutIterator::current ()

       Returns the current item, or 0 if there is no current
       item.


void QLayoutIterator::deleteCurrent ()

       Removes and deletes the current child item from the layout
       and moves the iterator to the next item. This iterator
       will still be valid, but any other iterator over the same
       layout may become invalid.


QLayoutItem * QLayoutIterator::operator++ ()

       Moves the iterator to the next child item, and returns
       that item, or 0 if there is no such item.


QLayoutIterator & QLayoutIterator::operator= ( const

       QLayoutIterator & i )
       Assigns i to this iterator and returns a reference to this
       iterator.


QLayoutItem * QLayoutIterator::takeCurrent ()

       Removes the current child item from the layout without
       deleting it and moves the iterator to the next item.
       Returns the removed item, or 0 if there was no item to be
       removed. This iterator will still be valid, but any other
       iterator over the same layout may become invalid.


SEE ALSO

       http://doc.trolltech.com/qlayoutiterator.html
       http://www.trolltech.com/faq/tech.html

       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
       make our job much simpler. Thank you.

       In case of content or formattting problems with this
       manual page, please report them to qt-bugs@trolltech.com.
       Please include the name of the manual page
       (qlayoutiterator.3qt) and the Qt version (2.3.1).


Man(1) output converted with man2html