fw4spl
ISlideViewBuilder.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 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_BUILDER_ISLIDEVIEWBUILDER_HPP__
8 #define __FWGUI_BUILDER_ISLIDEVIEWBUILDER_HPP__
9 
10 #include "fwGui/GuiBaseObject.hpp"
11 #include "fwGui/container/fwContainer.hpp"
12 #include "fwGui/config.hpp"
13 
14 #include <fwRuntime/ConfigurationElement.hpp>
15 
16 namespace fwGui
17 {
18 
19 namespace builder
20 {
21 
38 class FWGUI_CLASS_API ISlideViewBuilder : public ::fwGui::GuiBaseObject
39 {
40 public:
42 
43  typedef std::string RegistryKeyType;
44 
45  FWGUI_API const static RegistryKeyType REGISTRY_KEY;
46 
47  enum Aligment
48  {
49  TOP,
50  BOTTOM,
51  RIGHT,
52  LEFT
53  };
54 
55 
57  FWGUI_API ISlideViewBuilder();
58 
60  FWGUI_API virtual ~ISlideViewBuilder();
61 
65  FWGUI_API virtual ::fwGui::container::fwContainer::sptr getContainer() const;
66 
70  FWGUI_API virtual void initialize( ::fwRuntime::ConfigurationElement::sptr configuration);
71 
77  FWGUI_API virtual void createContainer( ::fwGui::container::fwContainer::sptr parent ) = 0;
78 
83  FWGUI_API virtual void destroyContainer() = 0;
84 
85 protected:
86 
87  ::fwGui::container::fwContainer::sptr m_container;
88 
89  int m_size;
90  double m_opacity;
91  Aligment m_aligment;
92  std::string m_styleSheet;
93 };
94 
95 } // namespace builder
96 } // namespace fwGui
97 
98 #endif /*__FWGUI_BUILDER_ISLIDEVIEWBUILDER_HPP__*/
#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 slide view builder.
Base class for all fwGui&#39;s classes.