MCPcopy Create free account
hub / github.com/MITK/MITK / data

Method data

Modules/QtWidgets/src/QmitkRenderWindowDataNodeTableModel.cpp:165–252  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

163}
164
165QVariant QmitkRenderWindowDataNodeTableModel::data(const QModelIndex& index, int role) const
166{
167 if (!index.isValid() || this != index.model())
168 {
169 return QVariant();
170 }
171
172 if (index.row() < 0 || index.row() >= static_cast<int>(m_CurrentSelection.size()))
173 {
174 return QVariant();
175 }
176
177 mitk::DataNode* dataNode = m_CurrentSelection.at(index.row());
178
179 if (role == QmitkDataNodeRole)
180 {
181 return QVariant::fromValue<mitk::DataNode::Pointer>(mitk::DataNode::Pointer(dataNode));
182 }
183
184 if (role == QmitkDataNodeRawPointerRole)
185 {
186 return QVariant::fromValue<mitk::DataNode*>(dataNode);
187 }
188
189 if (index.column() == 0) // data node information column
190 {
191 QString nodeName = QString::fromStdString(dataNode->GetName());
192 if (nodeName.isEmpty())
193 {
194 nodeName = "unnamed";
195 }
196
197 if (role == Qt::DisplayRole || role == Qt::EditRole)
198 {
199 return nodeName;
200 }
201
202 if (role == Qt::ToolTipRole)
203 {
204 return QVariant("Name of the data node.");
205 }
206
207 if (role == Qt::DecorationRole)
208 {
209 QmitkNodeDescriptor* nodeDescriptor = QmitkNodeDescriptorManager::GetInstance()->GetDescriptor(dataNode);
210 return QVariant(nodeDescriptor->GetIcon(dataNode));
211 }
212 }
213
214 if (index.column() == 1) // node visibility column
215 {
216 if (role == Qt::DecorationRole)
217 {
218 auto baseRenderer = m_BaseRenderer.Lock();
219 bool visibility = false;
220 dataNode->GetVisibility(visibility, baseRenderer);
221
222 return visibility ? QVariant(m_VisibleIcon) : QVariant(m_InvisibleIcon);

Callers 1

dropMimeDataMethod · 0.95

Calls 8

atMethod · 0.80
GetVisibilityMethod · 0.80
rowMethod · 0.45
sizeMethod · 0.45
GetNameMethod · 0.45
GetDescriptorMethod · 0.45
GetIconMethod · 0.45
LockMethod · 0.45

Tested by

no test coverage detected