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

Method setData

Modules/SegmentationUI/src/QmitkMultiLabelTreeModel.cpp:516–575  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

514}
515
516bool QmitkMultiLabelTreeModel::setData(const QModelIndex& index, const QVariant& value, int role)
517{
518 if (!index.isValid())
519 return false;
520
521 auto item = static_cast<QmitkMultiLabelSegTreeItem*>(index.internalPointer());
522
523 if (!item)
524 return false;
525
526 if (role == Qt::EditRole)
527 {
528 if (TableColumns::NAME_COL != index.column())
529 {
530 if (item->HandleAsInstance())
531 {
532 auto label = item->GetLabel();
533
534 if (TableColumns::LOCKED_COL == index.column())
535 {
536 label->SetLocked(value.toBool());
537 }
538 else if (TableColumns::COLOR_COL == index.column())
539 {
540 mitk::SegLabelPropModifyUndoRedoHelper undoGenerator(m_Segmentation, { label->GetValue() });
541 label->SetColor(QtToMitk(value.value<QColor>()));
542 undoGenerator.RegisterUndoRedoOperationEvent("Change color of \"" + mitk::LabelSetImageHelper::CreateDisplayLabelName(m_Segmentation, label) + "\"");
543 }
544 else if (TableColumns::VISIBLE_COL == index.column())
545 {
546 label->SetVisible(value.toBool());
547 }
548 m_Segmentation->UpdateLookupTable(label->GetValue());
549 m_Segmentation->GetLookupTable()->Modified();
550 m_Segmentation->Modified();
551 mitk::RenderingManager::GetInstance()->RequestUpdateAll();
552 }
553 else
554 {
555
556 }
557 return true;
558 }
559 else //name column
560 {
561 if (item->m_ItemType == QmitkMultiLabelSegTreeItem::ItemType::Group)
562 {
563 auto groupID = item->GetGroupID();
564
565 mitk::SegGroupModifyUndoRedoHelper undoRedoGenerator(m_Segmentation, { groupID }, true, 0, true, true);
566 m_Segmentation->SetGroupName(groupID, value.toString().toStdString());
567 undoRedoGenerator.RegisterUndoRedoOperationEvent("Rename group #" + std::to_string(groupID));
568
569 m_Segmentation->Modified();
570 return true;
571 }
572 }
573 }

Callers 4

ResetListMethod · 0.45
SetTaskListMethod · 0.45
editorEventMethod · 0.45
editorEventMethod · 0.45

Calls 15

HandleAsInstanceMethod · 0.80
SetLockedMethod · 0.80
SetGroupNameMethod · 0.80
QtToMitkFunction · 0.70
GetLabelMethod · 0.45
GetValueMethod · 0.45
SetColorMethod · 0.45
SetVisibleMethod · 0.45
UpdateLookupTableMethod · 0.45
ModifiedMethod · 0.45
GetLookupTableMethod · 0.45

Tested by

no test coverage detected