0
0
mirror of https://github.com/fralx/LimeReport.git synced 2025-10-03 12:04:05 +03:00

Handle horizontal bars

This commit is contained in:
Emil Sawicki
2022-01-27 19:20:44 +01:00
parent 5dac77083f
commit d0830a7a37
2 changed files with 29 additions and 14 deletions

View File

@@ -633,7 +633,6 @@ void AbstractSeriesChart::updateMinAndMaxValues()
m_yAxisData = AxisData(minYValue, maxYValue);
m_xAxisData = AxisData(minXValue, maxXValue);
m_xAxisData.setReverseDirection(true);
}
qreal AbstractSeriesChart::hPadding(QRectF chartRect)
@@ -761,13 +760,18 @@ void AbstractSeriesChart::paintHorizontalGrid(QPainter *painter, QRectF gridRect
painter->setFont(adaptValuesFont(hStep-4, painter->font()));
QPointF textPos;
if (m_chartItem->horizontalAxisOnTop()) {
textPos.setY(gridRect.top());
} else {
textPos.setY(gridRect.bottom() - painter->fontMetrics().height());
}
for (int i = 0 ; i < lineCount ; i++ ) {
painter->drawText(QRectF(gridRect.left() + 4 + hStep * i, gridRect.bottom() - painter->fontMetrics().height(),
hStep, painter->fontMetrics().height()),
const qreal x = gridRect.left() + hStep * i;
textPos.setX(x + 4);
painter->drawText(QRectF(textPos, QSizeF(hStep, painter->fontMetrics().height())),
axisLabel(i, yAxisData));
painter->drawLine( gridRect.left()+hStep*i, gridRect.bottom(),
gridRect.left()+hStep*i, gridRect.top());
painter->drawLine(x, gridRect.bottom(), x, gridRect.top());
}
painter->restore();
}
@@ -790,7 +794,6 @@ void AbstractSeriesChart::paintVerticalGrid(QPainter *painter, QRectF gridRect)
const QTextOption verticalTextOption(Qt::AlignRight);
for (int i = 0 ; i < lineCount ; i++ ) {
const qreal y = vStep * i;
// TODO_ES handle horizontalAxisOnTop
painter->drawText(QRectF(gridRect.bottomLeft()-QPointF(textPositionOffset,y+halfFontHeight),
QSizeF(valuesHMargin,fontHeight)),
axisLabel(i, yAxisData),
@@ -823,6 +826,8 @@ void AbstractSeriesChart::paintGrid(QPainter *painter, QRectF gridRect)
const qreal vStep = gridRect.height() / yAxisSegmentCount;
const qreal hStep = (gridRect.width() - valuesHMargin - gridOffset) / xAxisSegmentCount;
painter->setFont(adaptValuesFont(hStep-4, painter->font()));
// Vertical axis lines
const QTextOption verticalTextOption(Qt::AlignRight);
for (int i = 0 ; i < yAxisLineCount ; i++ ) {