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,
62 void setDatabase(
const QSqlDatabase& dataBase);
63 void setDatabase(
const QSqlDatabase& dataBase,
const QMap<QString,QVariant>& parameters);
69 virtual bool canFetchMore (
const QModelIndex & parent )
const;
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);