21 #ifndef __ctkDICOMModel_h
22 #define __ctkDICOMModel_h
25 #include <QAbstractItemModel>
27 #include <QSqlDatabase>
28 #include <QStringList>
30 #include "ctkDICOMCoreExport.h"
32 class ctkDICOMModelPrivate;
37 :
public QAbstractItemModel
40 typedef QAbstractItemModel Superclass;
43 Q_PROPERTY(
IndexType endLevel READ endLevel WRITE setEndLevel);
47 UIDRole = Qt::UserRole,
63 void setDatabase(
const QSqlDatabase& dataBase,
const QMap<QString,QVariant>& parameters);
70 virtual int columnCount (
const QModelIndex & parent = QModelIndex() )
const;
71 virtual QVariant
data (
const QModelIndex & index,
int role = Qt::DisplayRole )
const;
72 virtual void fetchMore (
const QModelIndex & parent );
73 virtual Qt::ItemFlags
flags (
const QModelIndex & index )
const;
76 virtual bool hasChildren (
const QModelIndex & parent = QModelIndex() )
const;
77 virtual QVariant
headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole)
const;
78 virtual QModelIndex
index (
int row,
int column,
const QModelIndex & parent = QModelIndex() )
const;
79 virtual QModelIndex
parent (
const QModelIndex & index )
const;
80 virtual int rowCount (
const QModelIndex & parent = QModelIndex() )
const;
81 virtual bool setData(
const QModelIndex &index,
const QVariant &value,
int role);
82 virtual bool setHeaderData (
int section, Qt::Orientation orientation,
const QVariant & value,
int role = Qt::EditRole );
84 virtual void sort(
int column, Qt::SortOrder order = Qt::AscendingOrder);
88 QScopedPointer<ctkDICOMModelPrivate>
d_ptr;
90 bool setChildData(
const QModelIndex &index,
const QVariant &value,
int role);
91 bool setParentData(
const QModelIndex &index,
const QVariant &value,
int role);
virtual QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const
bool setChildData(const QModelIndex &index, const QVariant &value, int role)
virtual void fetchMore(const QModelIndex &parent)
virtual bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role=Qt::EditRole)
virtual QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
void setDatabase(const QSqlDatabase &dataBase, const QMap< QString, QVariant > ¶meters)
bool setParentData(const QModelIndex &index, const QVariant &value, int role)
virtual void sort(int column, Qt::SortOrder order=Qt::AscendingOrder)
virtual int columnCount(const QModelIndex &parent=QModelIndex()) const
virtual Qt::ItemFlags flags(const QModelIndex &index) const
void setEndLevel(ctkDICOMModel::IndexType level)
virtual bool canFetchMore(const QModelIndex &parent) const
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
virtual QModelIndex parent(const QModelIndex &index) const
ctkDICOMModel::IndexType endLevel() const
Set it before populating the model.
void setDatabase(const QSqlDatabase &dataBase)
virtual QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const
QScopedPointer< ctkDICOMModelPrivate > d_ptr
virtual bool setData(const QModelIndex &index, const QVariant &value, int role)
virtual bool hasChildren(const QModelIndex &parent=QModelIndex()) const
ctkDICOMModel(QObject *parent=0)
Q_DECLARE_METATYPE(ctkDICOMPersonName)