mirror of
https://github.com/python-LimeReport/LimeReport.git
synced 2025-09-23 08:39:07 +03:00
removeGap property has been added to PageFooterBand
This commit is contained in:
@@ -50,7 +50,7 @@ namespace LimeReport{
|
||||
|
||||
PageFooter::PageFooter(QObject *owner, QGraphicsItem *parent)
|
||||
: BandDesignIntf(LimeReport::BandDesignIntf::PageFooter,xmlTag,owner,parent),
|
||||
m_printOnFirstPage(true), m_printOnLastPage(true)
|
||||
m_printOnFirstPage(true), m_printOnLastPage(true), m_removeGap(false)
|
||||
{
|
||||
setBandTypeText( tr("Page Footer") );
|
||||
setMarkerColor(bandColor());
|
||||
@@ -90,6 +90,16 @@ void PageFooter::processPopUpAction(QAction *action)
|
||||
BandDesignIntf::processPopUpAction(action);
|
||||
}
|
||||
|
||||
bool PageFooter::removeGap() const
|
||||
{
|
||||
return m_removeGap;
|
||||
}
|
||||
|
||||
void PageFooter::setRemoveGap(bool removeGap)
|
||||
{
|
||||
m_removeGap = removeGap;
|
||||
}
|
||||
|
||||
bool PageFooter::printOnFirstPage() const
|
||||
{
|
||||
return m_printOnFirstPage;
|
||||
|
@@ -40,6 +40,7 @@ class PageFooter : public BandDesignIntf
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(bool printOnFirstPage READ printOnFirstPage WRITE setPrintOnFirstPage)
|
||||
Q_PROPERTY(bool printOnLastPage READ printOnLastPage WRITE setPrintOnLastPage)
|
||||
Q_PROPERTY(bool removeGap READ removeGap WRITE setRemoveGap)
|
||||
public:
|
||||
PageFooter(QObject* owner = 0, QGraphicsItem* parent=0);
|
||||
virtual BaseDesignIntf* createSameTypeItem(QObject* owner=0, QGraphicsItem* parent=0);
|
||||
@@ -48,6 +49,8 @@ public:
|
||||
void setPrintOnLastPage(bool printOnLastPage);
|
||||
bool printOnFirstPage() const;
|
||||
void setPrintOnFirstPage(bool printOnFirstPage);
|
||||
bool removeGap() const;
|
||||
void setRemoveGap(bool removeGap);
|
||||
|
||||
protected:
|
||||
QColor bandColor() const;
|
||||
@@ -56,6 +59,7 @@ protected:
|
||||
private:
|
||||
bool m_printOnFirstPage;
|
||||
bool m_printOnLastPage;
|
||||
bool m_removeGap;
|
||||
};
|
||||
}
|
||||
|
||||
|
@@ -181,7 +181,8 @@ BandDesignIntf *PageItemDesignIntf::bandByType(BandDesignIntf::BandsType bandTyp
|
||||
QList<BandDesignIntf*>::const_iterator it = childBands().constBegin();
|
||||
for(;it!=childBands().constEnd();++it){
|
||||
if ( (*it)->bandType()==bandType) return (*it);
|
||||
} return 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool PageItemDesignIntf::isBandExists(BandDesignIntf::BandsType bandType)
|
||||
|
@@ -149,7 +149,8 @@ void ReportRender::renameChildItems(BaseDesignIntf *item){
|
||||
ReportRender::ReportRender(QObject *parent)
|
||||
:QObject(parent), m_renderPageItem(0), m_pageCount(0),
|
||||
m_lastRenderedHeader(0), m_lastDataBand(0), m_lastRenderedFooter(0),
|
||||
m_currentColumn(0), m_newPageStarted(false), m_lostHeadersMoved(false)
|
||||
m_lastRenderedBand(0), m_currentColumn(0), m_newPageStarted(false),
|
||||
m_lostHeadersMoved(false)
|
||||
{
|
||||
initColumns();
|
||||
}
|
||||
@@ -1134,6 +1135,8 @@ bool ReportRender::registerBand(BandDesignIntf *band, bool registerInChildren)
|
||||
emit m_lastDataBand->bandRegistred();
|
||||
#endif
|
||||
}
|
||||
if (band->bandType() != BandDesignIntf::PageFooter)
|
||||
m_lastRenderedBand = band;
|
||||
return true;
|
||||
} else return false;
|
||||
}
|
||||
@@ -1505,8 +1508,6 @@ void ReportRender::savePage(bool isLast)
|
||||
m_datasources->setReportVariable("#PAGE",m_datasources->variable("#PAGE").toInt()+1);
|
||||
}
|
||||
|
||||
BandDesignIntf* pageFooter = m_renderPageItem->bandByType(BandDesignIntf::PageFooter);
|
||||
if (pageFooter) pageFooter->setBandIndex(++m_currentIndex);
|
||||
m_renderedPages.append(PageItemDesignIntf::Ptr(m_renderPageItem));
|
||||
m_pageCount++;
|
||||
emit pageRendered(m_pageCount);
|
||||
@@ -1518,7 +1519,14 @@ void ReportRender::savePage(bool isLast)
|
||||
}
|
||||
}
|
||||
|
||||
if (m_renderPageItem->pageFooter()){
|
||||
m_renderPageItem->pageFooter()->setBandIndex(++m_currentIndex);
|
||||
if (m_renderPageItem->pageFooter()->property("removeGap").toBool()){
|
||||
m_renderPageItem->pageFooter()->setPos(m_lastRenderedBand->geometry().bottomLeft());
|
||||
}
|
||||
}
|
||||
m_renderPageItem->placeTearOffBand();
|
||||
|
||||
m_scriptEngineContext->setCurrentPage(m_renderPageItem);
|
||||
emit m_patternPageItem->afterRender();
|
||||
if (isLast)
|
||||
|
@@ -212,6 +212,7 @@ private:
|
||||
BandDesignIntf* m_lastRenderedHeader;
|
||||
BandDesignIntf* m_lastDataBand;
|
||||
BandDesignIntf* m_lastRenderedFooter;
|
||||
BandDesignIntf* m_lastRenderedBand;
|
||||
bool m_renderCanceled;
|
||||
QVector<qreal> m_maxHeightByColumn;
|
||||
QVector<qreal> m_currentStartDataPos;
|
||||
|
@@ -164,6 +164,7 @@ void QObjectPropertyModel::translatePropertyName()
|
||||
tr("geometryLocked");
|
||||
tr("printBehavior");
|
||||
tr("shiftItems");
|
||||
tr("removeGap");
|
||||
}
|
||||
|
||||
void QObjectPropertyModel::clearObjectsList()
|
||||
|
Reference in New Issue
Block a user