14 #ifndef QMITK_ABSTRACT_NODE_SELECTION_WIDGET_H 15 #define QMITK_ABSTRACT_NODE_SELECTION_WIDGET_H 26 class QAbstractItemVew;
57 QString GetInvalidInfo()
const;
58 QString GetEmptyInfo()
const;
59 QString GetPopUpTitel()
const;
60 QString GetPopUpHint()
const;
62 bool GetSelectionIsOptional()
const;
64 bool GetSelectOnlyVisibleNodes()
const;
66 using NodeList = QList<mitk::DataNode::Pointer>;
77 void CurrentSelectionChanged(
NodeList nodes);
91 void SetSelectOnlyVisibleNodes(
bool selectOnlyVisibleNodes);
105 void SetCurrentSelection(
NodeList selectedNodes);
110 void SetInvalidInfo(QString
info);
115 void SetEmptyInfo(QString
info);
119 void SetPopUpTitel(QString
info);
123 void SetPopUpHint(QString
info);
127 void SetSelectionIsOptional(
bool isOptional);
137 virtual void UpdateInfo() = 0;
142 virtual void OnNodePredicateChanged();
146 virtual void OnDataStorageChanged();
150 virtual void OnInternalSelectionChanged();
159 virtual void OnNodeRemovedFromStorage(
const mitk::DataNode* node);
167 void HandleChangeOfInternalSelection(
NodeList newInternalSelection);
172 NodeList CompileEmitSelection()
const;
179 virtual void ReviseSelectionChanged(
const NodeList& oldInternalSelection,
NodeList& newInternalSelection);
185 virtual bool AllowEmissionOfSelection(
const NodeList& emissionCandidates)
const;
189 void EmitSelection(
const NodeList& emissionCandidates);
191 void SetCurrentInternalSelection(
NodeList selectedNodes);
192 const NodeList& GetCurrentInternalSelection()
const;
193 const NodeList& GetCurrentExternalSelection()
const;
210 void SetDataStorageDeleted();
222 void OnNodeModified(
const itk::Object * ,
const itk::EventObject &);
227 unsigned long m_DataStorageDeletedTag;
229 NodeList m_CurrentInternalSelection;
230 NodeList m_CurrentExternalSelection;
233 bool m_LastEmissionAllowance;
235 using NodeObserverTagMapType = std::map<const mitk::DataNode*, unsigned long>;
236 NodeObserverTagMapType m_NodeObserverTags;
239 bool m_RecursionGuard;
241 #endif // QmitkAbstractNodeSelectionWidget_H
Data management class that handles 'was created by' relations.
MITK_QT_APP QList< mitk::DataNode::Pointer > GetSelectedNodes(berry::IWorkbenchPartSite::Pointer workbenchPartSite)
static void info(const char *fmt,...)
Interface for evaluation conditions used in the DataStorage class GetSubset() method.
Class for nodes of the DataTree.