| 95 | } |
| 96 | |
| 97 | QVariant QmitkDataStorageDefaultListModel::data(const QModelIndex &index, int role) const |
| 98 | { |
| 99 | if (!index.isValid() || index.model() != this) |
| 100 | { |
| 101 | return QVariant(); |
| 102 | } |
| 103 | |
| 104 | if(index.row() < 0 || index.row() >= static_cast<int>(m_DataNodes.size())) |
| 105 | { |
| 106 | return QVariant(); |
| 107 | } |
| 108 | |
| 109 | mitk::DataNode::Pointer dataNode = m_DataNodes.at(index.row()); |
| 110 | QString nodeName = QString::fromStdString(dataNode->GetName()); |
| 111 | if (nodeName.isEmpty()) |
| 112 | nodeName = "unnamed"; |
| 113 | |
| 114 | if (role == Qt::DisplayRole) |
| 115 | return nodeName; |
| 116 | else if (role == Qt::ToolTipRole) |
| 117 | return nodeName; |
| 118 | else if (role == Qt::DecorationRole) |
| 119 | { |
| 120 | QmitkNodeDescriptor *nodeDescriptor = QmitkNodeDescriptorManager::GetInstance()->GetDescriptor(dataNode); |
| 121 | return nodeDescriptor->GetIcon(dataNode); |
| 122 | } |
| 123 | else if (role == QmitkDataNodeRole) |
| 124 | { |
| 125 | return QVariant::fromValue<mitk::DataNode::Pointer>(mitk::DataNode::Pointer(dataNode)); |
| 126 | } |
| 127 | else if (role == QmitkDataNodeRawPointerRole) |
| 128 | { |
| 129 | return QVariant::fromValue<mitk::DataNode *>(dataNode); |
| 130 | } |
| 131 | |
| 132 | return QVariant(); |
| 133 | } |
| 134 | |
| 135 | QVariant QmitkDataStorageDefaultListModel::headerData(int /*section*/, Qt::Orientation /*orientation*/, int /*role*/) const |
| 136 | { |