소스 검색

New roles for the DICOMModel to get access to the UIDs

Marco Nolden 14 년 전
부모
커밋
669dd3cf95
2개의 변경된 파일17개의 추가작업 그리고 0개의 파일을 삭제
  1. 11 0
      Libs/DICOM/Core/ctkDICOMModel.cpp
  2. 6 0
      Libs/DICOM/Core/ctkDICOMModel.h

+ 11 - 0
Libs/DICOM/Core/ctkDICOMModel.cpp

@@ -413,6 +413,17 @@ int ctkDICOMModel::columnCount ( const QModelIndex & _parent ) const
 QVariant ctkDICOMModel::data ( const QModelIndex & dataIndex, int role ) const
 QVariant ctkDICOMModel::data ( const QModelIndex & dataIndex, int role ) const
 {
 {
   Q_D(const ctkDICOMModel);
   Q_D(const ctkDICOMModel);
+  if ( role == UIDRole )
+    {
+    Node* node = d->nodeFromIndex(dataIndex);
+    return node ? node->UID : QString() ;
+    }
+  else if ( role == TypeRole )
+    {
+    Node* node = d->nodeFromIndex(dataIndex);
+    return node ? node->Type : 0;
+    }
+
   if (role != Qt::DisplayRole && role != Qt::EditRole)
   if (role != Qt::DisplayRole && role != Qt::EditRole)
     {
     {
     return QVariant();
     return QVariant();

+ 6 - 0
Libs/DICOM/Core/ctkDICOMModel.h

@@ -32,6 +32,12 @@ class CTK_DICOM_CORE_EXPORT ctkDICOMModel : public QAbstractItemModel
 {
 {
   Q_OBJECT
   Q_OBJECT
 public:
 public:
+
+  enum {
+    UIDRole = Qt::UserRole,
+    TypeRole
+  };
+
   explicit ctkDICOMModel(QObject* parent = 0);
   explicit ctkDICOMModel(QObject* parent = 0);
   virtual ~ctkDICOMModel();
   virtual ~ctkDICOMModel();