13 #ifndef QmitkMultiLabelInspector_h
14 #define QmitkMultiLabelInspector_h
23 #include <QItemSelectionModel>
26 class QStyledItemDelegate;
46 bool GetMultiSelectionMode()
const;
48 bool GetAllowVisibilityModification()
const;
49 bool GetAllowLockModification()
const;
50 bool GetAllowLabelModification()
const;
53 bool GetModelManipulationOngoing()
const;
83 IndexLevelType GetCurrentLevelType()
const;
91 LabelValueVectorType GetCurrentlyAffactedLabelInstances()
const;
97 LabelValueVectorType GetLabelInstancesOfSelectedFirstLabel()
const;
105 void CurrentSelectionChanged(LabelValueVectorType labels)
const;
114 void GoToLabel(LabelValueType label,
const mitk::Point3D& point)
const;
124 void LabelRenameRequested(
mitk::Label* label,
bool rename,
bool& canceled)
const;
127 void ModelUpdated()
const;
130 void SegmentationChanged()
const;
140 void SetSelectedLabels(
const LabelValueVectorType& selectedLabels);
172 void SetMultiSelectionMode(
bool multiMode);
174 void SetAllowVisibilityModification(
bool visiblityMod);
175 void SetAllowLockModification(
bool lockMod);
176 void SetAllowLabelModification(
bool labelMod);
178 void SetDefaultLabelNaming(
bool defaultLabelNaming);
206 void DeleteLabelInstance();
231 void OnCopyToGroup();
233 void SetVisibilityOfAffectedLabels(
bool visible)
const;
234 void SetLockOfAffectedLabels(
bool visible)
const;
238 void OnModelChanged();
239 void OnDataChanged(
const QModelIndex& topLeft,
const QModelIndex& bottomRight,
240 const QList<int>& roles = QList<int>());
271 void keyPressEvent(QKeyEvent* event)
override;
272 void keyReleaseEvent(QKeyEvent* event)
override;
284 void OnChangeModelSelection(
const QItemSelection& selected,
const QItemSelection& deselected);
286 void OnContextMenuRequested(
const QPoint&);
289 void OnAddLabelInstance();
290 void OnDeleteGroup();
291 void OnDeleteAffectedLabel();
292 void OnDeleteLabels(
bool);
293 void OnClearLabels(
bool);
294 void OnMergeLabels(
bool);
296 void OnRenameGroup();
297 void OnRenameLabel(
bool);
298 void OnClearLabel(
bool);
300 void OnUnlockAffectedLabels();
301 void OnLockAffectedLabels();
303 void OnSetAffectedLabelsVisible();
304 void OnSetAffectedLabelsInvisible();
305 void OnSetOnlyActiveLabelVisible(
bool);
307 void OnItemDoubleClicked(
const QModelIndex& index);
309 void WaitCursorOn()
const;
310 void WaitCursorOff()
const;
311 void RestoreOverrideCursor()
const;
315 void OnEntered(
const QModelIndex& index);
318 QWidgetAction* CreateOpacityAction();
321 bool m_ShowVisibility =
true;
322 bool m_ShowLock =
true;
323 bool m_ShowOther =
false;
329 bool m_AllowVisibilityModification =
true;
333 bool m_AllowLockModification =
true;
337 bool m_AllowLabelModification =
false;
339 bool m_DefaultLabelNaming =
true;
341 bool m_ModelManipulationOngoing =
false;
343 bool m_AboutToShowContextMenu =
false;
345 bool m_CheckSelectionDueToExternalModelChange =
true;
348 unsigned long m_SegmentationNodeDataMTime;