Prechádzať zdrojové kódy

New roles for the DICOMModel to get access to the UIDs

Marco Nolden 14 rokov pred
rodič
commit
669dd3cf95

+ 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();