Source Code (Use browser search to find items of interest.)

Class Index

qt'QListViewItemIterator (./qt-2.1.0/src/widgets/qlistview.h:393)

class Q_EXPORT QListViewItemIterator
{
    friend struct QListViewPrivate;
    friend class QListView;
    friend class QListViewItem;

public:
    QListViewItemIterator();
    QListViewItemIterator( QListViewItem *item );
    QListViewItemIterator( const QListViewItemIterator &it );
    QListViewItemIterator( QListView *lv );

    QListViewItemIterator &operator=( const QListViewItemIterator &it );

    ~QListViewItemIterator();

    QListViewItemIterator &operator++();
    const QListViewItemIterator operator++( int );
    QListViewItemIterator &operator+=( int j );

    QListViewItemIterator &operator--();
    const QListViewItemIterator operator--( int );
    QListViewItemIterator &operator-=( int j );

    QListViewItem *current() const;

protected:
    QListViewItem *curr;
    QListView *listView;

private:
    void addToListView();
    void currentRemoved();

};

qt'QListViewItemIterator::QListViewItemIterator() (./qt-2.1.0/src/widgets/qlistview.cpp:5112)

QListViewItemIterator::QListViewItemIterator()
    : curr( 0 ), listView( 0 )
{
}

/*! Constructs an iterator for the QListView of the \e item. The
  current iterator item is set to point on the \e item.
*/


qt'QListViewItemIterator::QListViewItemIterator() (./qt-2.1.0/src/widgets/qlistview.cpp:5121)

QListViewItemIterator::QListViewItemIterator( QListViewItem *item )
    : curr( item ), listView( 0 )
{
    if ( item )
	listView = item->listView();
    addToListView();
}

/*! Constructs an iterator for the same QListView as \e it. The
  current iterator item is set to point on the current item of \e it.
*/


qt'QListViewItemIterator::QListViewItemIterator() (./qt-2.1.0/src/widgets/qlistview.cpp:5133)

QListViewItemIterator::QListViewItemIterator( const QListViewItemIterator& it )
    : curr( it.curr ), listView( it.listView )
{
    addToListView();
}

/*! Constructs an iterator for the QListView \e lv. The current
  iterator item is set to point on the first child ( QListViewItem )
  of \e lv.
*/


qt'QListViewItemIterator::QListViewItemIterator() (./qt-2.1.0/src/widgets/qlistview.cpp:5144)

QListViewItemIterator::QListViewItemIterator( QListView *lv )
    : curr( lv->firstChild() ), listView( lv )
{
    addToListView();
}

/*!  Assignment. Makes a copy of \e it and returns a reference to its
  iterator.
*/


qt'QListViewItemIterator::~QListViewItemIterator() (./qt-2.1.0/src/widgets/qlistview.cpp:5176)

QListViewItemIterator::~QListViewItemIterator()
{
    if ( listView ) {
	if ( listView->d->iterators->removeRef( this ) ) {
	    if ( listView->d->iterators->count() == 0 ) {
		delete listView->d->iterators;
		listView->d->iterators = 0;
	    }
	}
    }
}

/*!
  Prefix ++ makes the next item in the QListViewItem tree of the
  QListView of the iterator the current item and returns it. If the
  current item was the last item in the QListView or null, null is
  returned.
*/


qt'QListViewItemIterator::current() (./qt-2.1.0/src/widgets/qlistview.cpp:5353)

QListViewItem *QListViewItemIterator::current() const
{
    return curr;
}

/*!
  Adds the iterator to the list of iterators of the iterator's QListViewItem.
*/


qt'QListViewItemIterator::addToListView() (./qt-2.1.0/src/widgets/qlistview.cpp:5362)

void QListViewItemIterator::addToListView()
{
    if ( listView ) {
	if ( !listView->d->iterators ) {
	    listView->d->iterators = new QList<QListViewItemIterator>;
	    CHECK_PTR( listView->d->iterators );
	}
	listView->d->iterators->append( this );
    }
}

/*!
  This methode is called to notify the iterator that the current item
  gets deleted, and lets the current item point to another (valid)
  item.
*/


qt'QListViewItemIterator::currentRemoved() (./qt-2.1.0/src/widgets/qlistview.cpp:5379)

void QListViewItemIterator::currentRemoved()
{
    if ( !curr ) return;

    if ( curr->parent() )
	curr = curr->parent();
    else if ( curr->nextSibling() )
	curr = curr->nextSibling();
    else if ( listView && listView->firstChild() &&
	      listView->firstChild() != curr )
	curr = listView->firstChild();
    else
	curr = 0;
}