kexi
formscript.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef FORMSCRIPT_H
00021 #define FORMSCRIPT_H
00022
00023 #include "kexievents.h"
00024
00025 #include <qobject.h>
00026 #include <qstring.h>
00027 #include <ksharedptr.h>
00028
00029 class ScriptManager;
00030
00031 namespace KFormDesigner {
00032 class Form;
00033 }
00034
00035 namespace Kross {
00036 namespace Api {
00037 class ScriptContainer;
00038 }
00039 }
00040
00041 using namespace KFormDesigner;
00042
00044 class FormScript : public QObject
00045 {
00046 Q_OBJECT
00047
00048 public:
00049 FormScript(Form *form, ScriptManager *manager, const char *name=0);
00050 ~FormScript();
00051
00052 EventList* eventList() { return &m_list; }
00053 Kross::Api::ScriptContainer* scriptContainer() { return m_script; }
00054
00056 QString getCode(const QString &functionName=QString::null);
00059 void setCode(const QString &code);
00061 void appendCode(const QString &code);
00062
00065 bool execute(const QString &functionName);
00069 void connectEvents();
00070
00071 private:
00072 ScriptManager *m_manager;
00073 Form *m_form;
00074 KSharedPtr<Kross::Api::ScriptContainer> m_script;
00075 EventList m_list;
00076 };
00077
00078 #endif
|