fw4spl
CrossTypeAction.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2017.
3  * Distributed under the terms of the GNU Lesser General Public License (LGPL) as
4  * published by the Free Software Foundation.
5  * ****** END LICENSE BLOCK ****** */
6 
7 #ifndef __UIVISU_ACTION_CROSSTYPEACTION_HPP__
8 #define __UIVISU_ACTION_CROSSTYPEACTION_HPP__
9 
10 #include "uiVisu/config.hpp"
11 
12 #include <fwCom/Signal.hpp>
13 #include <fwCom/Signals.hpp>
14 
15 #include <fwGui/IActionSrv.hpp>
16 
17 #include <fwTools/Failed.hpp>
18 
19 #include <map>
20 #include <string>
21 
22 namespace uiVisu
23 {
24 namespace action
25 {
26 
30 class UIVISU_CLASS_API CrossTypeAction : public ::fwGui::IActionSrv
31 {
32 
33 public:
34 
36 
38  UIVISU_API CrossTypeAction() noexcept;
39 
41  UIVISU_API virtual ~CrossTypeAction() noexcept;
42 
43 protected:
44 
45  typedef ::fwRuntime::ConfigurationElement::sptr Configuration;
46 
48  virtual void starting() override;
49 
51  virtual void stopping() override;
52 
54  void updating() override;
55 
57  void swapping() override;
58 
68  void configuring() override;
69 
70  virtual void info( std::ostream& _sstream ) override;
71 
72 private:
73 
74  static std::map< std::string, float > m_scaleConversion;
75  std::string m_crossType;
76 
77  typedef ::fwCom::Signal< void (double) > CrossTypeModifiedSignalType;
78  CrossTypeModifiedSignalType::sptr m_sigCrossTypeModified;
79 };
80 
81 } // action
82 } // uiVisu
83 
84 #endif /*__UIVISU_ACTION_CROSSTYPEACTION_HPP__*/
85 
Namespace containing fw4spl communication tools.
Definition: DumpEditor.hpp:30
STL namespace.
Defines the service interface managing the menu items.
Definition: IActionSrv.hpp:24
The namespace fwRuntime contains classes to manage bundle, configuration element, extension point in ...
The namespace uiVisu contains action to modifies cross type and 3D camera orientation.
This action allows change the cross type.
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.