Nemiver
0.3
src
uicommon
nmv-layout-manager.h
Go to the documentation of this file.
1
//Author: Fabien Parent
2
/*
3
*This file is part of the Nemiver project
4
*
5
*Nemiver is free software; you can redistribute
6
*it and/or modify it under the terms of
7
*the GNU General Public License as published by the
8
*Free Software Foundation; either version 2,
9
*or (at your option) any later version.
10
*
11
*Nemiver is distributed in the hope that it will
12
*be useful, but WITHOUT ANY WARRANTY;
13
*without even the implied warranty of
14
*MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
*See the GNU General Public License for more details.
16
*
17
*You should have received a copy of the
18
*GNU General Public License along with Nemiver;
19
*see the file COPYING.
20
*If not, write to the Free Software Foundation,
21
*Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22
*
23
*See COPYRIGHT file copyright information.
24
*/
25
#ifndef __NMV_LAYOUT_MANAGER_H__
26
#define __NMV_LAYOUT_MANAGER_H__
27
28
#include "
common/nmv-safe-ptr-utils.h
"
29
#include "
common/nmv-ustring.h
"
30
#include "
nmv-layout.h
"
31
#include <vector>
32
33
NEMIVER_BEGIN_NAMESPACE (
nemiver
)
34
35
using
nemiver::common::SafePtr
;
36
using
nemiver::common::UString
;
37
38
class
Layout;
39
class
IPerspective;
40
41
class
LayoutManager
{
42
//non copyable
43
LayoutManager
(
const
LayoutManager
&);
44
LayoutManager
& operator= (
const
LayoutManager
&);
45
46
struct
Priv;
47
SafePtr<Priv>
m_priv;
48
49
public
:
50
LayoutManager
();
51
52
void
register_layout (
const
LayoutSafePtr
&a_layout);
53
54
void
load_layout (
const
UString
&a_layout,
IPerspective
&a_perspective);
55
56
Layout
* layout ()
const
;
57
58
std::vector<Layout*> layouts ()
const
;
59
60
bool
is_layout_registered (
const
UString
&a_layout_identifier)
const
;
61
64
65
sigc::signal<void>& layout_changed_signal ()
const
;
66
68
69
virtual
~
LayoutManager
();
70
};
71
72
NEMIVER_END_NAMESPACE (
nemiver
)
73
74
#endif //__NMV_LAYOUT_MANAGER_H__
nmv-safe-ptr-utils.h
nemiver
Definition:
nmv-address.h:31
nmv-ustring.h
nmv-layout.h
nemiver::common::UString
Definition:
nmv-ustring.h:45
nemiver::Layout
The base class for Layouts.
Definition:
nmv-layout.h:48
nemiver::LayoutManager
Definition:
nmv-layout-manager.h:41
nemiver::IPerspective
Definition:
nmv-i-perspective.h:54
nemiver::common::SafePtr
Definition:
nmv-safe-ptr.h:71
Generated by
1.8.17