fw4spl
SFocusLandmark.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 __UIMEASUREMENT_ACTION_SFOCUSLANDMARK_HPP__
8 #define __UIMEASUREMENT_ACTION_SFOCUSLANDMARK_HPP__
9 
10 #include "uiMeasurement/config.hpp"
11 
12 #include <fwGui/IActionSrv.hpp>
13 
14 namespace uiMeasurement
15 {
16 namespace action
17 {
18 
41 class UIMEASUREMENT_CLASS_API SFocusLandmark : public ::fwGui::IActionSrv
42 {
43 
44 public:
46 
47  UIMEASUREMENT_API SFocusLandmark() noexcept;
48 
49  UIMEASUREMENT_API virtual ~SFocusLandmark() noexcept;
50 
52  UIMEASUREMENT_API KeyConnectionsMap getAutoConnections() const override;
53 
54 protected:
55 
57  UIMEASUREMENT_API void starting() override;
58 
60  UIMEASUREMENT_API void stopping() override;
61 
63  UIMEASUREMENT_API void configuring() override;
64 
66  UIMEASUREMENT_API void updating() override;
67 
68 private:
70  void selectLandmark(std::string groupName, size_t index);
71 
73  void deselectLandmark(std::string groupName, size_t index);
74 
76  void deselectFromGroup(std::string groupName);
77 
79  void renameGroup(std::string oldGroupName, std::string newGroupName);
80 
81  std::string m_groupName;
82  size_t m_index;
83  bool m_isSelected;
84 };
85 
86 } // namespace action
87 } // namespace uiMeasurement
88 
89 #endif // __UIMEASUREMENT_ACTION_SFOCUSLANDMARK_HPP__
This class is a helper to define the connections of a service and its data.
Definition: IService.hpp:454
This action moves the image slice on selected landmark.
The namespace uiMeasurement contains actions to add/show/remove distances and landmarks.
Definition: AddDistance.hpp:13
STL namespace.
Defines the service interface managing the menu items.
Definition: IActionSrv.hpp:24
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.