qCTKDCMTKModel.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef __qCTKDCMTKModel_h
  2. #define __qCTKDCMTKModel_h
  3. // QT includes
  4. #include <QAbstractItemModel>
  5. // qCTK includes
  6. #include <qCTKPimpl.h>
  7. #include "CTKDICOMCoreExport.h"
  8. class qCTKDCMTKModelPrivate;
  9. class Q_CTK_DICOM_CORE_EXPORT qCTKDCMTKModel : public QAbstractItemModel
  10. {
  11. Q_OBJECT
  12. public:
  13. explicit qCTKDCMTKModel(QObject* parent = 0);
  14. virtual ~qCTKDCMTKModel();
  15. void setDataBase(const QString& database);
  16. virtual bool canFetchMore ( const QModelIndex & parent ) const;
  17. virtual int columnCount ( const QModelIndex & parent = QModelIndex() ) const;
  18. virtual QVariant data ( const QModelIndex & index, int role = Qt::DisplayRole ) const;
  19. virtual void fetchMore ( const QModelIndex & parent );
  20. virtual Qt::ItemFlags flags ( const QModelIndex & index ) const;
  21. virtual bool hasChildren ( const QModelIndex & parent = QModelIndex() ) const;
  22. //virtual QVariant headerData ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const;
  23. virtual QModelIndex index ( int row, int column, const QModelIndex & parent = QModelIndex() ) const;
  24. virtual QModelIndex parent ( const QModelIndex & index ) const;
  25. virtual int rowCount ( const QModelIndex & parent = QModelIndex() ) const;
  26. //virtual bool setHeaderData ( int section, Qt::Orientation orientation, const QVariant & value, int role = Qt::EditRole );
  27. protected slots:
  28. void rootRowsAboutToBeInserted(const QModelIndex& rootParent, int start, int end);
  29. void rootRowsInserted(const QModelIndex& rootParent, int start, int end);
  30. void patientRowsAboutToBeInserted(const QModelIndex& patientParent, int start, int end);
  31. void patientRowsInserted(const QModelIndex& patientParent, int start, int end);
  32. void studyRowsAboutToBeInserted(const QModelIndex& studyParent, int start, int end);
  33. void studyRowsInserted(const QModelIndex& studyParent, int start, int end);
  34. void seriesRowsAboutToBeInserted(const QModelIndex& seriesParent, int start, int end);
  35. void seriesRowsInserted(const QModelIndex& seriesParent, int start, int end);
  36. void onModelAboutToBeReset();
  37. void onModelReset();
  38. void onLayoutAboutToBeChanged();
  39. void onLayoutChanged();
  40. private:
  41. QCTK_DECLARE_PRIVATE(qCTKDCMTKModel);
  42. };
  43. #endif