fw4spl
IContainerBuilder.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_ICONTAINERBUILDER_HPP__
8 #define __FWGUI_BUILDER_ICONTAINERBUILDER_HPP__
9 
10 #include <fwRuntime/ConfigurationElement.hpp>
11 
12 #include "fwGui/GuiBaseObject.hpp"
13 #include "fwGui/container/fwContainer.hpp"
14 #include "fwGui/config.hpp"
15 
16 namespace fwGui
17 {
18 namespace builder
19 {
20 
28 class FWGUI_CLASS_API IContainerBuilder : public ::fwGui::GuiBaseObject
29 {
30 public:
32 
33  typedef std::string RegistryKeyType;
34 
35  FWGUI_API const static RegistryKeyType REGISTRY_KEY;
36 
38  FWGUI_API IContainerBuilder();
39 
41  FWGUI_API virtual ~IContainerBuilder();
42 
46  FWGUI_API virtual ::fwGui::container::fwContainer::sptr getContainer();
47 
51  FWGUI_API virtual void initialize( ::fwRuntime::ConfigurationElement::sptr configuration);
52 
58  FWGUI_API virtual void createContainer( ::fwGui::container::fwContainer::sptr parent ) = 0;
59 
64  FWGUI_API virtual void destroyContainer() = 0;
65 
67  FWGUI_API virtual void setParent(::fwGui::container::fwContainer::sptr parent) = 0;
68 
69 protected:
70 
72  ::fwGui::container::fwContainer::sptr m_container;
73 
74 };
75 
76 } // namespace builder
77 } // namespace fwGui
78 
79 #endif /*__FWGUI_BUILDER_ICONTAINERBUILDER_HPP__*/
80 
81 
#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.
The namespace fwRuntime contains classes to manage bundle, configuration element, extension point in ...
Defines the interface class for the container builder.
Base class for all fwGui&#39;s classes.