0
0
mirror of https://github.com/fralx/LimeReport.git synced 2025-11-25 00:18:06 +03:00

TOC has been added

This commit is contained in:
Arin Alexander
2017-08-18 22:55:29 +03:00
parent 0b0185a7f9
commit 54c5bc65ed
11 changed files with 241 additions and 21 deletions

View File

@@ -574,7 +574,7 @@ void ReportEnginePrivate::designReport()
m_designerWindow->setWindowIcon(QIcon(":report/images/logo32"));
m_designerWindow->setShowProgressDialog(m_showProgressDialog);
}
m_datasources->updateDatasourceModel();
#ifdef Q_OS_WIN
m_designerWindow->setWindowModality(Qt::ApplicationModal);
#endif
@@ -893,22 +893,41 @@ ReportPages ReportEnginePrivate::renderToPages()
m_reportRender->setScriptContext(scriptContext());
foreach (PageDesignIntf* page, m_pages) {
scriptContext()->baseDesignIntfToScript(page->pageItem());
scriptContext()->baseDesignIntfToScript(page->pageItem()->objectName(), page->pageItem());
}
if (m_scriptEngineContext->runInitScript()){
emit renderStarted();
foreach(PageDesignIntf* page , m_pages){
page->setReportSettings(&m_reportSettings);
result.append(m_reportRender->renderPageToPages(page));
if (!page->pageItem()->getIsTOC()){
page->setReportSettings(&m_reportSettings);
result.append(m_reportRender->renderPageToPages(page));
}
}
bool isFirst = true;
foreach(PageDesignIntf* page , m_pages){
if (page->pageItem()->getIsTOC()){
page->setReportSettings(&m_reportSettings);
if (isFirst){
ReportPages pages = m_reportRender->renderPageToPages(page);
for (int i=0; i<pages.count(); ++i){
result.insert(i,pages.at(i));
}
}
else
result.append(m_reportRender->renderPageToPages(page));
}
isFirst = false;
}
m_reportRender->secondRenderPass(result);
emit renderFinished();
m_reportRender.clear();
m_reportRendering = false;
}
m_reportRendering = false;
activateLanguage(QLocale::AnyLanguage);
return result;
} else {
@@ -1145,5 +1164,10 @@ ReportEngine::ReportEngine(ReportEnginePrivate &dd, QObject *parent)
connect(d, SIGNAL(renderFinished()), this, SIGNAL(renderFinished()));
}
ScriptEngineManager*LimeReport::ReportEnginePrivate::scriptManager(){
ScriptEngineManager::instance().setDataManager(dataManager());
return &ScriptEngineManager::instance();
}
}// namespace LimeReport