Computer Assited Medical Intervention Tool Kit
Main Page
Related Pages
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
core
action
ActionExtension.h
Go to the documentation of this file.
1
/*****************************************************************************
2
* $CAMITK_LICENCE_BEGIN$
3
*
4
* CamiTK - Computer Assisted Medical Intervention ToolKit
5
* (c) 2001-2013 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO)
6
*
7
* Visit http://camitk.imag.fr for more information
8
*
9
* This file is part of CamiTK.
10
*
11
* CamiTK is free software: you can redistribute it and/or modify
12
* it under the terms of the GNU Lesser General Public License version 3
13
* only, as published by the Free Software Foundation.
14
*
15
* CamiTK is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU Lesser General Public License version 3 for more details.
19
*
20
* You should have received a copy of the GNU Lesser General Public License
21
* version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22
*
23
* $CAMITK_LICENCE_END$
24
****************************************************************************/
25
26
27
#ifndef ACTION_EXTENSION_H
28
#define ACTION_EXTENSION_H
29
30
31
#include "
CamiTKAPI.h
"
32
33
// -- QT stuff
34
#include <QtPlugin>
35
#include <QPluginLoader>
36
#include <QObject>
37
38
namespace
camitk
39
{
40
class
Action
;
41
42
// a bit simplistic, but greatly simply syntax (and explanation)
43
// to be used in an ActionExtension register method
44
#define registerNewAction(X) registerAction(new X(this))
45
57
class
CAMITK_API
ActionExtension
:
public
QObject {
58
59
protected
:
61
ActionExtension
() {};
62
63
public
:
65
virtual
~
ActionExtension
();
66
68
virtual
QString getName() = 0;
69
71
virtual
QString getDescription() = 0;
72
74
virtual
void
init() = 0;
75
77
const
ActionList
& getActions();
78
79
protected
:
81
void
registerAction(
Action
*);
82
84
ActionList
actions
;
85
};
86
87
}
88
// -------------------- declare the interface for QPluginLoader --------------------
89
Q_DECLARE_INTERFACE(
camitk::ActionExtension
,
"TIMC-IMAG. Action Extension/2.1"
)
//TODO use variable from CMake?
90
91
92
#endif //ACTION_EXTENSION_H
Generated on Tue Feb 26 2013 20:57:32 for Computer Assited Medical Intervention Tool Kit by
1.8.3.1