0
0
mirror of https://github.com/fralx/LimeReport.git synced 2025-09-23 16:39:07 +03:00

Building for different script engine has been fixed

This commit is contained in:
Arin Alexander
2019-02-19 02:23:53 +03:00
parent 0a0e1504fa
commit e0ef984fca
10 changed files with 114 additions and 75 deletions

View File

@@ -42,13 +42,6 @@
# define LIMEREPORT_EXPORT /**/
#endif
#ifdef USE_QJSENGINE
//#include <QJSEngine>
#include <QQmlEngine>
#else
#include <QtScript/QScriptEngine>
#endif
namespace LimeReport {
#ifdef __GNUC__
@@ -146,27 +139,12 @@ namespace Const{
virtual ~IPainterProxy();
};
#ifdef HAVE_QT4
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
typedef QStyleOptionViewItemV4 StyleOptionViewItem;
#else
typedef QStyleOptionViewItem StyleOptionViewItem;
#endif
#ifdef USE_QJSENGINE
typedef QJSEngine ScriptEngineType;
typedef QJSValue ScriptValueType;
template <typename T>
static inline QJSValue getJSValue(QJSEngine &e, T *p)
{
QJSValue res = e.newQObject(p);
QQmlEngine::setObjectOwnership(p, QQmlEngine::CppOwnership);
return res;
}
#else
typedef QScriptEngine ScriptEngineType;
typedef QScriptValue ScriptValueType;
#endif
#if QT_VERSION >= QT_VERSION_CHECK(5, 8, 0)
Q_NAMESPACE
#endif

View File

@@ -29,17 +29,47 @@
****************************************************************************/
#ifndef LRSCRIPTENGINEMANAGERINTF_H
#define LRSCRIPTENGINEMANAGERINTF_H
#include "qglobal.h"
//#include <QJSEngine>
#include "lrglobal.h"
#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
#ifndef USE_QTSCRIPTENGINE
#ifndef USE_QJSENGINE
#define USE_QJSENGINE
#endif
#endif
#else
#ifndef USE_QTSCRIPTENGINE
#define USE_QTSCRIPTENGINE
#endif
#endif
#ifdef USE_QJSENGINE
#include <QQmlEngine>
#else
#include <QtScript/QScriptEngine>
#endif
namespace LimeReport{
#ifdef USE_QJSENGINE
typedef QJSEngine ScriptEngineType;
typedef QJSValue ScriptValueType;
template <typename T>
static inline QJSValue getJSValue(QJSEngine &e, T *p)
{
QJSValue res = e.newQObject(p);
QQmlEngine::setObjectOwnership(p, QQmlEngine::CppOwnership);
return res;
}
#else
typedef QScriptEngine ScriptEngineType;
typedef QScriptValue ScriptValueType;
#endif
class IScriptEngineManager{
public:
virtual ScriptEngineType* scriptEngine() = 0;
#ifndef USE_QJSENGINE
#ifdef USE_QTSCRIPTENGINE
virtual bool addFunction(const QString& name, ScriptEngineType::FunctionSignature function,
const QString& category="", const QString& description="") = 0;
#endif