1 2 3 4 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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
#ifndef SCRIPTENGINE_H
#define SCRIPTENGINE_H
#include "mostQtHeaders.h"
#include <QtScript>
#include <QScriptEngine>
#include "qeditor.h"
class BuildManager;
class Texstudio;
class ScriptObject;
class LatexEditorView;
class Macro;
class scriptengine : public QObject
{
Q_OBJECT
public:
scriptengine(QObject *parent = 0);
~scriptengine();
void run();
void setScript(const QString &script, bool allowWrite = false);
void setEditorView(LatexEditorView *edView);
static BuildManager *buildManager;
static Texstudio *app;
QStringList triggerMatches;
int triggerId;
ScriptObject *globalObject;
static QList<Macro> *macros;
protected:
QScriptEngine *engine;
QPointer<LatexEditorView> m_editorView;
QPointer<QEditor> m_editor;
QString m_script;
bool m_allowWrite;
};
#include "universalinputdialog.h"
class UniversalInputDialogScript: public UniversalInputDialog
{
Q_OBJECT
public:
UniversalInputDialogScript(QScriptEngine *engine, QWidget *parent = 0);
~UniversalInputDialogScript();
public slots:
QScriptValue add(const QScriptValue &def, const QScriptValue &description, const QScriptValue &id = QScriptValue());
#if QT_VERSION >= 0x050000
QScriptValue execDialog();
#else
QScriptValue exec();
#endif
QScriptValue getAll();
QScriptValue get(const QScriptValue &id);
private:
QScriptEngine *engine;
};
class TimeoutWrapper: public QObject
{
Q_OBJECT
public:
QScriptValue fun;
public slots:
void run();
};
#endif // SCRIPTENGINE_H
|