![]() |
| ||
Classes - Annotated - Tree - Functions - Home - Structure |
The QListViewItemIterator class provides an iterator for collections of QListViewItems. More...
#include <qlistview.h>
The QListViewItemIterator class provides an iterator for collections of QListViewItems.
Construct an instance of a QListViewItemIterator, with either a QListView* or a QListViewItem* as argument, to operate on the tree of QListViewItems.
A QListViewItemIterator iterates over all items of a list view. This means it always makes the first child of the current item the new current one. If there is no child, the next sibling gets the new current item; and if there is no next sibling, the next sibling of the parent is set to current.
Example:
You often want to get all items which were selected by a user. Here is an example which does this and stores the pointers to all selected items in a QList.
// Somewhere a list view is generated like this QListView *lv = new QListView(this); // Enable multiselection lv->setMultiSelection( TRUE ); // Insert the items here // ... // This function is called to get a list of the selected items of a list view QPtrList<QListViewItem> * getSelectedItems( QListView *lv ) { if ( !lv ) return 0; // Create the list QPtrList<QListViewItem> *lst = new QPtrList<QListViewItem>; lst->setAutoDelete( FALSE ); // Create an iterator and give the list view as argument QListViewItemIterator it( lv ); // iterate through all items of the list view for ( ; it.current(); ++it ) { if ( it.current()->isSelected() ) lst->append( it.current() ); } return lst; }
Using a QListViewItemIterator is a convinient way to traverse the tree of QListViewItems of a QListView. It especially makes operating on a hirarchical QListView easy.
Multiple QListViewItemIterators can also operate on the tree of QListViewItems. A QListView knows about all iterators operating on its QListViewItems. So when a QListViewItem gets removed all iterators that point to this item are updated and point to the new current item after that.
See also QListView and QListViewItem.
Examples: addressbook/centralwidget.cpp, checklists/checklists.cpp, dirview/dirview.cpp and network/ftpclient/ftpview.cpp.
Postfix ++ makes the next item in the QListViewItem tree of the QListView of the iterator the current item and returns the item, which was the current one before.
The new current item (or null, if the new current item is null) is returned.
Postfix -- makes the previous item in the QListViewItem tree of the QListView of the iterator the current item and returns the item, which was the current one before.
Search the documentation, FAQ, qt-interest archive and more (uses
www.trolltech.com):
This file is part of the Qt toolkit, copyright © 1995-2001 Trolltech, all rights reserved.
Copyright © 2001 Trolltech | Trademarks | Qt version 3.0.0-beta1-beta1
|