fw4spl
IMenuBarSrv.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2016.
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_IMENUBARSRV_HPP__
8 #define __FWGUI_IMENUBARSRV_HPP__
9 
10 #include <fwServices/IService.hpp>
11 
12 #include "fwGui/config.hpp"
13 #include "fwGui/container/fwContainer.hpp"
14 
15 #include "fwGui/registrar/MenuBarRegistrar.hpp"
17 
18 namespace fwGui
19 {
20 
28 class FWGUI_CLASS_API IMenuBarSrv : public ::fwServices::IService
29 {
30 
31 public:
32 
34 
36  FWGUI_API void menuServiceStopping(std::string menuSrvSID);
37 
39  FWGUI_API void menuServiceStarting(std::string menuSrvSID);
40 
41 protected:
42 
43  FWGUI_API IMenuBarSrv();
44 
45  FWGUI_API virtual ~IMenuBarSrv();
46 
47  typedef ::fwRuntime::ConfigurationElement::sptr ConfigurationType;
48 
78  FWGUI_API void initialize();
79 
81  FWGUI_API void create();
82 
84  FWGUI_API void destroy();
85 
86 private:
87 
88  void initializeLayoutManager( ::fwRuntime::ConfigurationElement::sptr layoutConfig );
89 
90  ::fwGui::layoutManager::IMenuBarLayoutManager::sptr m_layoutManager;
91  ::fwGui::registrar::MenuBarRegistrar::sptr m_registrar;
92 
93  ConfigurationType m_registrarConfig;
94  ConfigurationType m_layoutConfig;
95 
97  bool m_hideMenus;
98 };
99 
100 } // namespace fwGui
101 
102 #endif /*__FWGUI_IMENUBARSRV_HPP__*/
103 
104 
Base class for all services.
Definition: IService.hpp:61
The namespace fwGui contains the base interface for IHM services.
Definition: SJobBar.hpp:23
Defines the service interface managing the menu bar.
Definition: IMenuBarSrv.hpp:28
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.
This file defines the interface of the base class for managing a menubar.