fw4spl
IMenuBarBuilder.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2015.
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_BUILDER_IMENUBARBUILDER_HPP__
8 #define __FWGUI_BUILDER_IMENUBARBUILDER_HPP__
9 
10 #include <fwRuntime/ConfigurationElement.hpp>
11 
12 #include "fwGui/GuiBaseObject.hpp"
13 #include "fwGui/container/fwMenuBar.hpp"
14 #include "fwGui/container/fwContainer.hpp"
15 #include "fwGui/config.hpp"
16 
17 namespace fwGui
18 {
19 namespace builder
20 {
21 
29 class FWGUI_CLASS_API IMenuBarBuilder : public ::fwGui::GuiBaseObject
30 {
31 public:
33 
34  typedef std::string RegistryKeyType;
35 
36  FWGUI_API const static RegistryKeyType REGISTRY_KEY;
37 
39  FWGUI_API IMenuBarBuilder();
40 
42  FWGUI_API virtual ~IMenuBarBuilder();
43 
47  FWGUI_API virtual ::fwGui::container::fwMenuBar::sptr getMenuBar();
48 
52  FWGUI_API virtual void initialize( ::fwRuntime::ConfigurationElement::sptr configuration);
53 
59  FWGUI_API virtual void createMenuBar( ::fwGui::container::fwContainer::sptr parent ) = 0;
60 
65  FWGUI_API virtual void destroyMenuBar() = 0;
66 
67 protected:
68 
70  ::fwGui::container::fwMenuBar::sptr m_menuBar;
71 
72 };
73 
74 } // namespace builder
75 } // namespace fwGui
76 
77 #endif /*__FWGUI_BUILDER_IMENUBARBUILDER_HPP__*/
78 
79 
#define fwCoreNonInstanciableClassDefinitionsMacro(_classinfo_)
Generate common code for Non Instanciable classes (Interfaces, Abstract classes, ...)
The namespace fwGui contains the base interface for IHM services.
Definition: SJobBar.hpp:23
STL namespace.
Defines the interface class for the menubar builder.
The namespace fwRuntime contains classes to manage bundle, configuration element, extension point in ...
Base class for all fwGui&#39;s classes.