CTK  0.1.0
The Common Toolkit is a community effort to provide support code for medical image analysis, surgical navigation, and related projects.
ctkPluginEvent.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  Library: CTK
4 
5  Copyright (c) German Cancer Research Center,
6  Division of Medical and Biological Informatics
7 
8  Licensed under the Apache License, Version 2.0 (the "License");
9  you may not use this file except in compliance with the License.
10  You may obtain a copy of the License at
11 
12  http://www.apache.org/licenses/LICENSE-2.0
13 
14  Unless required by applicable law or agreed to in writing, software
15  distributed under the License is distributed on an "AS IS" BASIS,
16  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  See the License for the specific language governing permissions and
18  limitations under the License.
19 
20 =============================================================================*/
21 
22 #ifndef CTKPLUGINEVENT_H
23 #define CTKPLUGINEVENT_H
24 
25 #include <QSharedDataPointer>
26 #include <QSharedPointer>
27 #include <QMetaType>
28 
29 #include "ctkPluginFrameworkExport.h"
30 
31 
32 class ctkPlugin;
33 class ctkPluginEventData;
34 
47 class CTK_PLUGINFW_EXPORT ctkPluginEvent
48 {
49 
50  QSharedDataPointer<ctkPluginEventData> d;
51 
52 public:
53 
54  enum Type {
61 
72 
83 
90 
97 
104 
111 
124 
137 
148  LAZY_ACTIVATION
149  };
150 
155 
157 
165  bool isNull() const;
166 
173  ctkPluginEvent(Type type, QSharedPointer<ctkPlugin> plugin);
174 
176 
178 
184  QSharedPointer<ctkPlugin> getPlugin() const;
185 
203  Type getType() const;
204 
205 };
206 
208 
209 
213 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug debug, ctkPluginEvent::Type eventType);
214 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug debug, const ctkPluginEvent& event);
217 #endif // CTKPLUGINEVENT_H
ctkPluginEvent & operator=(const ctkPluginEvent &other)
QSharedPointer< ctkPlugin > getPlugin() const
bool isNull() const
ctkPluginEvent(const ctkPluginEvent &other)
ctkPluginEvent(Type type, QSharedPointer< ctkPlugin > plugin)
Type getType() const
Q_DECLARE_METATYPE(ctkDICOMPersonName)