#ifndef FILEMODEL_H #define FILEMODEL_H #include #include "IO/Common/DICOMTypes.h" class FileItem; class PropertyTableModel; class FileModel : public QAbstractItemModel { public: explicit FileModel(PropertyTableModel* aTableModel, QObject *parent = nullptr); ~FileModel() override; // override superclass method QVariant data(const QModelIndex &aIndex, int aRole) const override; QModelIndex index(int aRow, int aColumn, const QModelIndex &aParent = QModelIndex()) const override; QModelIndex parent(const QModelIndex &aIndex) const override; int rowCount(const QModelIndex &aParent = QModelIndex()) const override; int columnCount(const QModelIndex &aParent = QModelIndex()) const override; void setModelData(); void clearModelData(); void executeItemAction(const QModelIndex& aIndex); private: FileItem* mRootItem; PatientsMapType* mPatientList; PropertyTableModel* mTableModel; }; #endif // FILEMODEL_H