Render process signals emitting have been fixed

This commit is contained in:
Arin Alexander 2021-01-10 23:28:16 +03:00
parent 69389eb6c6
commit 06969990d6
5 changed files with 11 additions and 10 deletions

View File

@ -133,7 +133,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc
LIMEREPORT_VERSION_MAJOR = 1
LIMEREPORT_VERSION_MINOR = 5
LIMEREPORT_VERSION_RELEASE = 76
LIMEREPORT_VERSION_RELEASE = 78
LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}'
DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\"

View File

@ -274,8 +274,8 @@ public:
bool isNeedUpdateSize(RenderPass) const;
void copyBandAttributes(BandDesignIntf* source);
signals:
void bandRendered(LimeReport::BandDesignIntf* band);
void bandReRendered(LimeReport::BandDesignIntf* oldBand, LimeReport::BandDesignIntf* newBand);
void bandRendered(BandDesignIntf* band);
void bandReRendered(BandDesignIntf* oldBand, BandDesignIntf* newBand);
void preparedForRender();
void bandRegistred();
protected:

View File

@ -480,8 +480,8 @@ signals:
void propertyChanged(const QString& propertName, const QVariant& oldValue,const QVariant& newValue);
void propertyObjectNameChanged(const QString& oldValue, const QString& newValue);
void propertyesChanged(QVector<QString> propertyNames);
void itemAlignChanged(LimeReport::BaseDesignIntf* item, const LimeReport::BaseDesignIntf::ItemAlign& oldValue, const LimeReport::BaseDesignIntf::ItemAlign& newValue);
void itemVisibleHasChanged(LimeReport::BaseDesignIntf* item);
void itemAlignChanged(BaseDesignIntf* item, const BaseDesignIntf::ItemAlign& oldValue, const BaseDesignIntf::ItemAlign& newValue);
void itemVisibleHasChanged(BaseDesignIntf* item);
void beforeRender();
void afterData();
void afterRender();

View File

@ -505,7 +505,6 @@ BandDesignIntf* ReportRender::renderBand(BandDesignIntf *patternBand, BandDesign
bandClone->setBackgroundColor(makeBackgroundColor(patternBand));
patternBand->emitBandRendered(bandClone);
m_scriptEngineContext->setCurrentBand(bandClone);
emit(patternBand->afterRender());
if ( isLast && bandClone->keepFooterTogether() && bandClone->sliceLastRow() ){
if (m_maxHeightByColumn[m_currentColumn] < (bandClone->height()+m_reportFooterHeight))
@ -549,7 +548,7 @@ BandDesignIntf* ReportRender::renderBand(BandDesignIntf *patternBand, BandDesign
savePage();
startNewPage();
if (!bandIsSliced){
BandDesignIntf* t = renderData(patternBand);
BandDesignIntf* t = renderData(patternBand, false);
t->copyBandAttributes(bandClone);
patternBand->emitBandReRendered(bandClone, t);
delete bandClone;
@ -577,6 +576,7 @@ BandDesignIntf* ReportRender::renderBand(BandDesignIntf *patternBand, BandDesign
if (patternBand->isFooter())
datasources()->clearGroupFunctionValues(patternBand->objectName());
emit(patternBand->afterRender());
return bandClone;
}
return 0;
@ -1259,13 +1259,14 @@ BandDesignIntf *ReportRender::saveUppperPartReturnBottom(BandDesignIntf *band, i
return bottomBandPart;
}
BandDesignIntf *ReportRender::renderData(BandDesignIntf *patternBand)
BandDesignIntf *ReportRender::renderData(BandDesignIntf *patternBand, bool emitBeforeRender)
{
BandDesignIntf* bandClone = dynamic_cast<BandDesignIntf*>(patternBand->cloneItem(PreviewMode));
m_scriptEngineContext->baseDesignIntfToScript(patternBand->parent()->objectName(), bandClone);
m_scriptEngineContext->setCurrentBand(bandClone);
emit(patternBand->beforeRender());
if (emitBeforeRender)
emit(patternBand->beforeRender());
if (patternBand->isFooter()){
replaceGroupsFunction(bandClone);

View File

@ -169,7 +169,7 @@ private:
BandDesignIntf *sliceBand(BandDesignIntf* band, BandDesignIntf *patternBand, bool isLast);
BandDesignIntf* saveUppperPartReturnBottom(BandDesignIntf *band, int height, BandDesignIntf *patternBand);
BandDesignIntf* renderData(BandDesignIntf* patternBand);
BandDesignIntf* renderData(BandDesignIntf* patternBand, bool emitBeforeRender = true);
void startNewColumn();
void startNewPage(bool isFirst = false);
void resetPageNumber(ResetPageNuberType resetType);