| 318 | } |
| 319 | |
| 320 | bool QmitkRenderWindowDataStorageTreeModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int /*row*/, int /*column*/, const QModelIndex& parent) |
| 321 | { |
| 322 | auto baseRenderer = m_BaseRenderer.Lock(); |
| 323 | |
| 324 | if (baseRenderer.IsNull()) |
| 325 | { |
| 326 | return false; |
| 327 | } |
| 328 | |
| 329 | if (action == Qt::IgnoreAction) |
| 330 | { |
| 331 | return true; |
| 332 | } |
| 333 | |
| 334 | if (!data->hasFormat(QmitkMimeTypes::DataNodePtrs)) |
| 335 | { |
| 336 | return false; |
| 337 | } |
| 338 | |
| 339 | if (!parent.isValid()) |
| 340 | { |
| 341 | return false; |
| 342 | } |
| 343 | |
| 344 | int layer = -1; |
| 345 | auto dataNode = this->data(parent, QmitkDataNodeRawPointerRole).value<mitk::DataNode*>(); |
| 346 | if (nullptr != dataNode) |
| 347 | { |
| 348 | dataNode->GetIntProperty("layer", layer, baseRenderer); |
| 349 | } |
| 350 | |
| 351 | auto dataNodeList = QmitkMimeTypes::ToDataNodePtrList(data); |
| 352 | for (const auto& dataNode : std::as_const(dataNodeList)) |
| 353 | { |
| 354 | m_RenderWindowLayerController->MoveNodeToPosition(dataNode, layer, baseRenderer); |
| 355 | } |
| 356 | |
| 357 | ResetTree(); |
| 358 | UpdateModelData(); |
| 359 | AdjustLayerProperty(); |
| 360 | return true; |
| 361 | } |
| 362 | |
| 363 | void QmitkRenderWindowDataStorageTreeModel::SetControlledRenderer(mitk::RenderWindowLayerUtilities::RendererVector controlledRenderer) |
| 364 | { |
nothing calls this directly
no test coverage detected