Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 43ed067ef12dc23f248aedf5d56e3391 > files > 5

libdbmusic-devel-0.8.4-1mdv2008.0.i586.rpm

/***************************************************************************
                          musicqlistviewitem.h  -  description
                             -------------------
    begin                : Sun Jul 28 2002
    copyright            : (C) 2002 by Will DeRousse
    email                : badhack@users.sourceforge.net
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef MUSICQLISTVIEWITEM_H
#define MUSICQLISTVIEWITEM_H

#include "dbmusicglobals.h"
#include <qlistview.h>

/**
 * This class is a custom QListViewItem with reimplemented sorting to handle QListView's that contain both text and numbers.
 * Columns sort numbers 0,1-9,10-99,100-999, in numerical order. Text sorts alphabetically.
 *
 * @author Will DeRousse
 * @short QListViewItem with number and alpha sorting
 */

class musicQListViewItem : public QListViewItem  {
	public:
		/**
		 * Constructor
		 *
		 * Takes a QListView as an argument and up to 8 QString arguments for column text.
		 * @param QListView Pointer To Parent
		 * @param QString First Column Text
		 * @param QString Second Column Text
		 * @param QString Third Column Text
		 * @param QString Fourth Column Text
		 * @param QString Fifth Column Text
		 * @param QString Sixth Column Text
		 * @param QString Seventh Column Text
		 * @param QString Eighth Column Text
		 */
		musicQListViewItem(QListView *, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null);
		/**
		 * Constructor
		 *
		 * Takes a QListViewItem as an argument and up to 8 QString arguments for column text.
		 * @param QListViewItem Pointer To Parent
		 * @param QString First Column Text
		 * @param QString Second Column Text
		 * @param QString Third Column Text
		 * @param QString Fourth Column Text
		 * @param QString Fifth Column Text
		 * @param QString Sixth Column Text
		 * @param QString Seventh Column Text
		 * @param QString Eighth Column Text
		 */
		musicQListViewItem(QListViewItem *, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null);
		/**
		 * Destructor
		 */
		~musicQListViewItem();
		/**
		 * Re-implemented key that provides modified return values to allow correct sorting for numbers and text strings.
		 * @param int Column
		 * @param bool Sort Order
		 */
		QString key(int, bool) const;
};


#endif