ctkDICOMModel.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef __ctkDICOMModel_h
  2. #define __ctkDICOMModel_h
  3. // QT includes
  4. #include <QAbstractItemModel>
  5. #include <QSqlDatabase>
  6. // qCTK includes
  7. #include <ctkPimpl.h>
  8. #include "CTKDICOMCoreExport.h"
  9. class ctkDICOMModelPrivate;
  10. class CTK_DICOM_CORE_EXPORT ctkDICOMModel : public QAbstractItemModel
  11. {
  12. Q_OBJECT
  13. public:
  14. explicit ctkDICOMModel(QObject* parent = 0);
  15. virtual ~ctkDICOMModel();
  16. void setDatabase(const QSqlDatabase& dataBase);
  17. virtual bool canFetchMore ( const QModelIndex & parent ) const;
  18. virtual int columnCount ( const QModelIndex & parent = QModelIndex() ) const;
  19. virtual QVariant data ( const QModelIndex & index, int role = Qt::DisplayRole ) const;
  20. virtual void fetchMore ( const QModelIndex & parent );
  21. virtual Qt::ItemFlags flags ( const QModelIndex & index ) const;
  22. // can return true even if rowCount returns 0, you should use canFetchMore/fetchMore to populate
  23. // the children.
  24. virtual bool hasChildren ( const QModelIndex & parent = QModelIndex() ) const;
  25. virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole)const;
  26. virtual QModelIndex index ( int row, int column, const QModelIndex & parent = QModelIndex() ) const;
  27. virtual QModelIndex parent ( const QModelIndex & index ) const;
  28. virtual int rowCount ( const QModelIndex & parent = QModelIndex() ) const;
  29. virtual bool setHeaderData ( int section, Qt::Orientation orientation, const QVariant & value, int role = Qt::EditRole );
  30. // Sorting resets the model because fetched/unfetched items could disappear/appear respectively.
  31. virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder);
  32. private:
  33. QCTK_DECLARE_PRIVATE(ctkDICOMModel);
  34. };
  35. #endif