fw4spl
ui/uiVisu/include/uiVisu/action/SSnapshot.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_SSNAPSHOT_HPP__
8 #define __UIVISU_ACTION_SSNAPSHOT_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 
33 class UIVISU_CLASS_API SSnapshot : public ::fwGui::IActionSrv
34 {
35 
36 public:
37 
39 
41  UIVISU_API SSnapshot() noexcept;
42 
44  UIVISU_API virtual ~SSnapshot() noexcept;
45 
46 protected:
47 
48  typedef ::fwRuntime::ConfigurationElement::sptr Configuration;
49 
51  virtual void starting() override;
52 
54  virtual void stopping() override;
55 
57  void updating() override;
58 
60  void swapping() override;
61 
68  void configuring() override;
69 
70  virtual void info( std::ostream& _sstream ) override;
71 
72 private:
73 
78  typedef ::fwCom::Signal< void (std::string) > SnappedSignalType;
80  static const ::fwCom::Signals::SignalKeyType s_SNAPPED_SIG;
81 
82  SnappedSignalType::sptr m_sigSnapped;
83 
87  std::string requestFileName();
88 
89 };
90 
91 } // action
92 } // uiVisu
93 
94 #endif // __UIVISU_ACTION_SSNAPSHOT_HPP__
95 
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.
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.
This action allows to snapshot a generic scene.