Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
Widget that represents a node selection of (max) one node. It acts like a button. Clicking on it allows to change the selection. More...
#include <QmitkSingleNodeSelectionWidget.h>
Public Types | |
using | NodeList = QmitkAbstractNodeSelectionWidget::NodeList |
![]() | |
using | NodeList = QList< mitk::DataNode::Pointer > |
Public Slots | |
void | SetCurrentSelectedNode (mitk::DataNode *selectedNode) |
void | SetAutoSelectNewNodes (bool autoSelect) |
![]() | |
void | SetSelectOnlyVisibleNodes (bool selectOnlyVisibleNodes) |
void | SetCurrentSelection (NodeList selectedNodes) |
void | SetInvalidInfo (QString info) |
void | SetEmptyInfo (QString info) |
void | SetPopUpTitel (QString info) |
void | SetPopUpHint (QString info) |
void | SetSelectionIsOptional (bool isOptional) |
Public Member Functions | |
QmitkSingleNodeSelectionWidget (QWidget *parent=nullptr) | |
mitk::DataNode::Pointer | GetSelectedNode () const |
bool | GetAutoSelectNewNodes () const |
![]() | |
QmitkAbstractNodeSelectionWidget (QWidget *parent=nullptr) | |
virtual | ~QmitkAbstractNodeSelectionWidget () override |
void | SetDataStorage (mitk::DataStorage *dataStorage) |
Sets the data storage that will be used /monitored by widget. More... | |
void | SetNodePredicate (const mitk::NodePredicateBase *nodePredicate) |
const mitk::NodePredicateBase * | GetNodePredicate () const |
QString | GetInvalidInfo () const |
QString | GetEmptyInfo () const |
QString | GetPopUpTitel () const |
QString | GetPopUpHint () const |
bool | GetSelectionIsOptional () const |
bool | GetSelectOnlyVisibleNodes () const |
NodeList | GetSelectedNodes () const |
Protected Slots | |
virtual void | OnClearSelection () |
![]() | |
void | RemoveNodeFromSelection (const mitk::DataNode *node) |
Protected Member Functions | |
void | ReviseSelectionChanged (const NodeList &oldInternalSelection, NodeList &newInternalSelection) override |
bool | eventFilter (QObject *obj, QEvent *ev) override |
void | EditSelection () |
void | UpdateInfo () override |
void | OnNodeAddedToStorage (const mitk::DataNode *node) override |
mitk::DataNode::Pointer | DetermineAutoSelectNode (const NodeList &ignoreNodes={}) |
![]() | |
virtual void | OnNodePredicateChanged () |
virtual void | OnDataStorageChanged () |
virtual void | OnInternalSelectionChanged () |
virtual void | OnNodeRemovedFromStorage (const mitk::DataNode *node) |
void | HandleChangeOfInternalSelection (NodeList newInternalSelection) |
NodeList | CompileEmitSelection () const |
virtual bool | AllowEmissionOfSelection (const NodeList &emissionCandidates) const |
void | EmitSelection (const NodeList &emissionCandidates) |
void | SetCurrentInternalSelection (NodeList selectedNodes) |
const NodeList & | GetCurrentInternalSelection () const |
const NodeList & | GetCurrentExternalSelection () const |
Protected Attributes | |
bool | m_AutoSelectNewNodes |
Ui_QmitkSingleNodeSelectionWidget | m_Controls |
![]() | |
mitk::WeakPointer< mitk::DataStorage > | m_DataStorage |
mitk::NodePredicateBase::ConstPointer | m_NodePredicate |
QString | m_InvalidInfo |
QString | m_EmptyInfo |
QString | m_PopUpTitel |
QString | m_PopUpHint |
bool | m_IsOptional |
bool | m_SelectOnlyVisibleNodes |
Additional Inherited Members | |
![]() | |
void | CurrentSelectionChanged (NodeList nodes) |
Widget that represents a node selection of (max) one node. It acts like a button. Clicking on it allows to change the selection.
Definition at line 35 of file QmitkSingleNodeSelectionWidget.h.
Definition at line 45 of file QmitkSingleNodeSelectionWidget.h.
|
explicit |
Definition at line 26 of file QmitkSingleNodeSelectionWidget.cpp.
References m_Controls, OnClearSelection(), berry::QtStyleManager::ThemeIcon(), and UpdateInfo().
|
protected |
Helper function that gets a suitable auto selected node from the datastorage that fits to the predicate settings.
ignoreNodes | You may pass a list of nodes that must not be choosen as auto selected node. |
Definition at line 165 of file QmitkSingleNodeSelectionWidget.cpp.
References mitk::WeakPointer< T >::Lock(), QmitkAbstractNodeSelectionWidget::m_DataStorage, QmitkAbstractNodeSelectionWidget::m_NodePredicate, mitk::NodePredicateAnd::New(), and mitk::NodePredicateFunction::New().
Referenced by OnNodeAddedToStorage(), and ReviseSelectionChanged().
|
protected |
Definition at line 120 of file QmitkSingleNodeSelectionWidget.cpp.
References QmitkAbstractNodeSelectionWidget::GetCurrentInternalSelection(), QmitkNodeSelectionDialog::GetSelectedNodes(), QmitkAbstractNodeSelectionWidget::HandleChangeOfInternalSelection(), mitk::WeakPointer< T >::Lock(), m_Controls, QmitkAbstractNodeSelectionWidget::m_DataStorage, QmitkAbstractNodeSelectionWidget::m_NodePredicate, QmitkAbstractNodeSelectionWidget::m_PopUpHint, QmitkAbstractNodeSelectionWidget::m_PopUpTitel, QmitkAbstractNodeSelectionWidget::m_SelectOnlyVisibleNodes, QmitkNodeSelectionDialog::SetCurrentSelection(), QmitkNodeSelectionDialog::SetDataStorage(), QmitkNodeSelectionDialog::SetNodePredicate(), QmitkNodeSelectionDialog::SetSelectionMode(), and QmitkNodeSelectionDialog::SetSelectOnlyVisibleNodes().
Referenced by eventFilter().
|
overrideprotected |
Definition at line 84 of file QmitkSingleNodeSelectionWidget.cpp.
References QmitkAbstractNodeSelectionWidget::CompileEmitSelection(), EditSelection(), and m_Controls.
bool QmitkSingleNodeSelectionWidget::GetAutoSelectNewNodes | ( | ) | const |
Definition at line 221 of file QmitkSingleNodeSelectionWidget.cpp.
References m_AutoSelectNewNodes.
mitk::DataNode::Pointer QmitkSingleNodeSelectionWidget::GetSelectedNode | ( | ) | const |
Definition at line 72 of file QmitkSingleNodeSelectionWidget.cpp.
References QmitkAbstractNodeSelectionWidget::GetCurrentInternalSelection().
Referenced by OnNodeAddedToStorage(), and UpdateInfo().
|
protectedvirtualslot |
Definition at line 62 of file QmitkSingleNodeSelectionWidget.cpp.
References QmitkAbstractNodeSelectionWidget::m_IsOptional, QmitkAbstractNodeSelectionWidget::SetCurrentSelection(), and UpdateInfo().
Referenced by QmitkSingleNodeSelectionWidget().
|
overrideprotectedvirtual |
Method is called when a node is added to the storage. Default implementation does nothing. Derived widgets can override the method if they want to react on new nodes in the storage.
Reimplemented from QmitkAbstractNodeSelectionWidget.
Definition at line 208 of file QmitkSingleNodeSelectionWidget.cpp.
References DetermineAutoSelectNode(), GetSelectedNode(), QmitkAbstractNodeSelectionWidget::HandleChangeOfInternalSelection(), and m_AutoSelectNewNodes.
Referenced by SetAutoSelectNewNodes().
|
overrideprotectedvirtual |
This member function is called if the internal selection is about to be changed by the base implementation. This is the slot where derived classes can revise and change the internal selection before widget updates, signal emissions and other things are triggered. Default implementation does nothing, thus it keeps the passed internal selection as compiled by the base implementation.
Reimplemented from QmitkAbstractNodeSelectionWidget.
Definition at line 41 of file QmitkSingleNodeSelectionWidget.cpp.
References DetermineAutoSelectNode(), and m_AutoSelectNewNodes.
|
slot |
Sets the auto selection mode (Default is false). If auto select is true and the following conditions are fullfilled, the widget will select a node automatically from the data storage:
Definition at line 226 of file QmitkSingleNodeSelectionWidget.cpp.
References m_AutoSelectNewNodes, and OnNodeAddedToStorage().
|
slot |
Definition at line 198 of file QmitkSingleNodeSelectionWidget.cpp.
References QmitkAbstractNodeSelectionWidget::SetCurrentSelection().
|
overrideprotectedvirtual |
Method is called if the display of the selected nodes should be updated (e.g. because the selection changed)
Implements QmitkAbstractNodeSelectionWidget.
Definition at line 142 of file QmitkSingleNodeSelectionWidget.cpp.
References GetSelectedNode(), m_Controls, QmitkAbstractNodeSelectionWidget::m_EmptyInfo, QmitkAbstractNodeSelectionWidget::m_InvalidInfo, and QmitkAbstractNodeSelectionWidget::m_IsOptional.
Referenced by OnClearSelection(), and QmitkSingleNodeSelectionWidget().
|
protected |
See documentation of SetAutoSelectNewNodes for details
Definition at line 75 of file QmitkSingleNodeSelectionWidget.h.
Referenced by GetAutoSelectNewNodes(), OnNodeAddedToStorage(), ReviseSelectionChanged(), and SetAutoSelectNewNodes().
|
protected |
Definition at line 77 of file QmitkSingleNodeSelectionWidget.h.
Referenced by EditSelection(), eventFilter(), QmitkSingleNodeSelectionWidget(), and UpdateInfo().