fw4spl
IToolBarSrv.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 __FWGUI_ITOOLBARSRV_HPP__
8 #define __FWGUI_ITOOLBARSRV_HPP__
9 
10 #include "fwGui/config.hpp"
12 #include "fwGui/registrar/ToolBarRegistrar.hpp"
13 
14 #include <fwServices/IService.hpp>
15 
16 namespace fwGui
17 {
18 
22 class FWGUI_CLASS_API IToolBarSrv : public ::fwServices::IService
23 {
24 
25 public:
26 
28 
30  FWGUI_API void actionServiceStopping(std::string actionSrvSID);
31 
33  FWGUI_API void actionServiceStarting(std::string actionSrvSID);
34 
36  FWGUI_API void actionServiceSetActive(std::string actionSrvSID, bool isActive);
37 
39  FWGUI_API void actionServiceSetExecutable(std::string actionSrvSID, bool isExecutable);
40 
42  FWGUI_API void actionServiceSetVisible(std::string actionSrvSID, bool isVisible);
43 
44 protected:
45 
46  FWGUI_API IToolBarSrv();
47 
48  FWGUI_API virtual ~IToolBarSrv();
49 
50  typedef ::fwRuntime::ConfigurationElement::sptr ConfigurationType;
51 
97  FWGUI_API void initialize();
98 
100  FWGUI_API void create();
101 
103  FWGUI_API void destroy();
104 
105 private:
106 
107  void initializeLayoutManager( ::fwRuntime::ConfigurationElement::sptr layoutConfig );
108 
109  ::fwGui::layoutManager::IToolBarLayoutManager::sptr m_layoutManager;
110  ::fwGui::registrar::ToolBarRegistrar::sptr m_registrar;
111 
112  ConfigurationType m_registrarConfig;
113  ConfigurationType m_layoutConfig;
114 
116  bool m_hideActions;
117 };
118 
119 } // namespace fwGui
120 
121 #endif /*__FWGUI_ITOOLBARSRV_HPP__*/
122 
Base class for all services.
Definition: IService.hpp:61
Defines the service interface managing the toolBar.
Definition: IToolBarSrv.hpp:22
The namespace fwGui contains the base interface for IHM services.
Definition: SJobBar.hpp:23
This file defines the interface of the base class for managing a toolbar.
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.