diff --git a/Modules/Segmentation/Controllers/mitkToolManagerProvider.h b/Modules/Segmentation/Controllers/mitkToolManagerProvider.h index 92ebaf7de4..612d2d6696 100644 --- a/Modules/Segmentation/Controllers/mitkToolManagerProvider.h +++ b/Modules/Segmentation/Controllers/mitkToolManagerProvider.h @@ -1,77 +1,78 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #ifndef MITK_TOOLMANAGERPROVIDER_H #define MITK_TOOLMANAGERPROVIDER_H #include "SegmentationExports.h" #include #include #include "mitkToolManager.h" #include #include -//class SegmentationModuleActivator; + namespace mitk { + class SegmentationModuleActivator; /** \brief Micro Service Singleton to get an instance of mitk::ToolManager \sa ToolManager Implemented as a singleton to have implicitely only one instance of ToolManager. Use this service to make sure your Tools are managed by the object. \note Can only be instantiated by SegmentationModuleActivator. The common way to get the ToolManager is by mitk::ToolManager* toolManager = mitk::ToolManagerProvider::GetInstance()->GetToolManager(); */ class Segmentation_EXPORT ToolManagerProvider : public itk::LightObject { public: mitkClassMacro(ToolManagerProvider, itk::LightObject); - itkNewMacro(ToolManagerProvider); + //itkNewMacro(ToolManagerProvider); /** \brief Returns ToolManager object \note As this service is implemented as a singleton there is always the same ToolManager instance returned. */ virtual mitk::ToolManager* GetToolManager(); /** \brief Returns an instance of ToolManagerProvider service */ static mitk::ToolManagerProvider* GetInstance(); //ONLY SegmentationModuleActivator is able to create instances of the service - //friend class SegmentationModuleActivator; + friend class mitk::SegmentationModuleActivator; protected: //mitkClassMacro(ToolManagerProvider, itk::LightObject); - //itkNewMacro(Self); + itkNewMacro(ToolManagerProvider); ToolManagerProvider(); virtual ~ToolManagerProvider(); ToolManagerProvider(const ToolManagerProvider&); ToolManagerProvider& operator=(const ToolManagerProvider&); mitk::ToolManager::Pointer m_ToolManager; }; } US_DECLARE_SERVICE_INTERFACE(mitk::ToolManagerProvider, "org.mitk.services.ToolManagerProvider") #endif diff --git a/Modules/Segmentation/Testing/mitkToolManagerProviderTest.cpp b/Modules/Segmentation/Testing/mitkToolManagerProviderTest.cpp index 4b96632770..4fe1f6063f 100644 --- a/Modules/Segmentation/Testing/mitkToolManagerProviderTest.cpp +++ b/Modules/Segmentation/Testing/mitkToolManagerProviderTest.cpp @@ -1,48 +1,39 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #include "mitkTestingMacros.h" #include "mitkToolManagerProvider.h" #include "itkLightObject.h" #include #include "mitkModuleContext.h" #include "mitkServiceReference.h" #include "mitkGlobalInteraction.h" -class mitkToolManagerProviderTestClass { -public: - static void RegisterService(){ - mitk::GetModuleContext()->RegisterService(mitk::ToolManagerProvider::New().GetPointer()); - } - -}; int mitkToolManagerProviderTest(int, char* []) { MITK_TEST_BEGIN("ToolManagerProvider") - mitkToolManagerProviderTestClass::RegisterService(); + //at this point the service is already registered by loading the Segmentation module. mitk::ToolManagerProvider* service = mitk::ToolManagerProvider::GetInstance(); - - MITK_TEST_CONDITION(service!=NULL,"Service was succesfully called"); MITK_TEST_CONDITION((service->GetToolManager()) == (mitk::ToolManagerProvider::GetInstance()->GetToolManager()), "Service singleton"); MITK_TEST_END() }