ScriptInterface.hh 5.49 KB
 Jan Möbius committed Aug 05, 2009 1 ``````/*===========================================================================*\ `````` Jan Möbius committed Nov 25, 2010 2 3 ``````* * * OpenFlipper * `````` Jan Möbius committed Jan 26, 2011 4 ``````* Copyright (C) 2001-2011 by Computer Graphics Group, RWTH Aachen * `````` Jan Möbius committed Nov 25, 2010 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ``````* www.openflipper.org * * * *--------------------------------------------------------------------------- * * This file is part of OpenFlipper. * * * * OpenFlipper is free software: you can redistribute it and/or modify * * it under the terms of the GNU Lesser General Public License as * * published by the Free Software Foundation, either version 3 of * * the License, or (at your option) any later version with the * * following exceptions: * * * * If other files instantiate templates or use macros * * or inline functions from this file, or you compile this file and * * link it with other files to produce an executable, this file does * * not by itself cause the resulting executable to be covered by the * * GNU Lesser General Public License. This exception does not however * * invalidate any other reasons why the executable file might be * * covered by the GNU Lesser General Public License. * * * * OpenFlipper is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU Lesser General Public License for more details. * * * * You should have received a copy of the GNU LesserGeneral Public * * License along with OpenFlipper. If not, * * see . * * * `````` Jan Möbius committed Aug 05, 2009 33 34 35 ``````\*===========================================================================*/ /*===========================================================================*\ `````` Jan Möbius committed Nov 25, 2010 36 37 38 39 40 ``````* * * \$Revision\$ * * \$LastChangedBy\$ * * \$Date\$ * * * `````` Jan Möbius committed Aug 05, 2009 41 ``````\*===========================================================================*/ `````` Jan Möbius committed Aug 29, 2008 42 `````` `````` Jan Möbius committed Oct 16, 2008 43 44 ``````#ifndef SCRIPTINTERFACE_HH #define SCRIPTINTERFACE_HH `````` Jan Möbius committed Aug 29, 2008 45 46 47 48 49 50 51 52 `````` #include /** Interface for all Plugins which provide scriptable Functions. * These Functions should follow some guidelines : * -# Todo */ class ScriptInterface { `````` Jan Möbius committed Oct 16, 2008 53 `````` `````` Mike Kremer committed Feb 10, 2009 54 55 56 57 `````` public: /// Destructor virtual ~ScriptInterface() {}; `````` Jan Möbius committed Aug 29, 2008 58 `````` signals : `````` Jan Möbius committed Oct 16, 2008 59 `````` `````` Jan Möbius committed Aug 29, 2008 60 `````` /** \brief Emit this signal if a scriptable function is executed `````` Jan Möbius committed Oct 16, 2008 61 `````` * `````` Jan Möbius committed Aug 29, 2008 62 `````` * e.g. selectAllVertices( ObjectId ) `````` Jan Möbius committed Oct 16, 2008 63 `````` * `````` Jan Möbius committed Aug 29, 2008 64 65 `````` * @param _functionName the called function */ `````` Dirk Wilden committed Sep 30, 2008 66 `````` virtual void scriptInfo( QString /*_functionName*/ ) {}; `````` Jan Möbius committed Oct 16, 2008 67 `````` `````` Jan Möbius committed Aug 29, 2008 68 69 70 `````` /** Emit this signal to execute a script * @param _script The script to execute */ `````` Dirk Wilden committed Sep 30, 2008 71 `````` virtual void executeScript( QString /*_script*/ ) {}; `````` Jan Möbius committed Oct 16, 2008 72 `````` `````` Jan Möbius committed Aug 29, 2008 73 74 75 `````` /** Emit this signal to get the core scripting engine * @param _engine The scripting Engine */ `````` Dirk Wilden committed Sep 30, 2008 76 `````` virtual void getScriptingEngine( QScriptEngine*& /*_engine*/ ) {}; `````` Jan Möbius committed Oct 16, 2008 77 `````` `````` Jan Möbius committed Aug 29, 2008 78 79 80 `````` /** With this signal you can get a list of all available scripting functions * @param _functions All available functions */ `````` Dirk Wilden committed Sep 30, 2008 81 `````` virtual void getAvailableFunctions( QStringList& /*_functions*/ ) {}; `````` Dirk Wilden committed Oct 15, 2008 82 83 84 85 86 87 88 89 90 91 `````` /** With this signal you can get descriptions about a given function if available * * @param _function name of the function (e.g. plugin.function) * @param _description a description for the function * @param _parameters list of names for the parameters * @param _descriptions list of descriptions for the parameters (_descriptions[i] corresponds to _parameters[i]) */ virtual void getDescription(QString /*_function*/, QString& /*_description*/, QStringList& /*_parameters*/, QStringList& /*_descriptions*/ ) {}; `````` Jan Möbius committed Oct 16, 2008 92 `````` `````` Jan Möbius committed Aug 29, 2008 93 `````` private slots: `````` Jan Möbius committed Oct 16, 2008 94 `````` `````` Jan Möbius committed Aug 29, 2008 95 `````` /** Slot for a scripting plugin. Gets the Script and executes it. `````` Jan Möbius committed Oct 16, 2008 96 `````` * `````` Jan Möbius committed Aug 29, 2008 97 98 99 `````` * @param _pluginName Name of the plugin that executed a scriptable function * @param _functionName Name of the executed function */ `````` Dirk Wilden committed Sep 30, 2008 100 `````` virtual void slotScriptInfo( QString /*_pluginName*/ , QString /*_functionName*/ ) {}; `````` Jan Möbius committed Oct 16, 2008 101 102 `````` `````` Jan Möbius committed Aug 29, 2008 103 `````` /** Slot for a scripting plugin. Gets the Script and executes it. `````` Jan Möbius committed Oct 16, 2008 104 `````` * `````` Jan Möbius committed Aug 29, 2008 105 106 `````` * @param _script Script to execute */ `````` Dirk Wilden committed Sep 30, 2008 107 `````` virtual void slotExecuteScript( QString /*_script*/ ) {}; `````` Jan Möbius committed Oct 16, 2008 108 109 `````` `````` Jan Möbius committed Aug 29, 2008 110 111 `````` /** Call this slot to open the given file and execute the script in it */ `````` Dirk Wilden committed Sep 30, 2008 112 `````` virtual void slotExecuteFileScript( QString /*_filename*/ ) {}; `````` Jan Möbius committed Oct 16, 2008 113 114 `````` `````` Jan Möbius committed Aug 29, 2008 115 116 ``````}; `````` Jan Möbius committed Oct 16, 2008 117 118 ``````Q_DECLARE_INTERFACE(ScriptInterface,"OpenFlipper.ScriptInterface/1.1") `````` Jan Möbius committed Aug 29, 2008 119 ``#endif // SCRIPTINTERFACE_HH``