summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/charts/axis/horizontalaxis.cpp10
-rw-r--r--src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp6
-rw-r--r--src/charts/axis/logvalueaxis/chartlogvalueaxisy.cpp6
-rw-r--r--src/charts/axis/verticalaxis.cpp11
4 files changed, 18 insertions, 15 deletions
diff --git a/src/charts/axis/horizontalaxis.cpp b/src/charts/axis/horizontalaxis.cpp
index 1323382d..de15fcb8 100644
--- a/src/charts/axis/horizontalaxis.cpp
+++ b/src/charts/axis/horizontalaxis.cpp
@@ -37,14 +37,12 @@ void HorizontalAxis::updateGeometry()
{
const QVector<qreal> &layout = ChartAxisElement::layout();
- if (layout.isEmpty())
+ if (layout.isEmpty() && axis()->type() != QAbstractAxis::AxisTypeLogValue)
return;
QStringList labelList = labels();
- QList<QGraphicsItem *> lines = gridItems();
QList<QGraphicsItem *> labels = labelItems();
- QList<QGraphicsItem *> shades = shadeItems();
QList<QGraphicsItem *> arrow = arrowItems();
QGraphicsTextItem *title = titleItem();
@@ -90,6 +88,12 @@ void HorizontalAxis::updateGeometry()
availableSpace -= titleBoundingRect.height();
}
+ if (layout.isEmpty() && axis()->type() == QAbstractAxis::AxisTypeLogValue)
+ return;
+
+ QList<QGraphicsItem *> lines = gridItems();
+ QList<QGraphicsItem *> shades = shadeItems();
+
for (int i = 0; i < layout.size(); ++i) {
//items
QGraphicsLineItem *gridItem = static_cast<QGraphicsLineItem*>(lines.at(i));
diff --git a/src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp b/src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp
index 33d12135..30d1a6ba 100644
--- a/src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp
+++ b/src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp
@@ -48,10 +48,10 @@ QVector<qreal> ChartLogValueAxisX::calculateLayout() const
qreal ceilEdge = ceil(leftEdge);
int tickCount = qAbs(ceil(logMax) - ceil(logMin));
- points.resize(tickCount + 1);
+ points.resize(tickCount);
const QRectF &gridRect = gridGeometry();
const qreal deltaX = gridRect.width() / qAbs(logMax - logMin);
- for (int i = 0; i <= tickCount; ++i)
+ for (int i = 0; i < tickCount; ++i)
points[i] = (ceilEdge + qreal(i)) * deltaX - leftEdge * deltaX + gridRect.left();
return points;
@@ -60,8 +60,6 @@ QVector<qreal> ChartLogValueAxisX::calculateLayout() const
void ChartLogValueAxisX::updateGeometry()
{
const QVector<qreal>& layout = ChartAxisElement::layout();
- if (layout.isEmpty())
- return;
setLabels(createLogValueLabels(m_axis->min(), m_axis->max(), m_axis->base(), layout.size(), m_axis->labelFormat()));
HorizontalAxis::updateGeometry();
}
diff --git a/src/charts/axis/logvalueaxis/chartlogvalueaxisy.cpp b/src/charts/axis/logvalueaxis/chartlogvalueaxisy.cpp
index 341dee8d..0fc7329c 100644
--- a/src/charts/axis/logvalueaxis/chartlogvalueaxisy.cpp
+++ b/src/charts/axis/logvalueaxis/chartlogvalueaxisy.cpp
@@ -47,10 +47,10 @@ QVector<qreal> ChartLogValueAxisY::calculateLayout() const
qreal ceilEdge = ceil(leftEdge);
int tickCount = qAbs(ceil(logMax) - ceil(logMin));
- points.resize(tickCount + 1);
+ points.resize(tickCount);
const QRectF &gridRect = gridGeometry();
const qreal deltaY = gridRect.height() / qAbs(logMax - logMin);
- for (int i = 0; i <= tickCount; ++i)
+ for (int i = 0; i < tickCount; ++i)
points[i] = (ceilEdge + qreal(i)) * -deltaY - leftEdge * -deltaY + gridRect.bottom();
return points;
@@ -60,8 +60,6 @@ QVector<qreal> ChartLogValueAxisY::calculateLayout() const
void ChartLogValueAxisY::updateGeometry()
{
const QVector<qreal> &layout = ChartAxisElement::layout();
- if (layout.isEmpty())
- return;
setLabels(createLogValueLabels(m_axis->min(), m_axis->max(), m_axis->base(), layout.size(), m_axis->labelFormat()));
VerticalAxis::updateGeometry();
}
diff --git a/src/charts/axis/verticalaxis.cpp b/src/charts/axis/verticalaxis.cpp
index 294e1a56..ddea15c3 100644
--- a/src/charts/axis/verticalaxis.cpp
+++ b/src/charts/axis/verticalaxis.cpp
@@ -36,14 +36,12 @@ void VerticalAxis::updateGeometry()
{
const QVector<qreal> &layout = ChartAxisElement::layout();
- if (layout.isEmpty())
+ if (layout.isEmpty() && axis()->type() != QAbstractAxis::AxisTypeLogValue)
return;
QStringList labelList = labels();
- QList<QGraphicsItem *> lines = gridItems();
QList<QGraphicsItem *> labels = labelItems();
- QList<QGraphicsItem *> shades = shadeItems();
QList<QGraphicsItem *> arrow = arrowItems();
QGraphicsTextItem *title = titleItem();
@@ -55,7 +53,6 @@ void VerticalAxis::updateGeometry()
qreal height = axisRect.bottom();
-
//arrow
QGraphicsLineItem *arrowItem = static_cast<QGraphicsLineItem*>(arrow.at(0));
@@ -93,6 +90,12 @@ void VerticalAxis::updateGeometry()
availableSpace -= titleBoundingRect.height();
}
+ if (layout.isEmpty() && axis()->type() == QAbstractAxis::AxisTypeLogValue)
+ return;
+
+ QList<QGraphicsItem *> lines = gridItems();
+ QList<QGraphicsItem *> shades = shadeItems();
+
for (int i = 0; i < layout.size(); ++i) {
//items
QGraphicsLineItem *gridItem = static_cast<QGraphicsLineItem *>(lines.at(i));