diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-20 01:29:50 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-20 01:29:50 +0000 |
commit | 8362bf63dea22bbf6736609b0f49c152f975eb63 (patch) | |
tree | 0eea3928e39e50fae91d4e68b21b1e6cbae25604 /kexi/formeditor/scripting/formscript.h | |
download | koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.tar.gz koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.zip |
Added old abandoned KDE3 version of koffice
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/koffice@1077364 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kexi/formeditor/scripting/formscript.h')
-rw-r--r-- | kexi/formeditor/scripting/formscript.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/kexi/formeditor/scripting/formscript.h b/kexi/formeditor/scripting/formscript.h new file mode 100644 index 00000000..e3d63d74 --- /dev/null +++ b/kexi/formeditor/scripting/formscript.h @@ -0,0 +1,78 @@ +/* This file is part of the KDE project + Copyright (C) 2004 Cedric Pasteur <cedric.pasteur@free.fr> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. +*/ + +#ifndef FORMSCRIPT_H +#define FORMSCRIPT_H + +#include "kexievents.h" + +#include <qobject.h> +#include <qstring.h> +#include <ksharedptr.h> + +class ScriptManager; + +namespace KFormDesigner { + class Form; +} + +namespace Kross { + namespace Api { + class ScriptContainer; + } +} + +using namespace KFormDesigner; + +//! A class that stores the code and events related to a single form +class FormScript : public QObject +{ + Q_OBJECT + + public: + FormScript(Form *form, ScriptManager *manager, const char *name=0); + ~FormScript(); + + EventList* eventList() { return &m_list; } + Kross::Api::ScriptContainer* scriptContainer() { return m_script; } + + /*! \return The code of funtionName. If parameter is empty, it returns the full code of this form.*/ + QString getCode(const QString &functionName=QString::null); + /*! Replaces the actual form code with the string \a code. + Called eg by (future) script editor. */ + void setCode(const QString &code); + /*! Adds the string \a code at the end of current code. Used to add a function in the script. */ + void appendCode(const QString &code); + + /*! Executes the \a functionName. + \todo how do we give parameters? */ + bool execute(const QString &functionName); + /*! Really connects all events in the list. + Also calls Kross;;Api::Manager::addObject for each widget in the form to allow the user to + use these widgets in the script. */ + void connectEvents(); + + private: + ScriptManager *m_manager; + Form *m_form; + KSharedPtr<Kross::Api::ScriptContainer> m_script; + EventList m_list; +}; + +#endif |