CTK
0.1.0
The Common Toolkit is a community effort to provide support code for medical image analysis, surgical navigation, and related projects.
Libs
Visualization
VTK
Core
ctkVTKObject.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Library: CTK
4
5
Copyright (c) Kitware Inc.
6
7
Licensed under the Apache License, Version 2.0 (the "License");
8
you may not use this file except in compliance with the License.
9
You may obtain a copy of the License at
10
11
http://www.apache.org/licenses/LICENSE-2.0.txt
12
13
Unless required by applicable law or agreed to in writing, software
14
distributed under the License is distributed on an "AS IS" BASIS,
15
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
See the License for the specific language governing permissions and
17
limitations under the License.
18
19
=========================================================================*/
20
21
#ifndef __ctkVTKObject_h
22
#define __ctkVTKObject_h
23
24
// ctkVTK includes
25
#include "
ctkVTKObjectEventsObserver.h
"
26
29
30
//-----------------------------------------------------------------------------
33
#define QVTK_OBJECT_ADD_CONNECTION_METHOD \
34
\
35
\
36
\
37
\
38
\
39
QString qvtkConnect(vtkObject* vtk_obj, unsigned long vtk_event, \
40
const QObject* qt_obj, const char* qt_slot, \
41
float priority = 0.0, \
42
Qt::ConnectionType connectionType = Qt::AutoConnection)\
43
{ \
44
return MyQVTK.addConnection(vtk_obj, vtk_event, \
45
qt_obj, qt_slot, priority, connectionType);\
46
}
47
48
//-----------------------------------------------------------------------------
51
#define QVTK_OBJECT_RECONNECT_METHOD \
52
\
53
\
54
\
55
\
56
\
57
\
58
\
59
\
60
\
61
QString qvtkReconnect(vtkObject* old_vtk_obj, vtkObject* vtk_obj, \
62
unsigned long vtk_event, const QObject* qt_obj, \
63
const char* qt_slot, float priority = 0.0, \
64
Qt::ConnectionType connectionType = Qt::AutoConnection)\
65
{ \
66
return MyQVTK.addConnection(old_vtk_obj, vtk_obj, vtk_event, \
67
qt_obj, qt_slot, priority, connectionType);\
68
}
69
70
//-----------------------------------------------------------------------------
73
#define QVTK_OBJECT_RECONNECT_METHOD_2 \
74
\
75
\
76
\
77
\
78
\
79
\
80
\
81
\
82
\
83
QString qvtkReconnect(vtkObject* vtk_obj, \
84
unsigned long vtk_event, const QObject* qt_obj, \
85
const char* qt_slot, float priority = 0.0, \
86
Qt::ConnectionType connectionType = Qt::AutoConnection)\
87
{ \
88
return MyQVTK.reconnection(vtk_obj, vtk_event, \
89
qt_obj, qt_slot, priority, connectionType);\
90
}
91
92
//-----------------------------------------------------------------------------
95
#define QVTK_OBJECT_REMOVE_CONNECTION_METHOD \
96
\
97
\
98
\
99
\
100
\
101
\
102
\
103
\
104
\
105
\
106
\
107
int qvtkDisconnect(vtkObject* vtk_obj, unsigned long vtk_event, \
108
const QObject* qt_obj, const char* qt_slot) \
109
{ \
110
return MyQVTK.removeConnection(vtk_obj, vtk_event, \
111
qt_obj, qt_slot); \
112
}
113
114
//-----------------------------------------------------------------------------
117
#define QVTK_OBJECT_REMOVEALL_CONNECTION_METHOD \
118
\
119
\
120
\
121
\
122
\
123
\
124
int qvtkDisconnectAll() \
125
{ \
126
return MyQVTK.removeAllConnections(); \
127
}
128
129
//-----------------------------------------------------------------------------
132
#define QVTK_OBJECT_IS_CONNECTION_METHOD \
133
\
134
\
135
\
136
\
137
\
138
\
139
bool qvtkIsConnected(vtkObject* vtk_obj = 0, \
140
unsigned long vtk_event = vtkCommand::NoEvent, \
141
const QObject* qt_obj = 0, \
142
const char* qt_slot = 0) \
143
{ \
144
return MyQVTK.containsConnection(vtk_obj, vtk_event, \
145
qt_obj, qt_slot); \
146
}
147
148
//-----------------------------------------------------------------------------
152
#define QVTK_OBJECT_BLOCK_CONNECTION_METHOD \
153
void qvtkBlock(vtkObject* vtk_obj, unsigned long vtk_event, \
154
const QObject* qt_obj) \
155
{ \
156
MyQVTK.blockConnection(true, vtk_obj, vtk_event, qt_obj); \
157
}
158
159
//-----------------------------------------------------------------------------
162
#define QVTK_OBJECT_BLOCK_CONNECTION_METHOD2 \
163
void qvtkBlock(const QString& id, bool blocked) \
164
{ \
165
MyQVTK.blockConnection(id, blocked); \
166
}
167
168
//-----------------------------------------------------------------------------
171
#define QVTK_OBJECT_BLOCKALL_CONNECTION_METHOD \
172
bool qvtkBlockAll() \
173
{ \
174
return MyQVTK.blockAllConnections(true); \
175
}
176
177
//-----------------------------------------------------------------------------
180
#define QVTK_OBJECT_BLOCKALL_CONNECTION_METHOD2 \
181
bool qvtkBlockAll(bool block) \
182
{ \
183
return MyQVTK.blockAllConnections(block); \
184
}
185
186
//-----------------------------------------------------------------------------
189
#define QVTK_OBJECT_UNBLOCK_CONNECTION_METHOD \
190
void qvtkUnblock(vtkObject* vtk_obj, unsigned long vtk_event, \
191
const QObject* qt_obj) \
192
{ \
193
MyQVTK.blockConnection(false, vtk_obj, vtk_event, qt_obj); \
194
}
195
196
//-----------------------------------------------------------------------------
199
#define QVTK_OBJECT_UNBLOCKALL_CONNECTION_METHOD \
200
bool qvtkUnblockAll() \
201
{ \
202
return MyQVTK.blockAllConnections(false); \
203
}
204
205
//-----------------------------------------------------------------------------
222
#define QVTK_OBJECT \
223
protected: \
224
QVTK_OBJECT_ADD_CONNECTION_METHOD \
225
QVTK_OBJECT_RECONNECT_METHOD \
226
QVTK_OBJECT_RECONNECT_METHOD_2 \
227
QVTK_OBJECT_REMOVE_CONNECTION_METHOD \
228
QVTK_OBJECT_REMOVEALL_CONNECTION_METHOD \
229
QVTK_OBJECT_IS_CONNECTION_METHOD \
230
QVTK_OBJECT_BLOCK_CONNECTION_METHOD \
231
QVTK_OBJECT_BLOCK_CONNECTION_METHOD2 \
232
QVTK_OBJECT_UNBLOCK_CONNECTION_METHOD \
233
QVTK_OBJECT_BLOCKALL_CONNECTION_METHOD \
234
QVTK_OBJECT_BLOCKALL_CONNECTION_METHOD2 \
235
QVTK_OBJECT_UNBLOCKALL_CONNECTION_METHOD \
236
private: \
237
ctkVTKObjectEventsObserver MyQVTK;
238
240
241
#endif
ctkVTKObjectEventsObserver.h
Generated on Mon Aug 9 2021 00:00:00 for CTK by
1.9.1