Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
Manages and coordinates instances of mitk::Tool. More...
#include <mitkToolManager.h>
Public Types | |
typedef std::vector< Tool::Pointer > | ToolVectorType |
typedef std::vector< Tool::ConstPointer > | ToolVectorTypeConst |
typedef std::vector< DataNode * > | DataVectorType |
typedef std::map< DataNode *, unsigned long > | NodeTagMapType |
Public Member Functions | |
mitkClassMacroItkParent (ToolManager, itk::Object) | |
mitkNewMacro1Param (ToolManager, DataStorage *) | |
const ToolVectorTypeConst | GetTools () |
Gives you a list of all tools. This is const on purpose. More... | |
int | GetToolID (const Tool *tool) |
Tool * | GetToolById (int id) |
bool | ActivateTool (int id) |
template<class T > | |
int | GetToolIdByToolType () |
int | GetActiveToolID () |
Tool * | GetActiveTool () |
void | SetReferenceData (DataVectorType) |
void | SetReferenceData (DataNode *) |
void | SetWorkingData (DataVectorType) |
void | SetWorkingData (DataNode *) |
void | SetRoiData (DataVectorType) |
void | SetRoiData (DataNode *) |
DataVectorType | GetReferenceData () |
DataNode * | GetReferenceData (int) |
DataVectorType | GetWorkingData () |
DataNode * | GetWorkingData (unsigned int) |
DataVectorType | GetRoiData () |
DataNode * | GetRoiData (int idx) |
DataStorage * | GetDataStorage () |
void | SetDataStorage (DataStorage &storage) |
void | RegisterClient () |
void | UnregisterClient () |
void | InitializeTools () |
Initialize all classes derived from mitk::Tool by itkObjectFactoy. More... | |
void | OnOneOfTheReferenceDataDeletedConst (const itk::Object *caller, const itk::EventObject &e) |
void | OnOneOfTheReferenceDataDeleted (itk::Object *caller, const itk::EventObject &e) |
void | OnOneOfTheWorkingDataDeletedConst (const itk::Object *caller, const itk::EventObject &e) |
void | OnOneOfTheWorkingDataDeleted (itk::Object *caller, const itk::EventObject &e) |
void | OnOneOfTheRoiDataDeletedConst (const itk::Object *caller, const itk::EventObject &e) |
void | OnOneOfTheRoiDataDeleted (itk::Object *caller, const itk::EventObject &e) |
void | OnToolErrorMessage (std::string s) |
void | OnGeneralToolMessage (std::string s) |
Public Attributes | |
Message | NodePropertiesChanged |
Message | NewNodesGenerated |
Message1< DataVectorType * > | NewNodeObjectsGenerated |
Message | ActiveToolChanged |
Message | ReferenceDataChanged |
Message | WorkingDataChanged |
Message | RoiDataChanged |
Message1< std::string > | ToolErrorMessage |
Message1< std::string > | GeneralToolMessage |
Protected Member Functions | |
ToolManager (DataStorage *storage) | |
~ToolManager () override | |
void | OnNodeRemoved (const mitk::DataNode *node) |
Callback for NodeRemove events. More... | |
Manages and coordinates instances of mitk::Tool.
There is a separate page describing the general design of QmitkSegmentationView: Technical design of QmitkSegmentation
This class creates and manages several instances of mitk::Tool.
Design descisions:
$Author$
Definition at line 82 of file mitkToolManager.h.
typedef std::vector<DataNode *> mitk::ToolManager::DataVectorType |
Definition at line 87 of file mitkToolManager.h.
typedef std::map<DataNode *, unsigned long> mitk::ToolManager::NodeTagMapType |
Definition at line 88 of file mitkToolManager.h.
typedef std::vector<Tool::Pointer> mitk::ToolManager::ToolVectorType |
Definition at line 85 of file mitkToolManager.h.
typedef std::vector<Tool::ConstPointer> mitk::ToolManager::ToolVectorTypeConst |
Definition at line 86 of file mitkToolManager.h.
|
protected |
You may specify a list of tool "groups" that should be available for this ToolManager. Every Tool can report its group as a string. This constructor will try to find the tool's group inside the supplied string. If there is a match, the tool is accepted. Effectively, you can provide a human readable list like "default, lymphnodevolumetry, oldERISstuff".
Definition at line 27 of file mitkToolManager.cpp.
References mitk::CoreObjectFactory::GetInstance(), and InitializeTools().
|
overrideprotected |
Definition at line 35 of file mitkToolManager.cpp.
References ActiveToolChanged, mitk::Tool::Deactivated(), GetDataStorage(), m_ActiveTool, m_ActiveToolID, m_ActiveToolRegistration, m_ReferenceDataObserverTags, m_WorkingData, m_WorkingDataObserverTags, OnNodeRemoved(), mitk::MessageBase< AbstractDelegate >::RemoveListener(), mitk::DataStorage::RemoveNodeEvent, and mitk::Message< A >::Send().
bool mitk::ToolManager::ActivateTool | ( | int | id | ) |
id | The tool to activate. Provide -1 for disabling any tools. Counting starts with 0. Registeres a listner for NodeRemoved event at DataStorage (see mitk::ToolManager::OnNodeRemoved). |
Definition at line 130 of file mitkToolManager.cpp.
References mitk::Tool::Activated(), ActiveToolChanged, mitk::MessageBase< AbstractDelegate >::AddListener(), mitk::Tool::Deactivated(), GetDataStorage(), us::GetModuleContext(), GetReferenceData(), GetToolById(), m_ActiveTool, m_ActiveToolID, m_ActiveToolRegistration, m_RegisteredClients, OnNodeRemoved(), ModuleContext::RegisterService(), mitk::DataStorage::RemoveNodeEvent, and mitk::Message< A >::Send().
Referenced by mitk::BinaryThresholdTool::AcceptCurrentThresholdValue(), mitk::BinaryThresholdULTool::AcceptCurrentThresholdValue(), mitk::PixelManipulationTool::Activated(), mitk::SegmentationsProcessingTool::Activated(), mitk::BinaryThresholdTool::Activated(), mitk::BinaryThresholdULTool::Activated(), mitk::BinaryThresholdTool::CancelThresholding(), mitk::BinaryThresholdULTool::CancelThresholding(), mitk::FastMarchingTool3D::ConfirmSegmentation(), mitk::FastMarchingTool::ConfirmSegmentation(), QmitkSurfaceStampWidget::OnStamp(), QmitkMaskStampWidget::QmitkMaskStampWidget(), QmitkSurfaceStampWidget::QmitkSurfaceStampWidget(), SetWorkingData(), and QmitkLabelSetWidget::UpdateControls().
mitk::Tool * mitk::ToolManager::GetActiveTool | ( | ) |
Definition at line 456 of file mitkToolManager.cpp.
References m_ActiveTool.
int mitk::ToolManager::GetActiveToolID | ( | ) |
Definition at line 451 of file mitkToolManager.cpp.
References m_ActiveToolID.
mitk::DataStorage * mitk::ToolManager::GetDataStorage | ( | ) |
Definition at line 423 of file mitkToolManager.cpp.
References m_DataStorage.
Referenced by mitk::FastMarchingTool3D::Activated(), mitk::FastMarchingTool::Activated(), ActivateTool(), mitk::SegTool2D::AddContourmarker(), mitk::PixelManipulationTool::AddImageToDataStorage(), mitk::PaintbrushTool::CheckIfCurrentSliceHasChanged(), mitk::LiveWireTool2D::ClearSegmentation(), mitk::BinaryThresholdTool::Deactivated(), mitk::BinaryThresholdULTool::Deactivated(), mitk::PaintbrushTool::Deactivated(), mitk::FeedbackContourTool::Deactivated(), mitk::FastMarchingTool3D::Deactivated(), mitk::FastMarchingTool::Deactivated(), mitk::WatershedTool::DoIt(), mitk::PickingTool::GetDataStorage(), mitk::AutoSegmentationTool::GetTargetSegmentationNode(), mitk::PaintbrushTool::OnMousePressed(), mitk::FeedbackContourTool::SetFeedbackContourVisible(), mitk::BinaryThresholdTool::SetupPreviewNode(), mitk::BinaryThresholdULTool::SetupPreviewNode(), mitk::LiveWireTool2D::~LiveWireTool2D(), and ~ToolManager().
mitk::ToolManager::DataVectorType mitk::ToolManager::GetReferenceData | ( | ) |
Definition at line 384 of file mitkToolManager.cpp.
References m_ReferenceData.
Referenced by mitk::PixelManipulationTool::Activated(), mitk::BinaryThresholdTool::Activated(), mitk::BinaryThresholdULTool::Activated(), mitk::FastMarchingTool3D::Activated(), mitk::FastMarchingTool::Activated(), ActivateTool(), mitk::WatershedTool::DoIt(), mitk::SegTool2D::GetAffectedReferenceSlice(), mitk::PickingTool::GetReferenceData(), mitk::AutoSegmentationTool::GetTargetSegmentationNode(), mitk::FastMarchingTool3D::Initialize(), mitk::FastMarchingTool::Initialize(), and mitk::RegionGrowingTool::OnMousePressedOutside().
mitk::DataNode * mitk::ToolManager::GetReferenceData | ( | int | idx | ) |
Definition at line 389 of file mitkToolManager.cpp.
References m_ReferenceData.
mitk::ToolManager::DataVectorType mitk::ToolManager::GetRoiData | ( | ) |
Definition at line 406 of file mitkToolManager.cpp.
References m_RoiData.
Referenced by mitk::PixelManipulationTool::CalculateImage(), mitk::BinaryThresholdTool::OnRoiDataChanged(), and mitk::BinaryThresholdULTool::OnRoiDataChanged().
mitk::DataNode * mitk::ToolManager::GetRoiData | ( | int | idx | ) |
Definition at line 411 of file mitkToolManager.cpp.
References m_RoiData.
mitk::Tool * mitk::ToolManager::GetToolById | ( | int | id | ) |
Definition at line 118 of file mitkToolManager.cpp.
References m_Tools.
Referenced by ActivateTool(), QmitkSurfaceBasedInterpolatorWidget::OnShowMarkers(), and QmitkSurfaceBasedInterpolatorWidget::OnToggleWidgetActivation().
int mitk::ToolManager::GetToolID | ( | const Tool * | tool | ) |
Definition at line 491 of file mitkToolManager.cpp.
References m_Tools.
|
inline |
Definition at line 127 of file mitkToolManager.h.
const mitk::ToolManager::ToolVectorTypeConst mitk::ToolManager::GetTools | ( | ) |
Gives you a list of all tools. This is const on purpose.
Definition at line 106 of file mitkToolManager.cpp.
References m_Tools.
Referenced by QmitkSurfaceBasedInterpolatorWidget::OnShowMarkers(), QmitkSurfaceBasedInterpolatorWidget::OnToggleWidgetActivation(), and QmitkSliceBasedInterpolatorWidget::OnToggleWidgetActivation().
mitk::ToolManager::DataVectorType mitk::ToolManager::GetWorkingData | ( | ) |
Definition at line 401 of file mitkToolManager.cpp.
References m_WorkingData.
Referenced by mitk::FastMarchingTool3D::Activated(), mitk::SegTool2D::AddContourmarker(), mitk::SegmentationInteractor::ChangeActiveLabel(), mitk::PaintbrushTool::CheckIfCurrentSliceHasChanged(), mitk::LiveWireTool2D::ClearSegmentation(), mitk::LiveWireTool2D::ConfirmSegmentation(), mitk::FastMarchingTool::ConfirmSegmentation(), mitk::BinaryThresholdTool::CreateNewSegmentationFromThreshold(), mitk::BinaryThresholdULTool::CreateNewSegmentationFromThreshold(), mitk::SegTool2D::GetAffectedWorkingSlice(), mitk::AutoSegmentationTool::GetCurrentSegmentationName(), mitk::AutoSegmentationTool::GetTargetSegmentationNode(), mitk::PickingTool::GetWorkingData(), mitk::PaintbrushTool::MouseMoved(), mitk::SetRegionTool::OnMousePressed(), mitk::SetRegionTool::OnMouseReleased(), mitk::ContourTool::OnMouseReleased(), mitk::CorrectorTool2D::OnMouseReleased(), mitk::RegionGrowingTool::OnMouseReleased(), mitk::PickingTool::OnPointAdded(), QmitkSurfaceStampWidget::OnStamp(), QmitkMaskStampWidget::OnStamp(), QmitkSurfaceBasedInterpolatorWidget::OnToggleWidgetActivation(), QmitkSliceBasedInterpolatorWidget::OnToggleWidgetActivation(), QmitkSurfaceBasedInterpolatorWidget::OnToolManagerWorkingDataModified(), QmitkSliceBasedInterpolatorWidget::OnToolManagerWorkingDataModified(), mitk::SegmentationsProcessingTool::ProcessAllObjects(), QmitkLabelSetWidget::SetDataStorage(), mitk::FeedbackContourTool::SetFeedbackContourVisible(), mitk::BinaryThresholdTool::SetupPreviewNode(), mitk::BinaryThresholdULTool::SetupPreviewNode(), QmitkLabelSetWidget::UpdateControls(), mitk::SegTool2D::WriteBackSegmentationResult(), and mitk::SegTool2D::WriteSliceToVolume().
mitk::DataNode * mitk::ToolManager::GetWorkingData | ( | unsigned int | idx | ) |
Definition at line 440 of file mitkToolManager.cpp.
References m_WorkingData.
void mitk::ToolManager::InitializeTools | ( | ) |
Initialize all classes derived from mitk::Tool by itkObjectFactoy.
Definition at line 62 of file mitkToolManager.cpp.
References ActiveToolChanged, mitk::Tool::Deactivated(), m_ActiveTool, m_ActiveToolID, m_ActiveToolRegistration, m_Tools, OnGeneralToolMessage(), OnToolErrorMessage(), and mitk::Message< A >::Send().
Referenced by ToolManager().
mitk::ToolManager::mitkClassMacroItkParent | ( | ToolManager | , |
itk::Object | |||
) |
mitk::ToolManager::mitkNewMacro1Param | ( | ToolManager | , |
DataStorage * | |||
) |
void mitk::ToolManager::OnGeneralToolMessage | ( | std::string | s | ) |
Definition at line 101 of file mitkToolManager.cpp.
References GeneralToolMessage.
Referenced by InitializeTools().
|
protected |
Callback for NodeRemove events.
Definition at line 504 of file mitkToolManager.cpp.
References OnOneOfTheReferenceDataDeleted(), OnOneOfTheRoiDataDeleted(), and OnOneOfTheWorkingDataDeleted().
Referenced by ActivateTool(), and ~ToolManager().
void mitk::ToolManager::OnOneOfTheReferenceDataDeleted | ( | itk::Object * | caller, |
const itk::EventObject & | e | ||
) |
Definition at line 219 of file mitkToolManager.cpp.
References m_ReferenceData, m_ReferenceDataObserverTags, and SetReferenceData().
Referenced by OnNodeRemoved(), OnOneOfTheReferenceDataDeletedConst(), and SetReferenceData().
void mitk::ToolManager::OnOneOfTheReferenceDataDeletedConst | ( | const itk::Object * | caller, |
const itk::EventObject & | e | ||
) |
Definition at line 214 of file mitkToolManager.cpp.
References OnOneOfTheReferenceDataDeleted().
Referenced by SetReferenceData().
void mitk::ToolManager::OnOneOfTheRoiDataDeleted | ( | itk::Object * | caller, |
const itk::EventObject & | e | ||
) |
Definition at line 366 of file mitkToolManager.cpp.
References m_RoiData, m_RoiDataObserverTags, and SetRoiData().
Referenced by OnNodeRemoved(), OnOneOfTheRoiDataDeletedConst(), and SetRoiData().
void mitk::ToolManager::OnOneOfTheRoiDataDeletedConst | ( | const itk::Object * | caller, |
const itk::EventObject & | e | ||
) |
Definition at line 361 of file mitkToolManager.cpp.
References OnOneOfTheRoiDataDeleted().
Referenced by SetRoiData().
void mitk::ToolManager::OnOneOfTheWorkingDataDeleted | ( | itk::Object * | caller, |
const itk::EventObject & | e | ||
) |
Definition at line 289 of file mitkToolManager.cpp.
References m_WorkingData, m_WorkingDataObserverTags, and SetWorkingData().
Referenced by OnNodeRemoved(), OnOneOfTheWorkingDataDeletedConst(), and SetWorkingData().
void mitk::ToolManager::OnOneOfTheWorkingDataDeletedConst | ( | const itk::Object * | caller, |
const itk::EventObject & | e | ||
) |
Definition at line 284 of file mitkToolManager.cpp.
References OnOneOfTheWorkingDataDeleted().
Referenced by SetWorkingData().
void mitk::ToolManager::OnToolErrorMessage | ( | std::string | s | ) |
Definition at line 96 of file mitkToolManager.cpp.
References ToolErrorMessage.
Referenced by InitializeTools().
void mitk::ToolManager::RegisterClient | ( | ) |
Definition at line 461 of file mitkToolManager.cpp.
References mitk::Tool::Activated(), us::GetModuleContext(), m_ActiveTool, m_ActiveToolRegistration, m_RegisteredClients, and ModuleContext::RegisterService().
void mitk::ToolManager::SetDataStorage | ( | DataStorage & | storage | ) |
Definition at line 435 of file mitkToolManager.cpp.
References m_DataStorage.
void mitk::ToolManager::SetReferenceData | ( | DataVectorType | data | ) |
Definition at line 182 of file mitkToolManager.cpp.
References m_ReferenceData, m_ReferenceDataObserverTags, OnOneOfTheReferenceDataDeleted(), OnOneOfTheReferenceDataDeletedConst(), ReferenceDataChanged, and mitk::Message< A >::Send().
Referenced by OnOneOfTheReferenceDataDeleted(), and SetReferenceData().
void mitk::ToolManager::SetReferenceData | ( | DataNode * | data | ) |
Definition at line 237 of file mitkToolManager.cpp.
References SetReferenceData().
void mitk::ToolManager::SetRoiData | ( | DataVectorType | data | ) |
Definition at line 319 of file mitkToolManager.cpp.
References m_RoiData, m_RoiDataObserverTags, OnOneOfTheRoiDataDeleted(), OnOneOfTheRoiDataDeletedConst(), RoiDataChanged, and mitk::Message< A >::Send().
Referenced by OnOneOfTheRoiDataDeleted(), and SetRoiData().
void mitk::ToolManager::SetRoiData | ( | DataNode * | data | ) |
Definition at line 350 of file mitkToolManager.cpp.
References SetRoiData().
void mitk::ToolManager::SetWorkingData | ( | DataVectorType | data | ) |
Definition at line 247 of file mitkToolManager.cpp.
References ActivateTool(), m_WorkingData, m_WorkingDataObserverTags, OnOneOfTheWorkingDataDeleted(), OnOneOfTheWorkingDataDeletedConst(), mitk::Message< A >::Send(), and WorkingDataChanged.
Referenced by mitk::BinaryThresholdTool::CreateNewSegmentationFromThreshold(), mitk::BinaryThresholdULTool::CreateNewSegmentationFromThreshold(), OnOneOfTheWorkingDataDeleted(), and SetWorkingData().
void mitk::ToolManager::SetWorkingData | ( | DataNode * | data | ) |
Definition at line 307 of file mitkToolManager.cpp.
References SetWorkingData().
void mitk::ToolManager::UnregisterClient | ( | ) |
Definition at line 475 of file mitkToolManager.cpp.
References mitk::Tool::Deactivated(), m_ActiveTool, m_ActiveToolRegistration, and m_RegisteredClients.
Message mitk::ToolManager::ActiveToolChanged |
Definition at line 94 of file mitkToolManager.h.
Referenced by ActivateTool(), InitializeTools(), and ~ToolManager().
Message1<std::string> mitk::ToolManager::GeneralToolMessage |
Definition at line 100 of file mitkToolManager.h.
Referenced by OnGeneralToolMessage().
|
protected |
Definition at line 261 of file mitkToolManager.h.
Referenced by ActivateTool(), GetActiveTool(), InitializeTools(), RegisterClient(), UnregisterClient(), and ~ToolManager().
|
protected |
Definition at line 262 of file mitkToolManager.h.
Referenced by ActivateTool(), GetActiveToolID(), InitializeTools(), and ~ToolManager().
|
protected |
Definition at line 263 of file mitkToolManager.h.
Referenced by ActivateTool(), InitializeTools(), RegisterClient(), UnregisterClient(), and ~ToolManager().
|
protected |
Definition at line 276 of file mitkToolManager.h.
Referenced by GetDataStorage(), and SetDataStorage().
|
protected |
Definition at line 265 of file mitkToolManager.h.
Referenced by GetReferenceData(), OnOneOfTheReferenceDataDeleted(), and SetReferenceData().
|
protected |
Definition at line 266 of file mitkToolManager.h.
Referenced by OnOneOfTheReferenceDataDeleted(), SetReferenceData(), and ~ToolManager().
|
protected |
Definition at line 274 of file mitkToolManager.h.
Referenced by ActivateTool(), RegisterClient(), and UnregisterClient().
|
protected |
Definition at line 271 of file mitkToolManager.h.
Referenced by GetRoiData(), OnOneOfTheRoiDataDeleted(), and SetRoiData().
|
protected |
Definition at line 272 of file mitkToolManager.h.
Referenced by OnOneOfTheRoiDataDeleted(), and SetRoiData().
|
protected |
Definition at line 259 of file mitkToolManager.h.
Referenced by GetToolById(), GetToolID(), GetTools(), and InitializeTools().
|
protected |
Definition at line 268 of file mitkToolManager.h.
Referenced by GetWorkingData(), OnOneOfTheWorkingDataDeleted(), SetWorkingData(), and ~ToolManager().
|
protected |
Definition at line 269 of file mitkToolManager.h.
Referenced by OnOneOfTheWorkingDataDeleted(), SetWorkingData(), and ~ToolManager().
Message1<DataVectorType *> mitk::ToolManager::NewNodeObjectsGenerated |
Definition at line 92 of file mitkToolManager.h.
Message mitk::ToolManager::NewNodesGenerated |
Definition at line 91 of file mitkToolManager.h.
Message mitk::ToolManager::NodePropertiesChanged |
Definition at line 90 of file mitkToolManager.h.
Message mitk::ToolManager::ReferenceDataChanged |
Definition at line 95 of file mitkToolManager.h.
Referenced by SetReferenceData().
Message mitk::ToolManager::RoiDataChanged |
Definition at line 97 of file mitkToolManager.h.
Referenced by mitk::PixelManipulationTool::Activated(), mitk::BinaryThresholdTool::Activated(), mitk::BinaryThresholdULTool::Activated(), mitk::PixelManipulationTool::Deactivated(), mitk::BinaryThresholdTool::Deactivated(), mitk::BinaryThresholdULTool::Deactivated(), and SetRoiData().
Message1<std::string> mitk::ToolManager::ToolErrorMessage |
Definition at line 99 of file mitkToolManager.h.
Referenced by OnToolErrorMessage().
Message mitk::ToolManager::WorkingDataChanged |
Definition at line 96 of file mitkToolManager.h.
Referenced by mitk::PaintbrushTool::Activated(), mitk::PaintbrushTool::Deactivated(), QmitkSliceBasedInterpolatorWidget::QmitkSliceBasedInterpolatorWidget(), QmitkSurfaceBasedInterpolatorWidget::QmitkSurfaceBasedInterpolatorWidget(), QmitkLabelSetWidget::SetDataStorage(), SetWorkingData(), QmitkSliceBasedInterpolatorWidget::~QmitkSliceBasedInterpolatorWidget(), and QmitkSurfaceBasedInterpolatorWidget::~QmitkSurfaceBasedInterpolatorWidget().