Version: 8.3.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
SUIT_ViewManager.h
Go to the documentation of this file.
1
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
2
//
3
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5
//
6
// This library is free software; you can redistribute it and/or
7
// modify it under the terms of the GNU Lesser General Public
8
// License as published by the Free Software Foundation; either
9
// version 2.1 of the License, or (at your option) any later version.
10
//
11
// This library is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
// Lesser General Public License for more details.
15
//
16
// You should have received a copy of the GNU Lesser General Public
17
// License along with this library; if not, write to the Free Software
18
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
//
20
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21
//
22
23
#ifndef SUIT_VIEWMANAGER_H
24
#define SUIT_VIEWMANAGER_H
25
26
#include "
SUIT.h
"
27
28
#include "
SUIT_PopupClient.h
"
29
30
#include <QObject>
31
#include <QPixmap>
32
#include <QVector>
33
#include <QPointer>
34
35
class
QMenu
;
36
class
QMouseEvent;
37
class
QWheelEvent;
38
class
QKeyEvent;
39
40
class
SUIT_Study
;
41
class
SUIT_Desktop
;
42
class
SUIT_ViewModel
;
43
class
SUIT_ViewWindow
;
44
45
#ifdef WIN32
46
#pragma warning( disable:4251 )
47
#endif
48
49
class
SUIT_EXPORT
SUIT_ViewManager
:
public
QObject
,
public
SUIT_PopupClient
50
{
51
Q_OBJECT
52
public
:
53
SUIT_ViewManager
(
SUIT_Study
*,
54
SUIT_Desktop
*,
55
SUIT_ViewModel
* = 0 );
56
virtual
~
SUIT_ViewManager
();
57
58
virtual
QString
popupClientType
()
const
{
return
getType(); }
59
virtual
void
contextMenuPopup
(
QMenu
* );
60
61
void
setViewModel(
SUIT_ViewModel
* theViewModel);
62
SUIT_ViewModel
*
getViewModel
() {
return
myViewModel; }
63
64
SUIT_Study
* study()
const
;
65
66
QString getType()
const
;
67
SUIT_ViewWindow
*
getActiveView
() {
return
myActiveView; }
68
69
int
getViewsCount
() {
return
myViews.count(); }
70
QVector<SUIT_ViewWindow*> getViews()
const
;
71
72
QString
getTitle
()
const
{
return
myTitle; }
73
virtual
void
setTitle(
const
QString& );
74
75
QPixmap
getIcon
()
const
{
return
myIcon; }
76
virtual
void
setIcon(
const
QPixmap& );
77
78
SUIT_ViewWindow
* createViewWindow();
79
80
bool
isVisible()
const
;
81
virtual
void
setShown(
const
bool
);
82
virtual
void
setDestructiveClose(
const
bool
);
83
84
int
getId()
const
;
85
86
int
getGlobalId()
const
;
87
void
setDetached(
bool
detached);
88
bool
getDetached()
const
;
89
90
public
slots:
91
void
createView();
92
void
closeAllViews();
93
94
signals:
95
void
lastViewClosed(
SUIT_ViewManager
*);
96
void
tryCloseView(
SUIT_ViewWindow
*);
97
void
deleteView(
SUIT_ViewWindow
*);
98
void
viewCreated(
SUIT_ViewWindow
*);
99
void
mousePress(
SUIT_ViewWindow
*, QMouseEvent*);
100
void
mouseRelease(
SUIT_ViewWindow
*, QMouseEvent*);
101
void
mouseDoubleClick(
SUIT_ViewWindow
*, QMouseEvent*);
102
void
mouseMove(
SUIT_ViewWindow
*, QMouseEvent*);
103
void
wheel(
SUIT_ViewWindow
*, QWheelEvent*);
104
void
keyPress(
SUIT_ViewWindow
*, QKeyEvent*);
105
void
keyRelease(
SUIT_ViewWindow
*, QKeyEvent*);
106
void
activated(
SUIT_ViewManager
*);
107
108
protected
slots:
109
void
onWindowActivated(
SUIT_ViewWindow
*);
110
void
onClosingView(
SUIT_ViewWindow
* );
111
void
onMousePressed(
SUIT_ViewWindow
*, QMouseEvent* );
112
void
onDeleteStudy();
113
114
private
slots:
115
void
onContextMenuRequested( QContextMenuEvent* e );
116
117
protected
:
121
virtual
bool
insertView(
SUIT_ViewWindow
* theView);
122
124
virtual
void
removeView(
SUIT_ViewWindow
* theView);
125
127
virtual
void
closeView(
SUIT_ViewWindow
* theView);
128
130
virtual
void
setViewName(
SUIT_ViewWindow
* theView );
131
QString prepareTitle(
const
QString&,
const
int
,
const
int
);
132
133
static
int
useNewId(
const
QString& );
134
135
protected
:
136
typedef
QPointer<SUIT_ViewWindow>
ViewWindow
;
137
138
protected
:
139
SUIT_Desktop
*
myDesktop
;
140
SUIT_ViewModel
*
myViewModel
;
141
QVector<ViewWindow>
myViews
;
142
SUIT_ViewWindow
*
myActiveView
;
143
144
int
myId
;
145
QPixmap
myIcon
;
146
QString
myTitle
;
147
SUIT_Study
*
myStudy
;
148
bool
myIsDetached
;
149
150
static
QMap<QString, int>
_ViewMgrId
;
151
};
152
153
#ifdef WIN32
154
#pragma warning( default:4251 )
155
#endif
156
157
#endif
src
SUIT
SUIT_ViewManager.h
Copyright © 2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS