From 3573055abe42ff283d011d8550bc8495156338a1 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 9 Dec 2013 10:49:49 +0200 Subject: Move series specific visual elements to series, part 4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Colors to series - Multiselection labels in bar slices still buggy - Selection in bars doesn't work correctly if not all series have items in that grid Task-number: QTRD-2557 Change-Id: Icd38428e5337a26b8410476104bb1f1f784cdc7f Reviewed-by: Tomi Korpipää --- tests/barstest/chart.cpp | 42 +++++++++++++++++++++++++++++++++++++ tests/barstest/main.cpp | 1 - tests/scattertest/scatterchart.cpp | 37 ++++++++++++++++---------------- tests/surfacetest/graphmodifier.cpp | 10 +++++---- 4 files changed, 67 insertions(+), 23 deletions(-) (limited to 'tests') diff --git a/tests/barstest/chart.cpp b/tests/barstest/chart.cpp index 19410306..97685074 100644 --- a/tests/barstest/chart.cpp +++ b/tests/barstest/chart.cpp @@ -119,6 +119,48 @@ GraphModifier::GraphModifier(Q3DBars *barchart, QColorDialog *colorDialog) m_genericData->setItemLabelFormat(QStringLiteral("3: @valueTitle for (@rowIdx, @colIdx): @valueLabel")); m_genericData->dataProxy()->setColumnLabels(genericColumnLabels); + m_temperatureData->setBaseColor(Qt::red); + m_temperatureData->setSingleHighlightColor(Qt::cyan); + m_temperatureData->setMultiHighlightColor(Qt::magenta); + m_temperatureData2->setBaseColor(Qt::yellow); + m_genericData->setBaseColor(Qt::blue); + + QLinearGradient barGradient1(0, 0, 1, 100); + barGradient1.setColorAt(1.0, Qt::red); + barGradient1.setColorAt(0.75001, Qt::red); + barGradient1.setColorAt(0.75, Qt::magenta); + barGradient1.setColorAt(0.50001, Qt::magenta); + barGradient1.setColorAt(0.50, Qt::blue); + barGradient1.setColorAt(0.25001, Qt::blue); + barGradient1.setColorAt(0.25, Qt::black); + barGradient1.setColorAt(0.0, Qt::black); + + QLinearGradient barGradient2(0, 0, 1, 100); + barGradient2.setColorAt(1.0, Qt::red); + barGradient2.setColorAt(0.75, Qt::magenta); + barGradient2.setColorAt(0.50, Qt::blue); + barGradient2.setColorAt(0.25, Qt::black); + barGradient2.setColorAt(0.0, Qt::black); + + QLinearGradient singleHighlightGradient(0, 0, 1, 100); + singleHighlightGradient.setColorAt(1.0, Qt::white); + singleHighlightGradient.setColorAt(0.75, Qt::lightGray); + singleHighlightGradient.setColorAt(0.50, Qt::gray); + singleHighlightGradient.setColorAt(0.25, Qt::darkGray); + singleHighlightGradient.setColorAt(0.0, Qt::black); + + QLinearGradient multiHighlightGradient(0, 0, 1, 100); + multiHighlightGradient.setColorAt(1.0, Qt::lightGray); + multiHighlightGradient.setColorAt(0.75, Qt::gray); + multiHighlightGradient.setColorAt(0.50, Qt::darkGray); + multiHighlightGradient.setColorAt(0.25, Qt::black); + multiHighlightGradient.setColorAt(0.0, Qt::black); + + m_temperatureData->setBaseGradient(barGradient1); + m_temperatureData2->setBaseGradient(barGradient2); + m_temperatureData->setSingleHighlightGradient(singleHighlightGradient); + m_temperatureData->setMultiHighlightGradient(multiHighlightGradient); + m_graph->theme()->setFont(QFont("Times Roman", 20)); // Release and store the default input handler. diff --git a/tests/barstest/main.cpp b/tests/barstest/main.cpp index 5bfa26a3..d5e62b86 100644 --- a/tests/barstest/main.cpp +++ b/tests/barstest/main.cpp @@ -283,7 +283,6 @@ int main(int argc, char **argv) vLayout->addWidget(flipViewsButton, 0, Qt::AlignTop); vLayout->addWidget(changeColorStyleButton, 0, Qt::AlignTop); vLayout->addWidget(ownThemeButton, 0, Qt::AlignTop); - vLayout->addWidget(colorDialog, 0, Qt::AlignTop); vLayout->addWidget(gradientBtoYPB, 1, Qt::AlignTop); vLayout2->addWidget(staticCheckBox, 0, Qt::AlignTop); diff --git a/tests/scattertest/scatterchart.cpp b/tests/scattertest/scatterchart.cpp index 3064fd3f..5f4f6f01 100644 --- a/tests/scattertest/scatterchart.cpp +++ b/tests/scattertest/scatterchart.cpp @@ -272,7 +272,7 @@ void ScatterDataModifier::changeOne() if (!m_targetSeries) createAndAddSeries(); - if (m_selectedItem >= 0 && m_targetSeries->dataProxy()->array()->size()) { + if (m_selectedItem >= 0 && m_selectedItem < m_targetSeries->dataProxy()->itemCount()) { QScatterDataItem item(randVector()); m_targetSeries->dataProxy()->setItem(m_selectedItem, item); qDebug() << m_loopCounter << "Changed one, array size:" << m_targetSeries->dataProxy()->array()->size(); @@ -402,15 +402,15 @@ void ScatterDataModifier::handleSelectionChange(int index) void ScatterDataModifier::setGradient() { - QLinearGradient barGradient(0, 0, 1, 100); - barGradient.setColorAt(1.0, Qt::lightGray); - barGradient.setColorAt(0.75001, Qt::lightGray); - barGradient.setColorAt(0.75, Qt::blue); - barGradient.setColorAt(0.50001, Qt::blue); - barGradient.setColorAt(0.50, Qt::red); - barGradient.setColorAt(0.25001, Qt::red); - barGradient.setColorAt(0.25, Qt::yellow); - barGradient.setColorAt(0.0, Qt::yellow); + QLinearGradient baseGradient(0, 0, 1, 100); + baseGradient.setColorAt(1.0, Qt::lightGray); + baseGradient.setColorAt(0.75001, Qt::lightGray); + baseGradient.setColorAt(0.75, Qt::blue); + baseGradient.setColorAt(0.50001, Qt::blue); + baseGradient.setColorAt(0.50, Qt::red); + baseGradient.setColorAt(0.25001, Qt::red); + baseGradient.setColorAt(0.25, Qt::yellow); + baseGradient.setColorAt(0.0, Qt::yellow); QLinearGradient singleHighlightGradient(0, 0, 1, 100); singleHighlightGradient.setColorAt(1.0, Qt::lightGray); @@ -419,19 +419,19 @@ void ScatterDataModifier::setGradient() singleHighlightGradient.setColorAt(0.25, Qt::yellow); singleHighlightGradient.setColorAt(0.0, Qt::white); - m_chart->setItemColor(Qt::green); - m_chart->setSingleHighlightColor(Qt::white); + m_targetSeries->setBaseColor(Qt::green); + m_targetSeries->setSingleHighlightColor(Qt::white); - m_chart->setItemGradient(barGradient); - m_chart->setSingleHighlightGradient(singleHighlightGradient); + m_targetSeries->setBaseGradient(baseGradient); + m_targetSeries->setSingleHighlightGradient(singleHighlightGradient); - Q3DTheme::ColorStyle oldStyle = m_chart->colorStyle(); + Q3DTheme::ColorStyle oldStyle = m_targetSeries->colorStyle(); if (oldStyle == Q3DTheme::ColorStyleUniform) - m_chart->setColorStyle(Q3DTheme::ColorStyleObjectGradient); + m_targetSeries->setColorStyle(Q3DTheme::ColorStyleObjectGradient); else if (oldStyle == Q3DTheme::ColorStyleObjectGradient) - m_chart->setColorStyle(Q3DTheme::ColorStyleRangeGradient); + m_targetSeries->setColorStyle(Q3DTheme::ColorStyleRangeGradient); if (oldStyle == Q3DTheme::ColorStyleRangeGradient) - m_chart->setColorStyle(Q3DTheme::ColorStyleUniform); + m_targetSeries->setColorStyle(Q3DTheme::ColorStyleUniform); } void ScatterDataModifier::addSeries() @@ -494,6 +494,7 @@ QScatter3DSeries *ScatterDataModifier::createAndAddSeries() series->setItemLabelFormat(QString("%1: @xLabel - @yLabel - @zLabel").arg(counter++)); series->setMesh(QAbstract3DSeries::MeshSphere); series->setMeshSmooth(true); + series->setBaseColor(QColor(rand() % 256, rand() % 256, rand() % 256)); QObject::connect(series, &QScatter3DSeries::selectedItemChanged, this, &ScatterDataModifier::handleSelectionChange); diff --git a/tests/surfacetest/graphmodifier.cpp b/tests/surfacetest/graphmodifier.cpp index 3bf90981..6879530b 100644 --- a/tests/surfacetest/graphmodifier.cpp +++ b/tests/surfacetest/graphmodifier.cpp @@ -313,7 +313,9 @@ void GraphModifier::gradientPressed() gradient.setColorAt(0.33, Qt::blue); gradient.setColorAt(0.67, Qt::red); gradient.setColorAt(1.0, Qt::yellow); - m_graph->setGradient(gradient); + m_graph->seriesList().at(0)->setBaseGradient(gradient); + m_graph->seriesList().at(0)->setSingleHighlightColor(Qt::red); + m_graph->seriesList().at(0)->setColorStyle(Q3DTheme::ColorStyleRangeGradient); } void GraphModifier::changeFont(const QFont &font) @@ -403,7 +405,7 @@ void GraphModifier::changeSelectionMode(int mode) void GraphModifier::changeRow() { if (m_activeSample == GraphModifier::SqrtSin) { - qDebug() << "Generating new values to a row at randon pos"; + qDebug() << "Generating new values to a row at random pos"; float minX = -10.0f; float maxX = 10.0f; float minZ = -10.0f; @@ -487,13 +489,13 @@ void GraphModifier::changeItem() void GraphModifier::changeMultipleRows() { - for (int i = 0; i < 3; i++) + for (int i = 0; i < 30; i++) changeRow(); } void GraphModifier::changeMultipleItem() { - for (int i = 0; i < 3; i++) + for (int i = 0; i < 30; i++) changeItem(); } -- cgit v1.2.3