fw4spl
IViewLayoutManager.hpp
Go to the documentation of this file.
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 
15 #ifndef __FWGUI_LAYOUTMANAGER_IVIEWLAYOUTMANAGER_HPP__
16 #define __FWGUI_LAYOUTMANAGER_IVIEWLAYOUTMANAGER_HPP__
17 
18 #include <fwRuntime/ConfigurationElement.hpp>
19 
20 #include "fwGui/GuiBaseObject.hpp"
21 #include "fwGui/container/fwContainer.hpp"
22 #include "fwGui/config.hpp"
23 
24 namespace fwGui
25 {
26 namespace layoutManager
27 {
28 
36 class FWGUI_CLASS_API IViewLayoutManager : public ::fwGui::GuiBaseObject
37 {
38 public:
39 
41 
42  typedef ::fwRuntime::ConfigurationElement::sptr ConfigurationType;
43 
45  FWGUI_API IViewLayoutManager();
46 
48  FWGUI_API virtual ~IViewLayoutManager();
49 
53  FWGUI_API virtual void initialize( ConfigurationType configuration) = 0;
54 
60  FWGUI_API virtual void createLayout( ::fwGui::container::fwContainer::sptr parent ) = 0;
61 
66  FWGUI_API virtual void destroyLayout() = 0;
67 
71  FWGUI_API virtual std::vector< ::fwGui::container::fwContainer::sptr > getSubViews();
72 
73 protected:
74 
78  FWGUI_API virtual void destroySubViews();
79 
81  std::vector< ::fwGui::container::fwContainer::sptr > m_subViews;
82 
83 };
84 
85 } // namespace layoutManager
86 } // namespace fwGui
87 
88 #endif /*__FWGUI_LAYOUTMANAGER_IVIEWLAYOUTMANAGER_HPP__*/
89 
90 
#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 generic layout manager for IHM.
The namespace fwRuntime contains classes to manage bundle, configuration element, extension point in ...
Base class for all fwGui&#39;s classes.