13 #ifndef QMITK_ABSTRACT_NODE_SELECTION_WIDGET_H 14 #define QMITK_ABSTRACT_NODE_SELECTION_WIDGET_H 25 class QAbstractItemVew;
56 QString GetInvalidInfo()
const;
57 QString GetEmptyInfo()
const;
58 QString GetPopUpTitel()
const;
59 QString GetPopUpHint()
const;
61 bool GetSelectionIsOptional()
const;
63 bool GetSelectOnlyVisibleNodes()
const;
65 using NodeList = QList<mitk::DataNode::Pointer>;
81 void CurrentSelectionChanged(
NodeList nodes);
95 void SetSelectOnlyVisibleNodes(
bool selectOnlyVisibleNodes);
109 void SetCurrentSelection(
NodeList selectedNodes);
115 void SetInvalidInfo(QString info);
121 void SetEmptyInfo(QString info);
126 void SetPopUpTitel(QString info);
131 void SetPopUpHint(QString info);
136 void SetSelectionIsOptional(
bool isOptional);
147 virtual void UpdateInfo() = 0;
153 virtual void OnNodePredicateChanged();
158 virtual void OnDataStorageChanged();
163 virtual void OnInternalSelectionChanged();
174 virtual void OnNodeRemovedFromStorage(
const mitk::DataNode* node);
182 void HandleChangeOfInternalSelection(
NodeList newInternalSelection);
187 NodeList CompileEmitSelection()
const;
194 virtual void ReviseSelectionChanged(
const NodeList& oldInternalSelection,
NodeList& newInternalSelection);
201 virtual bool AllowEmissionOfSelection(
const NodeList& emissionCandidates)
const;
206 void EmitSelection(
const NodeList& emissionCandidates);
208 void SetCurrentInternalSelection(
NodeList selectedNodes);
209 const NodeList& GetCurrentInternalSelection()
const;
210 const NodeList& GetCurrentExternalSelection()
const;
227 void SetDataStorageDeleted();
239 void OnNodeModified(
const itk::Object * ,
const itk::EventObject &);
244 unsigned long m_DataStorageDeletedTag;
246 NodeList m_CurrentInternalSelection;
247 NodeList m_CurrentExternalSelection;
250 bool m_LastEmissionAllowance;
252 using NodeObserverTagMapType = std::map<const mitk::DataNode*, unsigned long>;
253 NodeObserverTagMapType m_NodeObserverTags;
256 bool m_RecursionGuard;
259 #endif // QMITK_ABSTRACT_NODE_SELECTION_WIDGET_H
Data management class that handles 'was created by' relations.
Interface for evaluation conditions used in the DataStorage class GetSubset() method.
MITK_QT_APP QList< mitk::DataNode::Pointer > GetSelectedNodes(berry::IWorkbenchPartSite::Pointer workbenchPartSite)
Class for nodes of the DataTree.