3 * This file is part of Tulip (www.tulip-software.org)
4 *
5 * Authors: David Auber and the Tulip development Team
6 * from LaBRI, University of Bordeaux 1 and Inria Bordeaux - Sud Ouest
7 *
8 * Tulip is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation, either version 3
11 * of the License, or (at your option) any later version.
12 *
13 * Tulip is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16 * See the GNU General Public License for more details.
17 *
18 */
19#ifndef _PLUGINCONTEXT
20#define _PLUGINCONTEXT
21
22#include <tulip/DataSet.h>
23
24namespace tlp {
25
26class Graph;
27class PropertyInterface;
28class PluginProgress;
29
30/**
31 * @ingroup Plugins
32 * @brief Contains runtime parameters for a plugin.
33 *
34 * tlp::PluginContext is a data structure containing a set of parameters required by a plugin.
35 * Each tlp::Plugin subclass has its associated tlp::PluginContext subclass that contains specific parameters related to the Plugin.
36 * For instance, the tlp::AlgorithmContext (related to tlp::Algorithm) contains the Graph on which the algorithm should be run
37 * In essence, you will never have to access to a plugin's context since the base class constructor will copy its members into protected members of the plugin interface.