From 2d31d2416643598b15664c766326f18c5b698c79 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 14 Jan 2014 10:08:28 +0200 Subject: Add series name property MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit +Don't call updateScene for every render cycle +Fixed item label update when format or name changes +Misc cosmetic fixes Task-number: QTRD-2736 Task-number: QTRD-2571 Change-Id: I43aa6b8e3202b09529b17a22bb24d05fcb545609 Reviewed-by: Tomi Korpipää --- tests/barstest/chart.cpp | 10 +++++++--- tests/scattertest/main.cpp | 6 ++++++ tests/scattertest/scatterchart.cpp | 9 ++++++++- tests/scattertest/scatterchart.h | 1 + tests/surfacetest/graphmodifier.cpp | 11 +++++++++++ 5 files changed, 33 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/barstest/chart.cpp b/tests/barstest/chart.cpp index 4048e807..c83a9389 100644 --- a/tests/barstest/chart.cpp +++ b/tests/barstest/chart.cpp @@ -121,9 +121,13 @@ GraphModifier::GraphModifier(Q3DBars *barchart, QColorDialog *colorDialog) m_graph->setActiveTheme(m_builtinTheme); m_graph->setShadowQuality(QDataVis::ShadowQualitySoftMedium); - m_temperatureData->setItemLabelFormat(QStringLiteral("1: @valueTitle for @colLabel @rowLabel: @valueLabel")); - m_temperatureData2->setItemLabelFormat(QStringLiteral("2: @valueTitle for @colLabel @rowLabel: @valueLabel")); - m_genericData->setItemLabelFormat(QStringLiteral("3: @valueTitle for (@rowIdx, @colIdx): @valueLabel")); + m_temperatureData->setName("Oulu"); + m_temperatureData2->setName("Helsinki"); + m_genericData->setName("Generic series"); + + m_temperatureData->setItemLabelFormat(QStringLiteral("@seriesName: @valueTitle for @colLabel @rowLabel: @valueLabel")); + m_temperatureData2->setItemLabelFormat(QStringLiteral("@seriesName: @valueTitle for @colLabel @rowLabel: @valueLabel")); + m_genericData->setItemLabelFormat(QStringLiteral("@seriesName: @valueTitle for (@rowIdx, @colIdx): @valueLabel")); m_genericData->dataProxy()->setColumnLabels(genericColumnLabels); m_temperatureData->setBaseColor(Qt::red); diff --git a/tests/scattertest/main.cpp b/tests/scattertest/main.cpp index d4a6c108..92c8d526 100644 --- a/tests/scattertest/main.cpp +++ b/tests/scattertest/main.cpp @@ -109,6 +109,9 @@ int main(int argc, char **argv) QPushButton *toggleSeriesVisibilityButton = new QPushButton(widget); toggleSeriesVisibilityButton->setText(QStringLiteral("Toggle visibility")); + QPushButton *changeSeriesNameButton = new QPushButton(widget); + changeSeriesNameButton->setText(QStringLiteral("Series name")); + QPushButton *startTimerButton = new QPushButton(widget); startTimerButton->setText(QStringLiteral("Start/stop timer")); @@ -176,6 +179,7 @@ int main(int argc, char **argv) vLayout->addWidget(addSeriesButton, 0, Qt::AlignTop); vLayout->addWidget(removeSeriesButton, 0, Qt::AlignTop); vLayout->addWidget(toggleSeriesVisibilityButton, 0, Qt::AlignTop); + vLayout->addWidget(changeSeriesNameButton, 0, Qt::AlignTop); vLayout->addWidget(startTimerButton, 0, Qt::AlignTop); vLayout->addWidget(gradientBtoYPB, 0, Qt::AlignTop); vLayout->addWidget(backgroundCheckBox); @@ -230,6 +234,8 @@ int main(int argc, char **argv) &ScatterDataModifier::removeSeries); QObject::connect(toggleSeriesVisibilityButton, &QPushButton::clicked, modifier, &ScatterDataModifier::toggleSeriesVisibility); + QObject::connect(changeSeriesNameButton, &QPushButton::clicked, modifier, + &ScatterDataModifier::changeSeriesName); QObject::connect(startTimerButton, &QPushButton::clicked, modifier, &ScatterDataModifier::startStopTimer); QObject::connect(gradientBtoYPB, &QPushButton::clicked, modifier, diff --git a/tests/scattertest/scatterchart.cpp b/tests/scattertest/scatterchart.cpp index 58f5b355..9482ee18 100644 --- a/tests/scattertest/scatterchart.cpp +++ b/tests/scattertest/scatterchart.cpp @@ -476,6 +476,12 @@ void ScatterDataModifier::toggleSeriesVisibility() m_targetSeries->setVisible(!m_targetSeries->isVisible()); } +void ScatterDataModifier::changeSeriesName() +{ + if (m_targetSeries) + m_targetSeries->setName(m_targetSeries->name().append("-").append(QString::number(qrand() % 10))); +} + void ScatterDataModifier::handleAxisXChanged(QValue3DAxis *axis) { qDebug() << __FUNCTION__ << axis << axis->orientation() << (axis == m_chart->axisX()); @@ -526,7 +532,8 @@ QScatter3DSeries *ScatterDataModifier::createAndAddSeries() m_targetSeries = series; m_chart->addSeries(series); - series->setItemLabelFormat(QString("%1: @xLabel - @yLabel - @zLabel").arg(counter++)); + series->setName(QString("Series %1").arg(counter++)); + series->setItemLabelFormat(QStringLiteral("@seriesName: @xLabel - @yLabel - @zLabel")); series->setMesh(QAbstract3DSeries::MeshSphere); series->setMeshSmooth(true); series->setBaseColor(QColor(rand() % 256, rand() % 256, rand() % 256)); diff --git a/tests/scattertest/scatterchart.h b/tests/scattertest/scatterchart.h index 7906eac0..ce6c2073 100644 --- a/tests/scattertest/scatterchart.h +++ b/tests/scattertest/scatterchart.h @@ -68,6 +68,7 @@ public slots: void addSeries(); void removeSeries(); void toggleSeriesVisibility(); + void changeSeriesName(); void handleAxisXChanged(QValue3DAxis *axis); void handleAxisYChanged(QValue3DAxis *axis); diff --git a/tests/surfacetest/graphmodifier.cpp b/tests/surfacetest/graphmodifier.cpp index 58aee4cd..1c177219 100644 --- a/tests/surfacetest/graphmodifier.cpp +++ b/tests/surfacetest/graphmodifier.cpp @@ -61,8 +61,11 @@ GraphModifier::GraphModifier(Q3DSurface *graph) m_graph->axisX()->setRange(m_minX, m_minX + m_rangeX); m_graph->axisZ()->setRange(m_minZ, m_minZ + m_rangeZ); m_graph->addSeries(m_theSeries); + changeStyle(); + m_theSeries->setItemLabelFormat(QStringLiteral("@seriesName: (@xLabel, @zLabel): @yLabel")); + connect(&m_timer, &QTimer::timeout, this, &GraphModifier::timeout); connect(m_theSeries, &QSurface3DSeries::selectedPointChanged, this, &GraphModifier::selectedPointChanged); @@ -144,6 +147,8 @@ void GraphModifier::toggleSqrtSin(bool enable) m_graph->axisX()->setLabelFormat("%.2f"); m_graph->axisZ()->setLabelFormat("%.2f"); + m_theSeries->setName("Sqrt & Sin"); + resetArrayAndSliders(dataArray, minZ, maxZ, minX, maxX); m_activeSample = GraphModifier::SqrtSin; @@ -196,6 +201,8 @@ void GraphModifier::togglePlane(bool enable) *m_planeArray << newRow; } + m_theSeries->setName("Wonky Plane"); + resetArrayAndSliders(m_planeArray, minZ, maxZ + add, minX, m_xCount * maxStepX + minX); #else for (float i = 0; i < m_zCount; i++) { @@ -216,6 +223,8 @@ void GraphModifier::togglePlane(bool enable) *m_planeArray << newRow; } + m_theSeries->setName("Plane"); + resetArrayAndSliders(m_planeArray, minZ, maxZ, minX, maxX); #endif @@ -260,6 +269,8 @@ void GraphModifier::setHeightMapData(bool enable) m_graph->axisX()->setLabelFormat("%.1f N"); m_graph->axisZ()->setLabelFormat("%.1f E"); + m_theSeries->setName("Height Map"); + resetArrayAndSliders(dataArray, minZ, maxZ, minX, maxX); m_activeSample = GraphModifier::Map; -- cgit v1.2.3