00001 #ifndef JOBPROPERTYMODEL_H
00002 #define JOBPROPERTYMODEL_H
00003
00010 #include <QAbstractItemModel>
00011 #include <QModelIndex>
00012 #include <QVariant>
00013
00014 class JobPropertyItem;
00015
00019 class JobPropertyModel : public QAbstractItemModel
00020 {
00021 Q_OBJECT
00022
00023 public:
00024 JobPropertyModel(QObject *parent);
00025 ~JobPropertyModel();
00026
00027 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
00028 QVariant headerData(int section, Qt::Orientation orientation,
00029 int role = Qt::DisplayRole) const;
00030
00031 QModelIndex index(int row, int column,
00032 const QModelIndex &parent = QModelIndex()) const;
00033 bool removeRows ( int row, int count, const QModelIndex & parent = QModelIndex() );
00034 QModelIndex parent(const QModelIndex &index) const;
00035
00036 int rowCount(const QModelIndex &parent = QModelIndex()) const;
00037 int columnCount(const QModelIndex &parent = QModelIndex()) const;
00038
00039 Qt::ItemFlags flags(const QModelIndex &index) const;
00040 bool setData(const QModelIndex &index, const QVariant &value,
00041 int role = Qt::EditRole);
00042 bool setHeaderData(int section, Qt::Orientation orientation,
00043 const QVariant &value, int role = Qt::EditRole);
00044
00045 void emitLayoutAboutToBeChanged();
00046 void emitLayoutChanged();
00047
00048 JobPropertyItem *getItem(const QModelIndex &index) const;
00049 JobPropertyItem *rootItem;
00050
00051 public:
00052 bool _layoutAboutToBeChanged;
00053
00054 };
00055 #endif // JOBPROPERTYMODEL_H