浏览代码

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
 {
   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)
     {
     return QVariant();

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

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