Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkEventConfig.h
Go to the documentation of this file.
1 /*===================================================================
2 
3  The Medical Imaging Interaction Toolkit (MITK)
4 
5  Copyright (c) German Cancer Research Center,
6  Division of Medical and Biological Informatics.
7  All rights reserved.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without
10  even the implied warranty of MERCHANTABILITY or FITNESS FOR
11  A PARTICULAR PURPOSE.
12 
13  See LICENSE.txt or http://www.mitk.org for details.
14 
15  ===================================================================*/
16 
17 #ifndef mitkStateMachineConfig_h
18 #define mitkStateMachineConfig_h
19 
20 #include <MitkCoreExports.h>
21 
22 #include "mitkPropertyList.h"
23 #include "usSharedData.h"
24 
25 #include "itkSmartPointer.h"
26 
27 namespace us
28 {
29  class Module;
30 }
31 
32 namespace mitk
33 {
34  class InteractionEvent;
35  struct EventConfigPrivate;
36 
49  {
50  public:
52 
58  EventConfig();
59  EventConfig(const EventConfig &other);
60 
71  EventConfig(const std::string &filename, const us::Module *module = nullptr);
72 
82  EventConfig(std::istream &inputStream);
83 
121  EventConfig(const std::vector<PropertyList::Pointer> &configDescription);
122 
123  EventConfig &operator=(const EventConfig &other);
124 
125  ~EventConfig();
126 
131  bool IsValid() const;
132 
146  bool AddConfig(const std::string &filename, const us::Module *module = nullptr);
147 
160  bool AddConfig(const EventConfig &config);
161 
165  void ClearConfig();
166 
171  PropertyList::Pointer GetAttributes() const;
172 
185  std::string GetMappedEvent(const EventType &interactionEvent) const;
186 
187  private:
189  };
190 
191 } // namespace mitk
192 
193 #endif /* mitkStateMachineConfig_h */
#define MITKCORE_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
itk::SmartPointer< InteractionEvent > EventType
static const std::string filename
Configuration Object for Statemachines.