/include/nqptrlist.h

00001 /* $Id: nqptrlist.h,v 1.4 2003/09/11 06:53:21 ndiin Exp $
00002  *
00003  * nqptrlist.h NQPtrList Class Declaration
00004  *
00005  * Simple QPtrList<QListViewItem> derivative to sort by item depth.
00006  *
00007  * Copyright 2002-2003 Eric Andresen
00008  * See COPYING for license information
00009  */
00010 
00011 #include <qlistview.h>
00012 #include <qptrlist.h>
00013 
00018 class NQPtrList : public QPtrList<QListViewItem>
00019 {
00020    public:
00022       NQPtrList() {};
00024       NQPtrList(const NQPtrList &l) : QPtrList<QListViewItem>(l) {};
00025       
00026    protected:
00028       virtual inline int compareItems( QPtrCollection::Item item1, QPtrCollection::Item item2 );
00029 };
00030 
00031 inline int NQPtrList::compareItems( QPtrCollection::Item item1, QPtrCollection::Item item2 )
00032 {
00033    int ret = 0;
00034    QListViewItem *litem1 = static_cast<QListViewItem*>(item1);
00035    QListViewItem *litem2 = static_cast<QListViewItem*>(item2);
00036    
00037    if (!litem1 || !litem2)
00038       return 0;
00039       
00040    if (litem1->depth() == litem2->depth())
00041       ret = 0;
00042    else if (litem1->depth() > litem2->depth())
00043       ret = 1;
00044    else
00045       ret = -1;
00046    
00047    return ret;
00048 }
00049 
00050 // END

Generated on Wed Oct 22 20:32:04 2003 for nvemftp by doxygen1.3