代码拉取完成,页面将自动刷新
#ifndef SCRIPTENGINE_H
#define SCRIPTENGINE_H
#include "mostQtHeaders.h"
#if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(__clang__) && (__GNUC__ >= 8)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wcast-function-type"
#endif
#ifdef QJS
#include <QJSEngine>
#include <QJSValueIterator>
#include <QQmlEngine>
#else
#include <QtScript>
#include <QScriptEngine>
#endif
#if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(__clang__) && (__GNUC__ >= 8)
#pragma GCC diagnostic pop
#endif
#include "qeditor.h"
class BuildManager;
class Texstudio;
class ScriptObject;
class LatexEditorView;
class Macro;
class scriptengine : public QObject
{
Q_OBJECT
public:
scriptengine(QObject *parent = nullptr);
~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;
#ifdef QJS
protected slots:
void insertSnippet(const QString& arg);
QJSValue replaceSelectedText(QJSValue replacementText,QJSValue options=QJSValue());
QJSValue searchFunction(QJSValue searchFor, QJSValue arg1=QJSValue(), QJSValue arg2=QJSValue(), QJSValue arg3=QJSValue());
QJSValue replaceFunction(QJSValue searchFor, QJSValue arg1=QJSValue(), QJSValue arg2=QJSValue(), QJSValue arg3=QJSValue());
//void save();
//void saveCopy(const QString& fileName);
#endif
protected:
#ifdef QJS
QJSEngine *engine;
#else
QScriptEngine *engine;
#endif
#ifdef QJS
QJSValue searchReplaceFunction(QJSValue searchText, QJSValue arg1, QJSValue arg2, QJSValue arg3, bool replace);
#endif
QPointer<LatexEditorView> m_editorView;
QPointer<QEditor> m_editor;
QString m_script;
bool m_allowWrite;
};
#include "universalinputdialog.h"
#ifdef QJS
class UniversalInputDialogScript: public UniversalInputDialog
{
Q_OBJECT
public:
Q_INVOKABLE UniversalInputDialogScript(QWidget *parent = nullptr);
~UniversalInputDialogScript();
public slots:
QWidget* add(const QJSValue &def, const QJSValue &description, const QJSValue &id = QJSValue());
QJSValue execDialog();
QJSValue getAll();
QVariant get(const QJSValue &id);
private:
QJSEngine *engine;
};
#else
class UniversalInputDialogScript: public UniversalInputDialog
{
Q_OBJECT
public:
UniversalInputDialogScript(QScriptEngine *engine, QWidget *parent = nullptr);
~UniversalInputDialogScript();
public slots:
QScriptValue add(const QScriptValue &def, const QScriptValue &description, const QScriptValue &id = QScriptValue());
QScriptValue execDialog();
QScriptValue getAll();
QScriptValue get(const QScriptValue &id);
private:
QScriptEngine *engine;
};
class TimeoutWrapper: public QObject
{
Q_OBJECT
public:
QScriptValue fun;
public slots:
void run();
};
#endif
#endif // SCRIPTENGINE_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。