QJSEngine has been added

This commit is contained in:
Arin Alex
2016-11-01 20:42:45 +03:00
parent 3bf993eb5a
commit 2034aa15c8
15 changed files with 595 additions and 60 deletions

View File

@@ -42,6 +42,12 @@
# define LIMEREPORT_EXPORT /**/
#endif
#ifdef USE_QJSENGINE
#include <QJSEngine>
#else
#include <QScriptEngine>
#endif
namespace LimeReport {
#ifdef __GNUC__
@@ -83,6 +89,7 @@ namespace Const{
const QString GROUP_FUNCTION_RX = "(%1\\s*"+GROUP_FUNCTION_PARAM_RX+")";
const QString GROUP_FUNCTION_NAME_RX = "%1\\s*\\((.*[^\\)])\\)";
const int SCENE_MARGIN = 50;
const QString FUNCTION_MANAGER_NAME = "LimeReport";
}
QString extractClassName(QString className);
enum RenderPass {FirstPass, SecondPass};
@@ -117,6 +124,13 @@ namespace Const{
typedef QStyleOptionViewItem StyleOptionViewItem;
#endif
#ifdef USE_QJSENGINE
typedef QJSEngine ScriptEngineType;
typedef QJSValue ScriptValueType;
#else
typedef QScriptEngine ScriptEngineType;
typedef QScriptValue ScriptValueType;
#endif
} // namespace LimeReport

View File

@@ -33,6 +33,7 @@
#include <QObject>
#include <QSettings>
#include <QPrintDialog>
//#include <QJSEngine>
#include "lrglobal.h"
#include "lrdatasourcemanagerintf.h"

View File

@@ -30,15 +30,19 @@
#ifndef LRSCRIPTENGINEMANAGERINTF_H
#define LRSCRIPTENGINEMANAGERINTF_H
#include <QtScript/QScriptEngine>
//#include <QJSEngine>
#include "lrglobal.h"
namespace LimeReport{
class IScriptEngineManager{
public:
virtual QScriptEngine* scriptEngine() = 0;
virtual bool addFunction(const QString& name, QScriptEngine::FunctionSignature function,
virtual ScriptEngineType* scriptEngine() = 0;
#ifndef USE_QJSENGINE
virtual bool addFunction(const QString& name, ScriptEngineType::FunctionSignature function,
const QString& category="", const QString& description="") = 0;
#endif
virtual bool addFunction(const QString &name, const QString& script,
const QString &category="", const QString &description="") = 0;
virtual const QString& lastError() const = 0;
@@ -46,4 +50,5 @@ public:
};
} //namespace LimeReport
#endif // LRSCRIPTENGINEMANAGERINTF_H