mirror of
https://github.com/python-LimeReport/LimeReport.git
synced 2024-12-24 20:44:39 +03:00
Data source management functions have been added to ScriptManager
This commit is contained in:
parent
22eb936d1c
commit
ab8d64e48e
@ -353,7 +353,7 @@ void ScriptEngineManager::setDataManager(DataSourceManager *dataManager){
|
|||||||
);
|
);
|
||||||
addFunction(describer);
|
addFunction(describer);
|
||||||
}
|
}
|
||||||
|
moveQObjectToScript(new DatasourceFunctions(dataManager), LimeReport::Const::DATAFUNCTIONS_MANAGER_NAME);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -564,6 +564,9 @@ void ScriptEngineManager::clearTableOfContents(){
|
|||||||
|
|
||||||
ScriptValueType ScriptEngineManager::moveQObjectToScript(QObject* object, const QString objectName)
|
ScriptValueType ScriptEngineManager::moveQObjectToScript(QObject* object, const QString objectName)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
ScriptValueType obj = scriptEngine()->globalObject().property(objectName);
|
||||||
|
if (!obj.isNull()) delete obj.toQObject();
|
||||||
ScriptValueType result = scriptEngine()->newQObject(object);
|
ScriptValueType result = scriptEngine()->newQObject(object);
|
||||||
scriptEngine()->globalObject().setProperty(objectName, result);
|
scriptEngine()->globalObject().setProperty(objectName, result);
|
||||||
return result;
|
return result;
|
||||||
@ -866,7 +869,6 @@ ScriptEngineManager::ScriptEngineManager()
|
|||||||
m_scriptEngine->setDefaultPrototype(qMetaTypeId<QComboBox*>(),
|
m_scriptEngine->setDefaultPrototype(qMetaTypeId<QComboBox*>(),
|
||||||
m_scriptEngine->newQObject(new ComboBoxPrototype()));
|
m_scriptEngine->newQObject(new ComboBoxPrototype()));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
createLineFunction();
|
createLineFunction();
|
||||||
createNumberFomatFunction();
|
createNumberFomatFunction();
|
||||||
createDateFormatFunction();
|
createDateFormatFunction();
|
||||||
@ -1786,8 +1788,6 @@ void LimeReport::TableOfContents::clear(){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//#ifdef USE_QJSENGINE
|
|
||||||
|
|
||||||
QObject* ComboBoxWrapperCreator::createWrapper(QObject *item)
|
QObject* ComboBoxWrapperCreator::createWrapper(QObject *item)
|
||||||
{
|
{
|
||||||
QComboBox* comboBox = dynamic_cast<QComboBox*>(item);
|
QComboBox* comboBox = dynamic_cast<QComboBox*>(item);
|
||||||
@ -1797,7 +1797,19 @@ QObject* ComboBoxWrapperCreator::createWrapper(QObject *item)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//#endif
|
bool DatasourceFunctions::next(const QString &datasourceName){
|
||||||
|
if (m_dataManager && m_dataManager->dataSource(datasourceName))
|
||||||
|
return m_dataManager->dataSource(datasourceName)->next();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool DatasourceFunctions::isEOF(const QString &datasourceName)
|
||||||
|
{
|
||||||
|
if (m_dataManager && m_dataManager->dataSource(datasourceName))
|
||||||
|
return m_dataManager->dataSource(datasourceName)->eof();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifndef USE_QJSENGINE
|
#ifndef USE_QJSENGINE
|
||||||
void ComboBoxPrototype::addItem(const QString &text)
|
void ComboBoxPrototype::addItem(const QString &text)
|
||||||
|
@ -52,6 +52,8 @@
|
|||||||
#include "lrscriptenginemanagerintf.h"
|
#include "lrscriptenginemanagerintf.h"
|
||||||
#include "lrcallbackdatasourceintf.h"
|
#include "lrcallbackdatasourceintf.h"
|
||||||
#include "lrcollection.h"
|
#include "lrcollection.h"
|
||||||
|
#include "lrdatasourceintf.h"
|
||||||
|
#include "lrdatasourcemanagerintf.h"
|
||||||
|
|
||||||
namespace LimeReport{
|
namespace LimeReport{
|
||||||
|
|
||||||
@ -296,6 +298,16 @@ private:
|
|||||||
QObject* createWrapper(QObject* item);
|
QObject* createWrapper(QObject* item);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class DatasourceFunctions : public QObject{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit DatasourceFunctions(IDataSourceManager* dataManager): m_dataManager(dataManager){}
|
||||||
|
Q_INVOKABLE bool next(const QString& datasourceName);
|
||||||
|
Q_INVOKABLE bool isEOF(const QString& datasourceName);
|
||||||
|
private:
|
||||||
|
IDataSourceManager* m_dataManager;
|
||||||
|
};
|
||||||
|
|
||||||
class ScriptFunctionsManager : public QObject{
|
class ScriptFunctionsManager : public QObject{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
|
Loading…
Reference in New Issue
Block a user