fw4spl
TabLayoutManagerBase.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2018.
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 #pragma once
8 
9 #include "fwGui/config.hpp"
11 
12 #include <fwCore/base.hpp>
13 
14 #include <list>
15 #include <map>
16 
17 namespace fwGui
18 {
19 namespace layoutManager
20 {
21 
25 class FWGUI_CLASS_API TabLayoutManagerBase : public IViewLayoutManager
26 {
27 
28 public:
29 
31 
32  typedef std::string RegistryKeyType;
33 
34  class ViewInfo
35  {
36  public:
37 
38  ViewInfo() :
39  m_caption(""),
40  m_isSelect(false),
41  m_useScrollBar(false)
42  {
43  }
44 
45  std::string m_caption;
46  bool m_isSelect;
47  bool m_useScrollBar;
48  };
49 
51  FWGUI_API TabLayoutManagerBase();
52 
54  FWGUI_API virtual ~TabLayoutManagerBase();
55 
82  FWGUI_API virtual void initialize( ConfigurationType configuration) override;
83 
84  FWGUI_API static const RegistryKeyType REGISTRY_KEY;
85 
86  //------------------------------------------------------------------------------
87 
88  std::list< ViewInfo> getViewsInfo()
89  {
90  return m_views;
91  }
92 
93 private:
94 
96  std::list< ViewInfo> m_views;
97 
98 };
99 
100 } // namespace layoutManager
101 } // namespace fwGui
#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
This file defines the interface of the base class for managing a layout geometry. ...
STL namespace.
Defines the generic layout manager for IHM.
Defines the base for cardinal layout manager.