QCAD Application Framework
CAD Application Development and Automation.
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
RAction.h
Go to the documentation of this file.
1
#ifndef RACTION_H
2
#define RACTION_H
3
4
#include <QKeyEvent>
5
#include <QList>
6
#include <QMap>
7
#include <QObject>
8
#include <QString>
9
#include <QSwipeGesture>
10
#include <QPanGesture>
11
#include <QPinchGesture>
12
13
#include "
RDebug.h
"
14
#include "
REntity.h
"
15
#include "
RVector.h
"
16
17
class
RPropertyEvent
;
18
class
RGraphicsScene
;
19
class
RGraphicsView
;
20
class
RDocumentInterface
;
21
class
RCommandEvent
;
22
class
RCoordinateEvent
;
23
class
RDocument
;
24
class
REntityPickEvent
;
25
class
RMouseEvent
;
26
class
RWheelEvent
;
27
class
RGuiAction
;
28
class
RStorage
;
29
class
RTabletEvent
;
30
40
class
RAction
{
41
public
:
45
enum
ClickMode
{
50
PickCoordinate
,
54
PickEntity
,
59
PickingDisabled
60
};
61
62
public
:
63
RAction
(
RGuiAction
*
guiAction
= NULL);
64
virtual
~RAction
();
65
66
void
terminate
();
67
bool
isTerminated
();
68
69
void
setOverride
();
70
bool
isOverride
();
71
72
void
setNoState
();
73
bool
hasNoState
();
74
75
void
setUniqueGroup
(
const
QString& ug);
76
QString
getUniqueGroup
();
77
78
void
setOverrideBase
(
RAction
* base);
79
RAction
*
getOverrideBase
();
80
81
virtual
RGuiAction
*
getGuiAction
();
82
83
void
setGuiAction
(
RGuiAction
*
guiAction
);
84
85
QList<RGraphicsScene*>
getGraphicsScenes
();
86
RDocument
*
getDocument
();
87
RDocumentInterface
*
getDocumentInterface
();
88
RStorage
*
getStorage
();
89
90
void
setDocumentInterface
(
RDocumentInterface
* di) {
91
documentInterface
= di;
92
}
93
99
void
setClickMode
(
RAction::ClickMode
m) {
100
clickMode
= m;
101
}
102
107
RAction::ClickMode
getClickMode
() {
108
return
clickMode
;
109
}
110
114
virtual
void
beginEvent
() = 0;
118
virtual
void
setGraphicsView
(
RGraphicsView
* view) = 0;
122
virtual
void
finishEvent
() = 0;
127
virtual
void
suspendEvent
() = 0;
132
virtual
void
resumeEvent
() = 0;
138
virtual
void
escapeEvent
() = 0;
139
140
virtual
void
keyPressEvent
(QKeyEvent& event) = 0;
141
142
virtual
void
keyReleaseEvent
(QKeyEvent& event) = 0;
143
147
virtual
void
mousePressEvent
(
RMouseEvent
& event) = 0;
148
152
virtual
void
mouseMoveEvent
(
RMouseEvent
& event) = 0;
153
157
virtual
void
mouseReleaseEvent
(
RMouseEvent
& event) = 0;
158
162
virtual
void
mouseDoubleClickEvent
(
RMouseEvent
& event) = 0;
163
167
virtual
void
wheelEvent
(
RWheelEvent
& event) = 0;
168
172
virtual
void
tabletEvent
(
RTabletEvent
& event) = 0;
173
177
virtual
void
swipeGestureEvent
(QSwipeGesture& gesture) = 0;
178
182
virtual
void
panGestureEvent
(QPanGesture& gesture) = 0;
183
187
virtual
void
pinchGestureEvent
(QPinchGesture& gesture) = 0;
188
192
virtual
void
commandEvent
(
RCommandEvent
& event) = 0;
193
197
virtual
void
commandEventPreview
(
RCommandEvent
& event) = 0;
198
205
virtual
void
coordinateEvent
(
RCoordinateEvent
& event) = 0;
206
212
virtual
void
coordinateEventPreview
(
RCoordinateEvent
& event) = 0;
213
217
virtual
void
entityPickEvent
(
REntityPickEvent
& event) = 0;
218
222
virtual
void
entityPickEventPreview
(
REntityPickEvent
& event) = 0;
223
227
virtual
void
propertyChangeEvent
(
RPropertyEvent
& event) = 0;
228
229
RVector
snap
(
RMouseEvent
& event);
230
231
protected
:
232
bool
terminated
;
233
bool
override
;
234
239
bool
noState
;
240
241
QString
uniqueGroup
;
242
RAction::ClickMode
clickMode
;
243
RGuiAction
*
guiAction
;
244
RAction
*
overrideBase
;
245
RDocumentInterface
*
documentInterface
;
246
};
247
248
Q_DECLARE_METATYPE
(
RAction
*)
249
Q_DECLARE_METATYPE
(
RAction
::ClickMode)
250
251
#endif
src
core
RAction.h
Generated on Tue Jun 26 2012 18:41:07 for QCAD Application Framework by
1.8.1.1