eVaf
Main Page
Namespaces
Classes
Files
File List
File Members
sdiwindow.h
Go to the documentation of this file.
1
20
#ifndef __SDIWINDOW_SDIWINDOW_H
21
# define __SDIWINDOW_SDIWINDOW_H
22
23
#include "
isdiwindow.h
"
24
25
#include <Plugins/iPlugin>
26
#include <Gui/Panel>
27
28
#include <QObject>
29
#include <QString>
30
#include <QWidget>
31
#include <QList>
32
#include <QVector>
33
#include <QHash>
34
35
class
QVBoxLayout;
36
37
namespace
eVaf
{
38
namespace
SdiWindow {
39
namespace
Internal {
40
44
class
MainWindow
:
public
QWidget
,
public
iSdiWindow
45
{
46
Q_OBJECT
47
Q_INTERFACES(
eVaf::SdiWindow::iSdiWindow
)
48
49
public
:
50
51
MainWindow
(
QWidget
* parent = 0, Qt::WindowFlags flags = 0);
52
53
virtual
~
MainWindow
();
54
55
virtual
bool
init(QString
const
& args);
56
57
virtual
void
done();
58
59
virtual
bool
isReady() {
return
mReady; }
60
61
virtual
void
addPanel(QString
const
& name,
Gui::Panel
* panel);
62
63
virtual
Gui::Panel
* panel(QString
const
& name)
const
;
64
65
virtual
bool
showPanel(QString
const
& name);
66
67
virtual
void
changeEvent(
QEvent
* e);
68
69
virtual
void
closeEvent(QCloseEvent * e);
70
71
72
protected
:
// Methods
73
74
75
private
:
// Methods
76
77
void
setWindowSize();
78
79
void
saveSettings();
80
81
void
restoreSettings();
82
83
84
private
:
// Members
85
87
bool
mReady;
88
90
QVBoxLayout * mLayout;
91
93
QString mMainPanelName;
94
96
QList<Gui::Panel *> mPanels;
97
99
QVector<Gui::Panel *> mMinimizedPanels;
100
102
QHash<QString, Gui::Panel *> mPanelNames;
103
105
Gui::Panel
* mMainPanel;
106
107
108
private
:
// Methods
109
111
QString getMainPanelName(QString
const
& args)
const
;
112
113
114
private
slots:
115
118
void
panelDestroyed(
QObject
* obj = 0);
119
120
};
121
125
class
SdiWindowPlugin
:
public
Plugins::iPlugin
126
{
127
Q_OBJECT
128
Q_INTERFACES(
eVaf::Plugins::iPlugin
)
129
130
public
:
131
132
SdiWindowPlugin
();
133
134
virtual
~
SdiWindowPlugin
();
135
136
virtual
bool
init(
const
QString & args);
137
138
virtual
void
done();
139
140
virtual
bool
isReady()
const
{
return
mWindow != 0 && mWindow->isReady(); }
141
142
143
private
:
144
146
MainWindow
* mWindow;
147
};
148
149
}
// namespace eVaf::SdiWindow::Internal
150
}
// namespace eVaf::SdiWindow
151
}
// namespace eVaf
152
153
#endif // sdiwindow.h
eVaf::SdiWindow::Internal::SdiWindowPlugin
SdiWindow module's implementation.
Definition:
sdiwindow.h:125
eVaf::SdiWindow::Internal::MainWindow
Main window widget implementing the iSdiWindow interface.
Definition:
sdiwindow.h:44
eVaf::Gui::Panel
eVaf GUI panel class.
Definition:
panel.h:49
QWidget
isdiwindow.h
eVaf SDI window interface
QObject
eVaf::SdiWindow::iSdiWindow
Single Document Interface window manager for eVaf applications.
Definition:
isdiwindow.h:44
eVaf
Global eVaf namespace.
Definition:
engine.h:37
eVaf::Plugins::iPlugin
Common interface for all the eVaf modules.
Definition:
iplugin.h:38
QEvent
plugins
SdiWindow
sdiwindow.h
Generated by
1.8.11