fw4spl
IToolBarBuilder.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_BUILDER_ITOOLBARBUILDER_HPP__
8 #define __FWGUI_BUILDER_ITOOLBARBUILDER_HPP__
9 
10 #include <fwRuntime/ConfigurationElement.hpp>
11 
12 #include "fwGui/GuiBaseObject.hpp"
13 #include "fwGui/container/fwToolBar.hpp"
14 #include "fwGui/container/fwContainer.hpp"
15 #include "fwGui/config.hpp"
16 
17 namespace fwGui
18 {
19 
20 namespace builder
21 {
22 
30 class FWGUI_CLASS_API IToolBarBuilder : public ::fwGui::GuiBaseObject
31 {
32 public:
34 
35  typedef std::string RegistryKeyType;
36 
37  FWGUI_API const static RegistryKeyType REGISTRY_KEY;
38 
39  typedef enum
40  {
41  TOP,
42  BOTTOM,
43  RIGHT,
44  LEFT
45  } Aligment;
46 
47 
49  FWGUI_API IToolBarBuilder();
50 
52  FWGUI_API virtual ~IToolBarBuilder();
53 
57  FWGUI_API virtual ::fwGui::container::fwToolBar::sptr getToolBar();
58 
72  FWGUI_API virtual void initialize( ::fwRuntime::ConfigurationElement::sptr configuration);
73 
79  FWGUI_API virtual void createToolBar( ::fwGui::container::fwContainer::sptr parent ) = 0;
80 
85  FWGUI_API virtual void destroyToolBar() = 0;
86 
87 protected:
88 
90  ::fwGui::container::fwToolBar::sptr m_toolBar;
91 
92  std::pair< int, int > m_toolBitmapSize;
93 
94  Aligment m_aligment;
95 
96 };
97 
98 } // namespace builder
99 } // namespace fwGui
100 
101 #endif /*__FWGUI_BUILDER_ITOOLBARBUILDER_HPP__*/
102 
103 
#define fwCoreNonInstanciableClassDefinitionsMacro(_classinfo_)
Generate common code for Non Instanciable classes (Interfaces, Abstract classes, ...)
::fwGui::container::fwToolBar::sptr m_toolBar
ToolBar.
The namespace fwGui contains the base interface for IHM services.
Definition: SJobBar.hpp:23
STL namespace.
Defines the interface class for the toolbar builder.
Base class for all fwGui&#39;s classes.