00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef CUSTOMFIELDSMODEL_H
00023 #define CUSTOMFIELDSMODEL_H
00024
00025 #include "../customfields_p.h"
00026
00027 #include <QtCore/QAbstractItemModel>
00028 #include <QtCore/QList>
00029
00030 class CustomFieldsModel : public QAbstractItemModel
00031 {
00032 public:
00033 enum Role
00034 {
00035 TypeRole = Qt::UserRole,
00036 ScopeRole
00037 };
00038
00039 CustomFieldsModel( QObject *parent = 0 );
00040 ~CustomFieldsModel();
00041
00042 void setCustomFields( const CustomField::List &addresses );
00043 CustomField::List customFields() const;
00044
00045 virtual QModelIndex index( int row, int col, const QModelIndex &parent = QModelIndex() ) const;
00046 virtual QModelIndex parent( const QModelIndex &child ) const;
00047 virtual QVariant data( const QModelIndex &index, int role ) const;
00048 virtual bool setData( const QModelIndex &index, const QVariant &value, int role = Qt::EditRole );
00049 virtual QVariant headerData( int section, Qt::Orientation orientation, int role ) const;
00050 virtual Qt::ItemFlags flags( const QModelIndex &index ) const;
00051 virtual int columnCount( const QModelIndex &parent = QModelIndex() ) const;
00052 virtual int rowCount( const QModelIndex &parent = QModelIndex() ) const;
00053
00054 virtual bool insertRows( int row, int count, const QModelIndex &parent = QModelIndex() );
00055 virtual bool removeRows( int row, int count, const QModelIndex &parent = QModelIndex() );
00056
00057 private:
00058 CustomField::List mCustomFields;
00059 };
00060
00061 #endif