Computer Assisted Medical Intervention Tool Kit  version 5.2
 
Loading...
Searching...
No Matches
ExtensionGenerator.h
Go to the documentation of this file.
1/*****************************************************************************
2 * $CAMITK_LICENCE_BEGIN$
3 *
4 * CamiTK - Computer Assisted Medical Intervention ToolKit
5 * (c) 2001-2024 Univ. Grenoble Alpes, CNRS, Grenoble INP - UGA, TIMC, 38000 Grenoble, France
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#ifndef EXTENSIONGENERATOR_H
26#define EXTENSIONGENERATOR_H
27
28#if defined(_WIN32) && !defined(__MINGW32__) // MSVC only
29#pragma warning( disable : 4290 )
30#endif // MSVC only
31
32
33// includes from Qt
34#include <QString>
35#include <QVector>
36
37
50
51public:
52 ExtensionGenerator(QString actionExtensionsDirectory, QString licence = "", QString extensionType = "NONE");
53
54 virtual ~ExtensionGenerator();
55
56 virtual void generateExtension();
57
58protected:
60
62 virtual void generateExtensionCMakeLists(QString directory);
63
65 virtual void generateExtensionClass(QString directory) = 0;
66
67 virtual void writeCFile(QString directory) = 0;
68 virtual void writeHFile(QString directory) = 0;
69
70 virtual void generateTestDataFiles(QString directory, QString testDataDirName) = 0;
71
73
74
77
80
82 QString name;
83
84 QString description;
85
86 QString licence;
87
88 QVector<DependencyGenerator* > dependencyGenerators;
89};
90
91#endif
static const QString testDataDirName
Definition ExtensionGenerator.cpp:44
Create the dependencies, generate the "NEEDs_LIBRARY" in the cmake file.
Definition DependencyGenerator.h:48
Common abstract class to generate extensions.
Definition ExtensionGenerator.h:49
virtual void writeCFile(QString directory)=0
virtual void generateTestDataFiles(QString directory, QString testDataDirName)=0
virtual void writeHFile(QString directory)=0
virtual void generateExtensionClass(QString directory)=0
generate an action, a component of a viewer
virtual void generateExtensionCMakeLists(QString directory)
Helpers methods.
Definition ExtensionGenerator.cpp:90
QString extensionsDirectory
Absolute path to the extensions directory.
Definition ExtensionGenerator.h:76
QVector< DependencyGenerator * > dependencyGenerators
Definition ExtensionGenerator.h:88
virtual void generateExtension()
Definition ExtensionGenerator.cpp:59
QString description
Definition ExtensionGenerator.h:84
QString licence
Definition ExtensionGenerator.h:86
QString extensionType
Extension type: Action or Component extension.
Definition ExtensionGenerator.h:79
virtual ~ExtensionGenerator()
Definition ExtensionGenerator.cpp:52
void setExtensionsDirectory(QString extensionsDirectory)
Definition ExtensionGenerator.cpp:55
QString name
Name of the extension.
Definition ExtensionGenerator.h:82