![]() |
University of Murcia ![]() |
src/qvblockprogramming/qvguiblocks/qvindexedstringlist.hGo to the documentation of this file.00001 /* 00002 * Copyright (C) 2007, 2008, 2009, 2010. PARP Research Group. 00003 * <http://perception.inf.um.es> 00004 * University of Murcia, Spain. 00005 * 00006 * This file is part of the QVision library. 00007 * 00008 * QVision is free software: you can redistribute it and/or modify 00009 * it under the terms of the GNU Lesser General Public License as 00010 * published by the Free Software Foundation, version 3 of the License. 00011 * 00012 * QVision is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with QVision. If not, see <http://www.gnu.org/licenses/>. 00019 */ 00020 00024 00025 #ifndef QVINDEXEDSTRINGLIST_H 00026 #define QVINDEXEDSTRINGLIST_H 00027 00028 #include <QStringList> 00029 #include <QMetaType> 00030 00034 00045 class QVIndexedStringList: public QStringList 00046 { 00047 private: 00048 int index; 00049 00050 public: 00054 QVIndexedStringList() : QStringList(), index(-1) { } 00055 00058 QVIndexedStringList( const QVIndexedStringList& l ) : QStringList(l), index(l.index) { } 00059 00063 QVIndexedStringList( const QStringList& l ) : QStringList(l), index(l.isEmpty()? -1 : 0) { } 00064 00068 QVIndexedStringList( const QString& i ) { append(i); index = 0; } 00069 00070 #ifndef DOXYGEN_IGNORE_THIS 00071 //redefiniciones (los que devuelven listas y los que cambian ordenes) 00072 // quedan algunos métodos heredados que modifican la lista: erase, insert, removeAll, removeFirst, removeLast, Swap 00073 void sort(); 00074 QVIndexedStringList filter(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 00075 #ifndef QT_NO_REGEXP 00076 QVIndexedStringList filter(const QRegExp &rx) const; 00077 #endif 00078 QVIndexedStringList operator+(const QVIndexedStringList &other) const; 00079 #endif 00080 00083 int getIndex() const { return index; } 00084 00087 QString getCurrent() const; 00088 00096 bool setIndex(int i); 00097 00103 bool incIndex(); 00104 00110 bool decIndex(); 00111 00115 void append(const QString &str); 00116 }; 00117 00118 Q_DECLARE_METATYPE(QVIndexedStringList); 00119 #endif 00120 |