Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef DISTANCEITEM_H
00027 #define DISTANCEITEM_H
00028
00029 #include <QGpCoreTools.h>
00030
00031 #include "Distance.h"
00032
00033 class DistanceItem : public QAbstractTableModel
00034 {
00035 Q_OBJECT
00036 public:
00037 DistanceItem(QObject * parent=0);
00038 ~DistanceItem();
00039
00040 void addPointName(const QString& n) {_pointNames.append(n);}
00041 const QStringList& pointNames() const {return _pointNames;}
00042 const QList<Distance>& distances() const {return _distances;}
00043
00044 virtual int rowCount(const QModelIndex& parent) const;
00045 virtual int columnCount(const QModelIndex& parent) const;
00046 virtual QVariant data(const QModelIndex & index, int role) const;
00047 virtual bool setData(const QModelIndex & index, const QVariant & value, int role=Qt::EditRole);
00048 virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const;
00049 Qt::ItemFlags flags(const QModelIndex& index) const;
00050
00051 void add();
00052 void remove(int index);
00053 bool load(const QString& fileName);
00054 bool save(const QString& fileName) const;
00055 signals:
00056 void pointNameChanged();
00057 void distanceChanged();
00058 private:
00059 QString nextPointName(const QString& n);
00060
00061 QList<Distance> _distances;
00062 QStringList _pointNames;
00063 };
00064
00065 #endif // DISTANCEITEM_H