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

Method UpdateControls

Modules/SegmentationUI/src/QmitkMultiLabelManager.cpp:222–251  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

220}
221
222void QmitkMultiLabelManager::UpdateControls()
223{
224 auto segmentation = this->GetMultiLabelSegmentation();
225 bool hasWorkingData = segmentation != nullptr;
226
227 auto labels = this->m_Controls->labelInspector->GetSelectedLabels();
228 bool hasMultipleInstances = this->m_Controls->labelInspector->GetLabelInstancesOfSelectedFirstLabel().size() > 1;
229 bool instanceAllowed = true;
230 if (hasWorkingData && labels.size()==1 && m_SuggestionHelper.IsNotNull())
231 {
232 auto suggestionPrefs = mitk::LabelSuggestionHelper::GetSuggestionPreferences();
233 instanceAllowed = !suggestionPrefs.enforceSuggestions || m_SuggestionHelper->IsNewInstanceAllowed(segmentation, segmentation->GetLabel(labels.front())->GetName());
234 }
235
236 m_Controls->btnAddGroup->setEnabled(hasWorkingData);
237 m_Controls->btnAddLabel->setEnabled(hasWorkingData);
238 m_Controls->btnAddInstance->setEnabled(hasWorkingData && labels.size()==1 && instanceAllowed);
239 if (nullptr != m_AddLabelInstanceShortcut)
240 m_AddLabelInstanceShortcut->setEnabled(hasWorkingData && labels.size() == 1 && instanceAllowed);
241
242 m_Controls->btnRemoveGroup->setEnabled(hasWorkingData && !labels.empty() && this->GetMultiLabelSegmentation()->GetNumberOfGroups()>1);
243 m_Controls->btnRemoveLabel->setEnabled(hasWorkingData && !labels.empty());
244 m_Controls->btnRemoveInstance->setEnabled(hasWorkingData && !labels.empty() && hasMultipleInstances);
245
246 m_Controls->btnLoadPreset->setEnabled(hasWorkingData);
247 m_Controls->btnSavePreset->setEnabled(hasWorkingData);
248
249 if (!hasWorkingData)
250 return;
251}
252
253void QmitkMultiLabelManager::OnCreateCroppedMask(bool)
254{

Callers 6

OnLabelEventMethod · 0.95
OnGroupEventMethod · 0.95
OnModelUpdatedMethod · 0.95

Calls 12

IsNotNullMethod · 0.80
IsNewInstanceAllowedMethod · 0.80
frontMethod · 0.80
GetNumberOfGroupsMethod · 0.80
GetSelectedLabelsMethod · 0.45
sizeMethod · 0.45
GetNameMethod · 0.45
GetLabelMethod · 0.45
setEnabledMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected