| 220 | } |
| 221 | |
| 222 | void 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 | |
| 253 | void QmitkMultiLabelManager::OnCreateCroppedMask(bool) |
| 254 | { |
no test coverage detected