beforeRender, afterRender signals have been added to ReportPage

This commit is contained in:
Arin Alexander 2017-02-04 22:15:44 +03:00
parent 7af7a16840
commit f7a3ff622b

View File

@ -209,9 +209,10 @@ void ReportRender::renderPage(PageDesignIntf* patternPage)
{ {
m_curentNameIndex = 0; m_curentNameIndex = 0;
m_patternPageItem = patternPage->pageItem(); m_patternPageItem = patternPage->pageItem();
if (m_patternPageItem->resetPageNumber() && m_pageCount>0) { if (m_patternPageItem->resetPageNumber() && m_pageCount>0) {
resetPageNumber(PageReset); resetPageNumber(PageReset);
} }
m_renderCanceled = false; m_renderCanceled = false;
BandDesignIntf* reportFooter = m_patternPageItem->bandByType(BandDesignIntf::ReportFooter); BandDesignIntf* reportFooter = m_patternPageItem->bandByType(BandDesignIntf::ReportFooter);
@ -224,7 +225,7 @@ void ReportRender::renderPage(PageDesignIntf* patternPage)
#endif #endif
if (m_scriptEngineContext){ if (m_scriptEngineContext){
baseDesignIntfToScript(patternPage->pageItem());
foreach (BaseDesignIntf* item, patternPage->pageItem()->childBaseItems()){ foreach (BaseDesignIntf* item, patternPage->pageItem()->childBaseItems()){
baseDesignIntfToScript(item); baseDesignIntfToScript(item);
} }
@ -246,6 +247,8 @@ void ReportRender::renderPage(PageDesignIntf* patternPage)
clearPageMap(); clearPageMap();
startNewPage(); startNewPage();
renderBand(m_patternPageItem->bandByType(BandDesignIntf::ReportHeader), 0, StartNewPageAsNeeded); renderBand(m_patternPageItem->bandByType(BandDesignIntf::ReportHeader), 0, StartNewPageAsNeeded);
BandDesignIntf* lastRenderedBand = 0; BandDesignIntf* lastRenderedBand = 0;
@ -300,6 +303,7 @@ void ReportRender::initRenderPage()
m_renderPageItem = new PageItemDesignIntf(m_patternPageItem->pageSize(), m_patternPageItem->pageRect()); m_renderPageItem = new PageItemDesignIntf(m_patternPageItem->pageSize(), m_patternPageItem->pageRect());
m_renderPageItem->initFromItem(m_patternPageItem); m_renderPageItem->initFromItem(m_patternPageItem);
m_renderPageItem->setItemMode(PreviewMode); m_renderPageItem->setItemMode(PreviewMode);
m_renderPageItem->setPatternName(m_patternPageItem->objectName());
} }
} }
@ -1018,11 +1022,15 @@ void ReportRender::startNewPage()
initColumns(); initColumns();
initRenderPage(); initRenderPage();
baseDesignIntfToScript(m_renderPageItem);
m_renderPageItem->setObjectName(QLatin1String("ReportPage")+QString::number(m_pageCount)); m_renderPageItem->setObjectName(QLatin1String("ReportPage")+QString::number(m_pageCount));
m_maxHeightByColumn[m_currentColumn]=m_renderPageItem->pageRect().height(); m_maxHeightByColumn[m_currentColumn]=m_renderPageItem->pageRect().height();
m_currentStartDataPos[m_currentColumn]=m_patternPageItem->topMargin()*Const::mmFACTOR; m_currentStartDataPos[m_currentColumn]=m_patternPageItem->topMargin()*Const::mmFACTOR;
m_currentIndex=0; m_currentIndex=0;
emit m_patternPageItem->beforeRender();
renderPageHeader(m_patternPageItem); renderPageHeader(m_patternPageItem);
m_pageFooterHeight = calcPageFooterHeight(m_patternPageItem); m_pageFooterHeight = calcPageFooterHeight(m_patternPageItem);
@ -1031,6 +1039,7 @@ void ReportRender::startNewPage()
m_dataAreaSize = m_maxHeightByColumn[m_currentColumn]; m_dataAreaSize = m_maxHeightByColumn[m_currentColumn];
m_renderedDataBandCount = 0; m_renderedDataBandCount = 0;
foreach (BandDesignIntf* band, m_reprintableBands) { foreach (BandDesignIntf* band, m_reprintableBands) {
renderBand(band, 0); renderBand(band, 0);
} }
@ -1208,6 +1217,7 @@ void ReportRender::savePage(bool isLast)
} }
moveTearOffBand(); moveTearOffBand();
emit m_patternPageItem->afterRender();
} }