00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef NAMED_VALUES_VECTOR_MODEL_H
00025 #define NAMED_VALUES_VECTOR_MODEL_H
00026
00027 #include <QAbstractTableModel>
00028 #include <QVector>
00029 #include <QString>
00030 #include "../compiler/compiler.h"
00031
00032
00033 namespace Aseba
00034 {
00037
00038 class NamedValuesVectorModel: public QAbstractTableModel
00039 {
00040 Q_OBJECT
00041
00042 public:
00043 NamedValuesVectorModel(NamedValuesVector* namedValues, const QString &tooltipText, QObject *parent = 0);
00044 NamedValuesVectorModel(NamedValuesVector* namedValues, QObject *parent = 0);
00045
00046 int rowCount(const QModelIndex &parent = QModelIndex()) const;
00047 int columnCount(const QModelIndex &parent = QModelIndex()) const;
00048
00049 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
00050 QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
00051 Qt::ItemFlags flags(const QModelIndex & index) const;
00052
00053 QStringList mimeTypes () const;
00054 QMimeData * mimeData ( const QModelIndexList & indexes ) const;
00055
00056 bool setData(const QModelIndex &index, const QVariant &value, int role);
00057 bool checkIfModified() { return wasModified; }
00058 void clearWasModified() { wasModified = false; }
00059
00060 public slots:
00061 void addNamedValue(const NamedValue& namedValue);
00062 void delNamedValue(int index);
00063 void clear();
00064
00065 private:
00066 NamedValuesVector* namedValues;
00067 QString tooltipText;
00068 bool wasModified;
00069 };
00070
00072 };
00073
00074 #endif