diff --git a/Core/Code/Interactions/StateMachine.xml b/Core/Code/Interactions/StateMachine.xml index 9fa0ced49c..1b1101895e 100644 --- a/Core/Code/Interactions/StateMachine.xml +++ b/Core/Code/Interactions/StateMachine.xml @@ -1,3689 +1,3678 @@  - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - + + - + - - + + + - + + + + + - + + diff --git a/Core/Code/Interactions/mitkNodeDepententPointSetInteractor.cpp b/Core/Code/Interactions/mitkNodeDepententPointSetInteractor.cpp new file mode 100644 index 0000000000..5fb8a11afb --- /dev/null +++ b/Core/Code/Interactions/mitkNodeDepententPointSetInteractor.cpp @@ -0,0 +1,54 @@ +/*========================================================================= + +Program: Medical Imaging & Interaction Toolkit +Language: C++ +Date: $Date: 2010-09-14 09:48:51 +0200 (Di, 14 Sep 2010) $ +Version: $Revision: 26074 $ + +Copyright (c) German Cancer Research Center, Division of Medical and +Biological Informatics. All rights reserved. +See MITKCopyright.txt or http://www.mitk.org/copyright.html for details. + +This software is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ + + +#include "mitkNodeDepententPointSetInteractor.h" +#include "mitkStateEvent.h" +#include "mitkEvent.h" + +mitk::NodeDepententPointSetInteractor +::NodeDepententPointSetInteractor(const char * type, DataNode* dataNode, DataNode* dependentDataNode, int n) +:PointSetInteractor(type, dataNode, n), m_DependentDataNode(dependentDataNode) +{ +} + +mitk::NodeDepententPointSetInteractor::~NodeDepententPointSetInteractor() +{ +} + +float mitk::NodeDepententPointSetInteractor::CanHandleEvent(StateEvent const* stateEvent) const +{ + if (m_DependentDataNode.IsNull()) + return 0; + + // use sender to check if the specified dependentDataNode is visible there + mitk::BaseRenderer* sender = stateEvent->GetEvent()->GetSender(); + if (sender == NULL) + return 0; + + bool value = false; + + if ( m_DependentDataNode->GetPropertyList(sender)->GetBoolProperty("visible", value) == false)//property doesn't exist + return 0; + if (value == false) //the dependent node is invisible + return 0; + + //ok, it is visible, so check the standard way. + return Superclass::CanHandleEvent(stateEvent); +} + + diff --git a/Core/Code/Interactions/mitkNodeDepententPointSetInteractor.h b/Core/Code/Interactions/mitkNodeDepententPointSetInteractor.h new file mode 100644 index 0000000000..9dc8a2ecbb --- /dev/null +++ b/Core/Code/Interactions/mitkNodeDepententPointSetInteractor.h @@ -0,0 +1,78 @@ +/*========================================================================= + +Program: Medical Imaging & Interaction Toolkit +Language: C++ +Date: $Date: 2010-10-04 14:49:09 +0200 (Mo, 04 Okt 2010) $ +Version: $Revision: 26576 $ + +Copyright (c) German Cancer Research Center, Division of Medical and +Biological Informatics. All rights reserved. +See MITKCopyright.txt or http://www.mitk.org/copyright.html for details. + +This software is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ + + +#ifndef MITKNodeDepententPointSetInteractor_H_HEADER_INCLUDED +#define MITKNodeDepententPointSetInteractor_H_HEADER_INCLUDED + +#include "mitkCommon.h" +#include "mitkVector.h" +#include +#include +#include + + +namespace mitk +{ + + /** + * \brief PointSetInteraction that is dependent on the visibility property of a data node. + * + * The interactor checks if the renderwindow specific property "visible" of a different node (e.g. image) + * specified by @param dependentDataNode is true. The specific renderwindow is specified by the sender of the event. + * If the property is true the the object behaves as described by PointSetInteractor. + * If not, interaction is blocked. + * + * This class shows how to write an interactor, that is dependent on a special property of the associated node. + * See bug #6047 for further information and a patch to test this class embedded in tutorial Step 5. + * \ingroup Interaction + */ + class MITK_CORE_EXPORT NodeDepententPointSetInteractor : public PointSetInteractor + { + public: + mitkClassMacro(NodeDepententPointSetInteractor, PointSetInteractor); + mitkNewMacro4Param(Self, const char*, DataNode*, DataNode*, int); + mitkNewMacro3Param(Self, const char*, DataNode*, DataNode*); + + /** + * \brief Checks visibility of the specified node (e.g. image), + * returns 0 if node is not visible in sending render window + * If Sender within stateEvent is NULL a value of 0 is returned. + */ + virtual float CanHandleEvent(StateEvent const* stateEvent) const; + + protected: + /** + * \brief Constructor with Param n for limited Set of Points + * + * If no n is set, then the number of points is unlimited + * n=0 is not supported. In this case, n is set to 1. + */ + NodeDepententPointSetInteractor(const char * type, DataNode* dataNode, DataNode* dependentDataNode, int n = -1); + + /** + * \brief Default Destructor + **/ + virtual ~NodeDepententPointSetInteractor(); + + public: + + mitk::DataNode::Pointer m_DependentDataNode; + + }; +} +#endif /* MITKNodeDepententPointSetInteractor_H_HEADER_INCLUDED */ diff --git a/Core/Code/Testing/files.cmake b/Core/Code/Testing/files.cmake index 863a26d197..69c61b54b2 100644 --- a/Core/Code/Testing/files.cmake +++ b/Core/Code/Testing/files.cmake @@ -1,90 +1,91 @@ # tests with no extra command line parameter SET(MODULE_TESTS mitkCoreObjectFactoryTest.cpp mitkPointSetWriterTest.cpp mitkMaterialTest.cpp mitkDataNodeTest.cpp mitkActionTest.cpp mitkDataStorageTest.cpp mitkEnumerationPropertyTest.cpp mitkEventMapperTest.cpp mitkEventTest.cpp mitkFocusManagerTest.cpp mitkGenericPropertyTest.cpp mitkGeometry3DTest.cpp mitkGeometryDataToSurfaceFilterTest.cpp mitkGlobalInteractionTest.cpp mitkImageDataItemTest.cpp #mitkImageMapper2DTest.cpp mitkImageTest.cpp mitkBaseDataTest.cpp #mitkImageToItkTest.cpp mitkInteractorTest.cpp mitkITKThreadingTest.cpp # mitkLevelWindowManagerTest.cpp mitkLevelWindowTest.cpp mitkMessageTest.cpp #mitkPipelineSmartPointerCorrectnessTest.cpp mitkPixelTypeTest.cpp mitkPlaneGeometryTest.cpp mitkPointSetFileIOTest.cpp mitkPointSetTest.cpp mitkPointSetInteractorTest.cpp + mitkNodeDependentPointSetInteractorTest.cpp mitkPropertyListTest.cpp #mitkRegistrationBaseTest.cpp #mitkSegmentationInterpolationTest.cpp mitkSlicedGeometry3DTest.cpp mitkSliceNavigationControllerTest.cpp mitkStateMachineTest.cpp mitkStateMachineFactoryTest.cpp mitkStateTest.cpp mitkSurfaceTest.cpp mitkSurfaceToSurfaceFilterTest.cpp mitkTimeSlicedGeometryTest.cpp mitkTransitionTest.cpp mitkUndoControllerTest.cpp mitkVtkWidgetRenderingTest.cpp mitkVerboseLimitedLinearUndoTest.cpp mitkWeakPointerTest.cpp mitkTransferFunctionTest.cpp #mitkAbstractTransformGeometryTest.cpp #mitkPicFileIOTest.cpp mitkStepperTest.cpp itkTotalVariationDenoisingImageFilterTest.cpp mitkDICOMLocaleTest.cpp mitkPointSetLocaleTest.cpp mitkRenderingManagerTest.cpp vtkMitkThickSlicesFilterTest.cpp mitkNodePredicateSourceTest.cpp ) # test with image filename as an extra command line parameter SET(MODULE_IMAGE_TESTS mitkSurfaceVtkWriterTest.cpp mitkPicFileWriterTest.cpp mitkImageWriterTest.cpp #mitkImageSliceSelectorTest.cpp mitkImageTimeSelectorTest.cpp mitkPicFileReaderTest.cpp # mitkVtkPropRendererTest.cpp mitkDataNodeFactoryTest.cpp #mitkSTLFileReaderTest.cpp ) # list of images for which the tests are run SET(MODULE_TESTIMAGES US4DCyl.pic.gz Pic3D.pic.gz Pic2DplusT.pic.gz BallBinary30x30x30.pic.gz binary.stl ball.stl ) SET(MODULE_CUSTOM_TESTS #mitkLabeledImageToSurfaceFilterTest.cpp #mitkExternalToolsTest.cpp mitkDicomSeriesReaderTest.cpp ) diff --git a/Core/Code/Testing/mitkNodeDependentPointSetInteractorTest.cpp b/Core/Code/Testing/mitkNodeDependentPointSetInteractorTest.cpp new file mode 100644 index 0000000000..8042c3a0fe --- /dev/null +++ b/Core/Code/Testing/mitkNodeDependentPointSetInteractorTest.cpp @@ -0,0 +1,203 @@ +/*========================================================================= + +Program: Medical Imaging & Interaction Toolkit +Language: C++ +Date: $Date: 2010-05-03 12:55:29 +0200 (Mo, 03 Mai 2010) $ +Version: $Revision: 22655 $ + +Copyright (c) German Cancer Research Center, Division of Medical and +Biological Informatics. All rights reserved. +See MITKCopyright.txt or http://www.mitk.org/copyright.html for details. + +This software is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ + + +#include "mitkNodeDepententPointSetInteractor.h" +#include "mitkPointSet.h" +#include "mitkPositionEvent.h" +#include "mitkVtkPropRenderer.h" +#include "mitkStateEvent.h" +#include "mitkInteractionConst.h" +#include "mitkGlobalInteraction.h" +#include "mitkPointOperation.h" +#include "mitkTestingMacros.h" +#include "mitkStandaloneDataStorage.h" +#include "mitkDataNodeFactory.h" +#include "mitkStandardFileLocations.h" +#include "mitkNodePredicateDataType.h" + +void SendPositionEvent(mitk::BaseRenderer* sender, int type, int button, int buttonState, int key, const mitk::Point2D& displPosition, const mitk::Point3D& worldPosition) +{ + mitk::Event *posEvent = new mitk::PositionEvent(sender, type, button, buttonState, key, displPosition, worldPosition); + mitk::GlobalInteraction::GetInstance()->GetEventMapper()->MapEvent(posEvent); + delete posEvent; +} + +//test related to tutorial Step5.cpp +int mitkNodeDependentPointSetInteractorTest(int /*argc*/, char* /*argv*/[]) +{ + MITK_TEST_BEGIN("NodeDependentPointSetInteractor"); + + // Global interaction must(!) be initialized if used + mitk::GlobalInteraction::GetInstance()->Initialize("global"); + + // Create a DataStorage + mitk::StandaloneDataStorage::Pointer ds = mitk::StandaloneDataStorage::New(); + MITK_TEST_CONDITION_REQUIRED(ds.IsNotNull(),"Instantiating DataStorage"); + + //read two images and store to datastorage + //these two images are used as node the interactors depend on. If the visibility property of one node if false, the + //associated interactor may not change the data + mitk::DataNode::Pointer node1, node2; + mitk::DataNodeFactory::Pointer nodeReader = mitk::DataNodeFactory::New(); + mitk::StandardFileLocations::Pointer locator = mitk::StandardFileLocations::GetInstance(); + MITK_TEST_CONDITION_REQUIRED(locator.IsNotNull(),"Instantiating StandardFileLocations"); + + try + { + //file 1 + const std::string filename1 = locator->FindFile("Pic3D.pic.gz", "Core/Code/Testing/Data"); + nodeReader->SetFileName(filename1); + nodeReader->Update(); + node1 = nodeReader->GetOutput(); + ds->Add(node1); + + //file 2 + const std::string filename2 = locator->FindFile("BallBinary30x30x30.pic.gz", "Core/Code/Testing/Data"); + nodeReader->SetFileName(filename2); + nodeReader->Update(); + node2 = nodeReader->GetOutput(); + ds->Add(node2); + } + catch(...) { + MITK_TEST_FAILED_MSG(<< "Could not read file for testing"); + return NULL; + } + + //check for the two images + mitk::NodePredicateDataType::Pointer predicate(mitk::NodePredicateDataType::New("Image")); + mitk::DataStorage::SetOfObjects::ConstPointer allImagesInDS = ds->GetSubset(predicate); + MITK_TEST_CONDITION_REQUIRED(allImagesInDS->Size()==2,"load images to data storage"); + + // Create PointSet and a node for it + mitk::PointSet::Pointer pointSet1 = mitk::PointSet::New(); + mitk::DataNode::Pointer pointSetNode1 = mitk::DataNode::New(); + pointSetNode1->AddProperty( "unselectedcolor", mitk::ColorProperty::New(0.0f, 1.0f, 0.0f)); + pointSetNode1->SetData(pointSet1); + mitk::NodeDepententPointSetInteractor::Pointer interactor1 = mitk::NodeDepententPointSetInteractor::New("pointsetinteractor", pointSetNode1, node1); + MITK_TEST_CONDITION_REQUIRED(interactor1.IsNotNull(),"Instanciating NodeDependentPointSetInteractor"); + // Add the node to the tree + ds->Add(pointSetNode1); + mitk::GlobalInteraction::GetInstance()->AddInteractor(interactor1); + + mitk::PointSet::Pointer pointSet2 = mitk::PointSet::New(); + mitk::DataNode::Pointer pointSetNode2 = mitk::DataNode::New(); + pointSetNode2->AddProperty( "unselectedcolor", mitk::ColorProperty::New(0.0f, 0.0f, 1.0f)); + pointSetNode2->SetData(pointSet2); + mitk::NodeDepententPointSetInteractor::Pointer interactor2 = mitk::NodeDepententPointSetInteractor::New("pointsetinteractor", pointSetNode2, node2); + MITK_TEST_CONDITION_REQUIRED(interactor2.IsNotNull(),"Instanciating NodeDependentPointSetInteractor"); + // Add the node to the tree + ds->Add(pointSetNode2); + mitk::GlobalInteraction::GetInstance()->AddInteractor(interactor2); + + //check for the two pointsets + mitk::NodePredicateDataType::Pointer predicatePS(mitk::NodePredicateDataType::New("PointSet")); + mitk::DataStorage::SetOfObjects::ConstPointer allImagesInDSPS = ds->GetSubset(predicatePS); + MITK_TEST_CONDITION_REQUIRED(allImagesInDSPS->Size()==2,"create associated pointsets to data storage"); + + //create two RenderWindows + mitk::RenderingManager::Pointer myRenderingManager = mitk::RenderingManager::New(); + vtkRenderWindow* vtkRenWin1 = vtkRenderWindow::New(); + mitk::VtkPropRenderer::Pointer br1 = mitk::VtkPropRenderer::New("testingBR", vtkRenWin1, myRenderingManager); + mitk::BaseRenderer::AddInstance(vtkRenWin1,br1); + myRenderingManager->AddRenderWindow(vtkRenWin1); + mitk::BaseRenderer::Pointer renderer1 = mitk::BaseRenderer::GetInstance(vtkRenWin1); + + vtkRenderWindow* vtkRenWin2 = vtkRenderWindow::New(); + mitk::VtkPropRenderer::Pointer br2 = mitk::VtkPropRenderer::New("testingBR", vtkRenWin2, myRenderingManager); + mitk::BaseRenderer::AddInstance(vtkRenWin2,br2); + myRenderingManager->AddRenderWindow(vtkRenWin2); + mitk::BaseRenderer::Pointer renderer2 = mitk::BaseRenderer::GetInstance(vtkRenWin2); + + //set properties for renderWindow 1 and 2 + //1: + node1->SetBoolProperty("visible", true, renderer1); + node2->SetBoolProperty("visible", false, renderer1); + //2: + node1->SetBoolProperty("visible", false, renderer2); + node2->SetBoolProperty("visible", true, renderer2); + + + //*************************************************** + //now start to test if only an event send from renderwindow 1 can interact with interactor 1 and vice versa + + MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==0,"Checking empty pointset 1"); + MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==0,"Checking empty pointset 2."); + + //sending an event to interactor1 + mitk::Point3D pos3D; + mitk::Point2D pos2D; + pos3D[0]= 10.0; pos3D[1]= 20.0; pos3D[2]= 30.0; + pos2D[0]= 100; pos2D[0]= 200; + + //add to pointset 1 + SendPositionEvent(renderer1, mitk::Type_MouseButtonPress, mitk::BS_LeftButton, mitk::BS_ShiftButton, mitk::Key_none, pos2D, pos3D); + MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==1,"1 Checking addition of point to pointset 1"); + MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==0,"2 Checking empty pointset 2"); + + //add to pointset 2 + SendPositionEvent(renderer2, mitk::Type_MouseButtonPress, mitk::BS_LeftButton, mitk::BS_ShiftButton, mitk::Key_none, pos2D, pos3D); + MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==1,"3 Checking untouched state of pointset 1"); + MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==1,"4 Checking addition of point to pointset 2"); + + //add to pointset 2 + SendPositionEvent(renderer2, mitk::Type_MouseButtonPress, mitk::BS_LeftButton, mitk::BS_ShiftButton, mitk::Key_none, pos2D, pos3D); + MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==1,"5 Checking untouched state of pointset 1"); + MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==2,"6 Checking addition of point to pointset 2"); + + //add to pointset 2 + SendPositionEvent(renderer2, mitk::Type_MouseButtonPress, mitk::BS_LeftButton, mitk::BS_ShiftButton, mitk::Key_none, pos2D, pos3D); + MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==1,"7 Checking untouched state of pointset 1"); + MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==3,"8 Checking addition of point to pointset 2"); + + //add to pointset 1 + SendPositionEvent(renderer1, mitk::Type_MouseButtonPress, mitk::BS_LeftButton, mitk::BS_ShiftButton, mitk::Key_none, pos2D, pos3D); + MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==2,"9 Checking addition of point to pointset 1"); + MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==3,"10 Checking untouched state of pointset 2"); + + //trying to delete points + mitk::Event* delEvent1 = new mitk::Event(renderer1, mitk::Type_KeyPress, mitk::BS_NoButton, mitk::BS_NoButton, mitk::Key_Delete); + mitk::Event* delEvent2 = new mitk::Event(renderer2, mitk::Type_KeyPress, mitk::BS_NoButton, mitk::BS_NoButton, mitk::Key_Delete); + + mitk::GlobalInteraction::GetInstance()->GetEventMapper()->MapEvent(delEvent2); + MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==2,"11 Checking untouched state of pointset 1"); + MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==2,"12 Checking detected point in pointset 2"); + + mitk::GlobalInteraction::GetInstance()->GetEventMapper()->MapEvent(delEvent1); + MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==1,"11 Checking deleted point in pointset 1"); + MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==2,"12 Checking untouched state of pointset 2"); + + mitk::GlobalInteraction::GetInstance()->GetEventMapper()->MapEvent(delEvent2); + MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==1,"13 Checking untouched state of pointset 1"); + MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==1,"14 Checking detected point in pointset 2"); + + mitk::GlobalInteraction::GetInstance()->RemoveInteractor(interactor1); + mitk::GlobalInteraction::GetInstance()->RemoveInteractor(interactor2); + delete delEvent1; + delete delEvent2; + + myRenderingManager->RemoveRenderWindow(vtkRenWin1); + myRenderingManager->RemoveRenderWindow(vtkRenWin2); + vtkRenWin1->Delete(); + vtkRenWin2->Delete(); + + //destroy RenderingManager + myRenderingManager = NULL; + + + MITK_TEST_END() +} diff --git a/Core/Code/files.cmake b/Core/Code/files.cmake index a4e46c9216..6784c9cc9e 100644 --- a/Core/Code/files.cmake +++ b/Core/Code/files.cmake @@ -1,224 +1,225 @@ SET(H_FILES Algorithms/itkLocalVariationImageFilter.h Algorithms/itkTotalVariationDenoisingImageFilter.h Algorithms/itkTotalVariationSingleIterationImageFilter.h DataManagement/mitkCommon.h Interactions/mitkEventMapperAddOn.h ) SET(CPP_FILES Algorithms/mitkBaseDataSource.cpp Algorithms/mitkBaseProcess.cpp Algorithms/mitkCoreObjectFactoryBase.cpp Algorithms/mitkCoreObjectFactory.cpp Algorithms/mitkDataNodeFactory.cpp Algorithms/mitkDataNodeSource.cpp Algorithms/mitkGeometry2DDataToSurfaceFilter.cpp Algorithms/mitkHistogramGenerator.cpp Algorithms/mitkImageCaster.cpp Algorithms/mitkImageCastPart1.cpp Algorithms/mitkImageCastPart2.cpp Algorithms/mitkImageCastPart3.cpp Algorithms/mitkImageCastPart4.cpp Algorithms/mitkImageChannelSelector.cpp Algorithms/mitkImageSliceSelector.cpp Algorithms/mitkImageSource.cpp Algorithms/mitkImageTimeSelector.cpp Algorithms/mitkImageToImageFilter.cpp Algorithms/mitkPointSetSource.cpp Algorithms/mitkPointSetToPointSetFilter.cpp Algorithms/mitkRGBToRGBACastImageFilter.cpp Algorithms/mitkSubImageSelector.cpp Algorithms/mitkSurfaceSource.cpp Algorithms/mitkSurfaceToSurfaceFilter.cpp Algorithms/mitkUIDGenerator.cpp Algorithms/mitkVolumeCalculator.cpp Controllers/mitkBaseController.cpp Controllers/mitkCallbackFromGUIThread.cpp Controllers/mitkCameraController.cpp Controllers/mitkCameraRotationController.cpp Controllers/mitkFocusManager.cpp Controllers/mitkLimitedLinearUndo.cpp Controllers/mitkOperationEvent.cpp Controllers/mitkProgressBar.cpp Controllers/mitkRenderingManager.cpp Controllers/mitkSliceNavigationController.cpp Controllers/mitkSlicesCoordinator.cpp Controllers/mitkSlicesRotator.cpp Controllers/mitkSlicesSwiveller.cpp Controllers/mitkStatusBar.cpp Controllers/mitkStepper.cpp Controllers/mitkTestManager.cpp Controllers/mitkUndoController.cpp Controllers/mitkVerboseLimitedLinearUndo.cpp Controllers/mitkVtkInteractorCameraController.cpp Controllers/mitkVtkLayerController.cpp DataManagement/mitkAbstractTransformGeometry.cpp DataManagement/mitkAnnotationProperty.cpp DataManagement/mitkApplicationCursor.cpp DataManagement/mitkBaseData.cpp DataManagement/mitkBaseProperty.cpp DataManagement/mitkClippingProperty.cpp DataManagement/mitkColorProperty.cpp DataManagement/mitkDataStorage.cpp #DataManagement/mitkDataTree.cpp DataManagement/mitkDataNode.cpp #DataManagement/mitkDataTreeStorage.cpp DataManagement/mitkDisplayGeometry.cpp DataManagement/mitkEnumerationProperty.cpp DataManagement/mitkGeometry2D.cpp DataManagement/mitkGeometry2DData.cpp DataManagement/mitkGeometry3D.cpp DataManagement/mitkGeometryData.cpp DataManagement/mitkGroupTagProperty.cpp DataManagement/mitkImage.cpp DataManagement/mitkImageDataItem.cpp DataManagement/mitkLandmarkBasedCurvedGeometry.cpp DataManagement/mitkLandmarkProjectorBasedCurvedGeometry.cpp DataManagement/mitkLandmarkProjector.cpp DataManagement/mitkLevelWindow.cpp DataManagement/mitkLevelWindowManager.cpp DataManagement/mitkLevelWindowPreset.cpp DataManagement/mitkLevelWindowProperty.cpp DataManagement/mitkLookupTable.cpp DataManagement/mitkLookupTables.cpp # specializations of GenericLookupTable DataManagement/mitkMemoryUtilities.cpp DataManagement/mitkModalityProperty.cpp DataManagement/mitkModeOperation.cpp DataManagement/mitkNodePredicateAnd.cpp DataManagement/mitkNodePredicateBase.cpp DataManagement/mitkNodePredicateCompositeBase.cpp DataManagement/mitkNodePredicateData.cpp DataManagement/mitkNodePredicateDataType.cpp DataManagement/mitkNodePredicateDimension.cpp DataManagement/mitkNodePredicateFirstLevel.cpp DataManagement/mitkNodePredicateNot.cpp DataManagement/mitkNodePredicateOr.cpp DataManagement/mitkNodePredicateProperty.cpp DataManagement/mitkNodePredicateSource.cpp DataManagement/mitkPlaneOrientationProperty.cpp DataManagement/mitkPlaneGeometry.cpp DataManagement/mitkPlaneOperation.cpp DataManagement/mitkPointOperation.cpp DataManagement/mitkPointSet.cpp DataManagement/mitkProperties.cpp DataManagement/mitkPropertyList.cpp DataManagement/mitkRotationOperation.cpp DataManagement/mitkSlicedData.cpp DataManagement/mitkSlicedGeometry3D.cpp DataManagement/mitkSmartPointerProperty.cpp DataManagement/mitkStandaloneDataStorage.cpp DataManagement/mitkStateTransitionOperation.cpp DataManagement/mitkStringProperty.cpp DataManagement/mitkSurface.cpp DataManagement/mitkSurfaceOperation.cpp DataManagement/mitkThinPlateSplineCurvedGeometry.cpp DataManagement/mitkTimeSlicedGeometry.cpp DataManagement/mitkTransferFunction.cpp DataManagement/mitkTransferFunctionInitializer.cpp DataManagement/mitkVector.cpp DataManagement/mitkVtkInterpolationProperty.cpp DataManagement/mitkVtkRepresentationProperty.cpp DataManagement/mitkVtkResliceInterpolationProperty.cpp DataManagement/mitkVtkScalarModeProperty.cpp DataManagement/mitkVtkVolumeRenderingProperty.cpp DataManagement/mitkWeakPointerProperty.cpp DataManagement/mitkShaderProperty.cpp DataManagement/mitkResliceMethodProperty.cpp DataManagement/mitkMaterial.cpp Interactions/mitkAction.cpp Interactions/mitkAffineInteractor.cpp Interactions/mitkCoordinateSupplier.cpp Interactions/mitkDisplayCoordinateOperation.cpp Interactions/mitkDisplayInteractor.cpp Interactions/mitkDisplayPositionEvent.cpp Interactions/mitkDisplayVectorInteractor.cpp Interactions/mitkDisplayVectorInteractorLevelWindow.cpp Interactions/mitkDisplayVectorInteractorScroll.cpp Interactions/mitkEvent.cpp Interactions/mitkEventDescription.cpp Interactions/mitkEventMapper.cpp Interactions/mitkGlobalInteraction.cpp Interactions/mitkInteractor.cpp Interactions/mitkMouseMovePointSetInteractor.cpp Interactions/mitkMoveSurfaceInteractor.cpp + Interactions/mitkNodeDepententPointSetInteractor.cpp Interactions/mitkPointSetInteractor.cpp Interactions/mitkPositionEvent.cpp Interactions/mitkPositionTracker.cpp Interactions/mitkState.cpp Interactions/mitkStateEvent.cpp Interactions/mitkStateMachine.cpp Interactions/mitkStateMachineFactory.cpp Interactions/mitkTransition.cpp Interactions/mitkWheelEvent.cpp Interactions/mitkKeyEvent.cpp Interactions/mitkVtkEventAdapter.cpp IO/mitkBaseDataIOFactory.cpp IO/mitkDicomSeriesReader.cpp IO/mitkFileReader.cpp IO/mitkFileSeriesReader.cpp IO/mitkFileWriter.cpp IO/mitkIpPicGet.c IO/mitkImageWriter.cpp IO/mitkImageWriterFactory.cpp IO/mitkItkImageFileIOFactory.cpp IO/mitkItkImageFileReader.cpp IO/mitkItkPictureWrite.cpp IO/mitkLookupTableProperty.cpp IO/mitkOperation.cpp IO/mitkPicFileIOFactory.cpp IO/mitkPicFileReader.cpp IO/mitkPicFileWriter.cpp IO/mitkPicHelper.cpp IO/mitkPicVolumeTimeSeriesIOFactory.cpp IO/mitkPicVolumeTimeSeriesReader.cpp IO/mitkPixelType.cpp IO/mitkPointSetIOFactory.cpp IO/mitkPointSetReader.cpp IO/mitkPointSetWriter.cpp IO/mitkPointSetWriterFactory.cpp IO/mitkRawImageFileReader.cpp IO/mitkStandardFileLocations.cpp IO/mitkSTLFileIOFactory.cpp IO/mitkSTLFileReader.cpp IO/mitkSurfaceVtkWriter.cpp IO/mitkSurfaceVtkWriterFactory.cpp IO/mitkVtiFileIOFactory.cpp IO/mitkVtiFileReader.cpp IO/mitkVtkImageIOFactory.cpp IO/mitkVtkImageReader.cpp IO/mitkVtkSurfaceIOFactory.cpp IO/mitkVtkSurfaceReader.cpp IO/vtkPointSetXMLParser.cpp IO/mitkLog.cpp Rendering/mitkBaseRenderer.cpp Rendering/mitkVtkMapper2D.cpp Rendering/mitkVtkMapper3D.cpp Rendering/mitkRenderWindowFrame.cpp Rendering/mitkGeometry2DDataMapper2D.cpp Rendering/mitkGeometry2DDataVtkMapper3D.cpp Rendering/mitkGLMapper2D.cpp Rendering/mitkGradientBackground.cpp Rendering/mitkManufacturerLogo.cpp Rendering/mitkMapper2D.cpp Rendering/mitkMapper3D.cpp Rendering/mitkMapper.cpp Rendering/mitkPointSetGLMapper2D.cpp Rendering/mitkPointSetVtkMapper3D.cpp Rendering/mitkPolyDataGLMapper2D.cpp Rendering/mitkSurfaceGLMapper2D.cpp Rendering/mitkSurfaceVtkMapper3D.cpp Rendering/mitkVolumeDataVtkMapper3D.cpp Rendering/mitkVtkPropRenderer.cpp Rendering/mitkVtkWidgetRendering.cpp Rendering/vtkMitkRectangleProp.cpp Rendering/vtkMitkRenderProp.cpp Rendering/mitkVtkEventProvider.cpp Rendering/mitkRenderWindow.cpp Rendering/mitkRenderWindowBase.cpp Rendering/mitkShaderRepository.cpp Rendering/mitkImageMapperGL2D.cpp Rendering/vtkMitkThickSlicesFilter.cpp ) diff --git a/CoreUI/Bundles/org.mitk.gui.qt.common/resources/StateMachine.xml b/CoreUI/Bundles/org.mitk.gui.qt.common/resources/StateMachine.xml index 4598c01310..ca7d5dc100 100644 --- a/CoreUI/Bundles/org.mitk.gui.qt.common/resources/StateMachine.xml +++ b/CoreUI/Bundles/org.mitk.gui.qt.common/resources/StateMachine.xml @@ -1,3687 +1,3674 @@ - - - - - - + + + + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - + - + + - - - + + + - - + - - + + + + - + + + + + - + +