mirror of
https://github.com/fralx/LimeReport.git
synced 2024-12-24 00:33:02 +03:00
Band relocation has been changed
This commit is contained in:
parent
c2dab351cb
commit
bb339a3a90
@ -70,7 +70,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc
|
||||
|
||||
LIMEREPORT_VERSION_MAJOR = 1
|
||||
LIMEREPORT_VERSION_MINOR = 4
|
||||
LIMEREPORT_VERSION_RELEASE = 96
|
||||
LIMEREPORT_VERSION_RELEASE = 97
|
||||
|
||||
LIMEREPORT_VERSION = '\\"$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}\\"'
|
||||
DEFINES += LIMEREPORT_VERSION_STR=\"$${LIMEREPORT_VERSION}\"
|
||||
|
@ -128,7 +128,7 @@ BandDesignIntf::BandDesignIntf(BandsType bandType, const QString &xmlTypeName, Q
|
||||
m_startFromNewPage(false),
|
||||
m_printAlways(false),
|
||||
m_repeatOnEachRow(false),
|
||||
m_bottomSpace()
|
||||
m_bottomSpace(0)
|
||||
{
|
||||
setPossibleResizeDirectionFlags(ResizeBottom);
|
||||
setPossibleMoveFlags(TopBotom);
|
||||
@ -549,7 +549,6 @@ BaseDesignIntf* BandDesignIntf::cloneUpperPart(int height, QObject *owner, QGrap
|
||||
{
|
||||
int maxBottom = 0;
|
||||
BandDesignIntf* upperPart = dynamic_cast<BandDesignIntf*>(createSameTypeItem(owner,parent));
|
||||
upperPart->m_bottomSpace = this->bottomSpace();
|
||||
BaseDesignIntf* upperItem = 0;
|
||||
|
||||
upperPart->initFromItem(this);
|
||||
@ -596,7 +595,6 @@ bool itemLessThen(QGraphicsItem* i1, QGraphicsItem* i2){
|
||||
BaseDesignIntf *BandDesignIntf::cloneBottomPart(int height, QObject *owner, QGraphicsItem *parent)
|
||||
{
|
||||
BandDesignIntf* bottomPart = dynamic_cast<BandDesignIntf*>(createSameTypeItem(owner,parent));
|
||||
bottomPart->m_bottomSpace = this->bottomSpace();
|
||||
bottomPart->initFromItem(this);
|
||||
|
||||
QList<QGraphicsItem*> bandItems;
|
||||
@ -794,7 +792,7 @@ void BandDesignIntf::setAlternateBackgroundColor(const QColor &alternateBackgrou
|
||||
|
||||
qreal BandDesignIntf::bottomSpace() const
|
||||
{
|
||||
return m_bottomSpace.isValid() ? m_bottomSpace.value() : height()-findMaxBottom();
|
||||
return height()-findMaxBottom();
|
||||
}
|
||||
|
||||
void BandDesignIntf::slotPropertyObjectNameChanged(const QString &, const QString& newName)
|
||||
@ -804,6 +802,16 @@ void BandDesignIntf::slotPropertyObjectNameChanged(const QString &, const QStrin
|
||||
m_bandNameLabel->updateLabel(newName);
|
||||
}
|
||||
|
||||
int BandDesignIntf::bootomSpace() const
|
||||
{
|
||||
return m_bottomSpace;
|
||||
}
|
||||
|
||||
void BandDesignIntf::setBootomSpace(int bootomSpace)
|
||||
{
|
||||
m_bottomSpace = bootomSpace;
|
||||
}
|
||||
|
||||
bool BandDesignIntf::repeatOnEachRow() const
|
||||
{
|
||||
return m_repeatOnEachRow;
|
||||
@ -974,6 +982,8 @@ void BandDesignIntf::updateItemSize(DataSourceManager* dataManager, RenderPass p
|
||||
if (borderLines()!=0){
|
||||
spaceBorder += borderLineSize();
|
||||
}
|
||||
|
||||
spaceBorder += m_bottomSpace;
|
||||
restoreLinks();
|
||||
snapshotItemsLayout();
|
||||
arrangeSubItems(pass, dataManager);
|
||||
|
@ -240,8 +240,10 @@ public:
|
||||
qreal bottomSpace() const;
|
||||
void setBackgroundModeProperty(BGMode value);
|
||||
void setBackgroundOpacity(int value);
|
||||
int bootomSpace() const;
|
||||
void setBootomSpace(int bootomSpace);
|
||||
signals:
|
||||
void bandRendered(BandDesignIntf* band);
|
||||
void bandRendered(BandDesignIntf* band);
|
||||
protected:
|
||||
void trimToMaxHeight(int maxHeight);
|
||||
void setBandTypeText(const QString& value);
|
||||
@ -295,7 +297,7 @@ private:
|
||||
bool m_repeatOnEachRow;
|
||||
QMap<QString,BaseDesignIntf*> m_slicedItems;
|
||||
QColor m_alternateBackgroundColor;
|
||||
InitializedValue m_bottomSpace;
|
||||
int m_bottomSpace;
|
||||
};
|
||||
|
||||
class DataBandDesignIntf : public BandDesignIntf{
|
||||
|
@ -396,8 +396,16 @@ void PageItemDesignIntf::relocateBands()
|
||||
m_bands[i+1]->columnsCount());
|
||||
}
|
||||
if (m_bands[i+1]->columnIndex()==0){
|
||||
m_bands[i+1]->setPos(pageRect().x(),posByColumn[0]);
|
||||
posByColumn[0] += m_bands[i+1]->height()+bandSpace;
|
||||
if ( ((m_bands[i]->borderLines() & BandDesignIntf::BottomLine) &&
|
||||
(m_bands[i+1]->borderLines() & BandDesignIntf::TopLine)) ||
|
||||
(!(m_bands[i]->borderLines() & BandDesignIntf::BottomLine) &&
|
||||
!(m_bands[i+1]->borderLines() & BandDesignIntf::TopLine)) ){
|
||||
m_bands[i+1]->setPos(pageRect().x(),posByColumn[0]);
|
||||
posByColumn[0] += m_bands[i+1]->height()+bandSpace;
|
||||
} else {
|
||||
m_bands[i+1]->setPos(pageRect().x(),posByColumn[0]+2);
|
||||
posByColumn[0] += m_bands[i+1]->height()+bandSpace+2;
|
||||
}
|
||||
} else {
|
||||
m_bands[i+1]->setPos(m_bands[i+1]->pos().x(),posByColumn[m_bands[i+1]->columnIndex()]);
|
||||
posByColumn[m_bands[i+1]->columnIndex()] += m_bands[i+1]->height()+bandSpace;
|
||||
|
@ -45,7 +45,7 @@ namespace LimeReport{
|
||||
|
||||
PreviewReportWindow::PreviewReportWindow(ReportEnginePrivate *report,QWidget *parent, QSettings *settings, Qt::WindowFlags flags) :
|
||||
QMainWindow(parent,flags),
|
||||
ui(new Ui::PreviewReportWindow), m_settings(settings), m_ownedSettings(false)
|
||||
ui(new Ui::PreviewReportWindow), m_settings(settings), m_ownedSettings(false), m_scalePercentChanging(false)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
setWindowTitle("Lime Report Preview");
|
||||
@ -402,12 +402,20 @@ void PreviewReportWindow::on_actionOne_to_one_triggered()
|
||||
|
||||
void PreviewReportWindow::scaleComboboxChanged(QString text)
|
||||
{
|
||||
if (m_scalePercentChanging) return;
|
||||
m_scalePercentChanging = true;
|
||||
m_previewReportWidget->setScalePercent(text.remove(text.count()-1,1).toInt());
|
||||
m_scalePercentChanging = false;
|
||||
}
|
||||
|
||||
void PreviewReportWindow::slotScalePercentChanged(int percent)
|
||||
{
|
||||
if (m_scalePercentChanging) return;
|
||||
m_scalePercentChanging = true;
|
||||
if (m_scalePercent->findText(QString("%1%").arg(percent)) == -1)
|
||||
m_scalePercent->setCurrentIndex(-1);
|
||||
m_scalePercent->setEditText(QString("%1%").arg(percent));
|
||||
m_scalePercentChanging = false;
|
||||
}
|
||||
|
||||
void PreviewReportWindow::on_actionShowMessages_toggled(bool value)
|
||||
|
@ -120,6 +120,7 @@ private:
|
||||
QComboBox* m_scalePercent;
|
||||
ScaleType m_previewScaleType;
|
||||
int m_previewScalePercent;
|
||||
bool m_scalePercentChanging;
|
||||
|
||||
};
|
||||
} //namespace LimeReport
|
||||
|
@ -63,7 +63,7 @@ ReportEnginePrivate::ReportEnginePrivate(QObject *parent) :
|
||||
m_showProgressDialog(true), m_reportName(""), m_activePreview(0),
|
||||
m_previewWindowIcon(":/report/images/logo32"), m_previewWindowTitle(tr("Preview")),
|
||||
m_reportRendering(false), m_resultIsEditable(true), m_passPhrase("HjccbzHjlbyfCkjy"),
|
||||
m_fileWatcher( new QFileSystemWatcher( this ) ),
|
||||
m_fileWatcher( new QFileSystemWatcher( this ) ), m_previewLayoutDirection(Qt::LayoutDirectionAuto),
|
||||
m_previewScaleType(FitWidth), m_previewScalePercent(0)
|
||||
{
|
||||
#ifdef HAVE_STATIC_BUILD
|
||||
|
@ -428,6 +428,8 @@ BandDesignIntf* ReportRender::renderBand(BandDesignIntf *patternBand, BandDesign
|
||||
bandClone=renderData(patternBand);
|
||||
}
|
||||
|
||||
if (isLast) bandClone->setBootomSpace(1);
|
||||
|
||||
if (mode == ForcedStartPage){
|
||||
savePage();
|
||||
startNewPage();
|
||||
|
Loading…
Reference in New Issue
Block a user