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;