diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-29 14:01:42 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-30 10:06:08 +0200 |
commit | 84c156d3e2fcceeab608f401fbc638f2d01219b3 (patch) | |
tree | 74de2de1635c60645f4864d08f6afb941948aea8 /tests/barstest | |
parent | 233d5c02638903e96687d580ada7188f0e6a9756 (diff) |
Selection overhaul
Selection modes are now proper flags, so you can easily mix and match
item, row, and column modes as you wish. Slice flag means automatic
slicing control - if user wishes to control slicing himself, he should
not set this mode flag.
Clicking an item on graph now emits clicked signal from renderer to
controller on all graphs instead of setting the selected item.
Controller will set the selected item based on this information.
Task-number: QTRD-2366
Task-number: QTRD-2491
Change-Id: I6251c42e22ea676613fbd36685e33574e6eb9a1a
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'tests/barstest')
-rw-r--r-- | tests/barstest/chart.cpp | 36 | ||||
-rw-r--r-- | tests/barstest/chart.h | 2 | ||||
-rw-r--r-- | tests/barstest/main.cpp | 2 |
3 files changed, 20 insertions, 20 deletions
diff --git a/tests/barstest/chart.cpp b/tests/barstest/chart.cpp index ad27d83c..d71f60b4 100644 --- a/tests/barstest/chart.cpp +++ b/tests/barstest/chart.cpp @@ -42,7 +42,7 @@ GraphModifier::GraphModifier(Q3DBars *barchart) m_subSegments(3), m_minval(-20.0), // TODO Barchart Y-axis currently only properly supports zero-centered ranges m_maxval(20.0), - m_selectedBarPos(-1, -1), + m_selectedBar(-1, -1), m_autoAdjustingAxis(new Q3DValueAxis), m_fixedRangeAxis(new Q3DValueAxis), m_temperatureAxis(new Q3DValueAxis), @@ -142,7 +142,7 @@ void GraphModifier::restart(bool dynamicData) m_chart->setRowAxis(m_yearAxis); m_chart->setColumnAxis(m_monthAxis); - m_chart->setSelectionMode(QDataVis::SelectionModeItem); + m_chart->setSelectionMode(QDataVis::SelectionItem); } else { m_chart->setActiveDataProxy(m_genericData); @@ -152,7 +152,7 @@ void GraphModifier::restart(bool dynamicData) m_chart->setRowAxis(m_genericRowAxis); m_chart->setColumnAxis(m_genericColumnAxis); - m_chart->setSelectionMode(QDataVis::SelectionModeItem); + m_chart->setSelectionMode(QDataVis::SelectionItem); } } @@ -160,10 +160,10 @@ void GraphModifier::selectBar() { QPoint targetBar(5, 5); QPoint noSelection(-1, -1); - if (m_selectedBarPos != targetBar) - m_chart->setSelectedBarPos(targetBar); + if (m_selectedBar != targetBar) + m_chart->setSelectedBar(targetBar); else - m_chart->setSelectedBarPos(noSelection); + m_chart->setSelectedBar(noSelection); } void GraphModifier::swapAxis() @@ -317,7 +317,7 @@ void GraphModifier::insertRow() (*dataRow)[i].setValue(((i + 1) / (qreal)m_columnCount) * (qreal)(rand() % 100)); // TODO Needs to be changed to account for data window offset once it is implemented. - int row = qMax(m_selectedBarPos.x(), 0); + int row = qMax(m_selectedBar.x(), 0); QString label = QStringLiteral("Insert %1").arg(insertCounter++); m_chart->activeDataProxy()->insertRow(row, dataRow, label); } @@ -337,7 +337,7 @@ void GraphModifier::insertRows() } // TODO Needs to be changed to account for data window offset once it is implemented. - int row = qMax(m_selectedBarPos.x(), 0); + int row = qMax(m_selectedBar.x(), 0); m_chart->activeDataProxy()->insertRows(row, dataArray, labels); qDebug() << "Inserted" << m_rowCount << "rows, time:" << timer.elapsed(); } @@ -345,8 +345,8 @@ void GraphModifier::insertRows() void GraphModifier::changeItem() { // TODO Needs to be changed to account for data window offset once it is implemented. - int row = m_selectedBarPos.x(); - int column = m_selectedBarPos.y(); + int row = m_selectedBar.x(); + int column = m_selectedBar.y(); if (row >= 0 && column >= 0) { QBarDataItem item(qreal(rand() % 100)); m_chart->activeDataProxy()->setItem(row, column, item); @@ -356,7 +356,7 @@ void GraphModifier::changeItem() void GraphModifier::changeRow() { // TODO Needs to be changed to account for data window offset once it is implemented. - int row = m_selectedBarPos.x(); + int row = m_selectedBar.x(); if (row >= 0) { QBarDataRow *newRow = new QBarDataRow(m_chart->activeDataProxy()->rowAt(row)->size()); for (int i = 0; i < newRow->size(); i++) @@ -369,7 +369,7 @@ void GraphModifier::changeRow() void GraphModifier::changeRows() { // TODO Needs to be changed to account for data window offset once it is implemented. - int row = m_selectedBarPos.x(); + int row = m_selectedBar.x(); if (row >= 0) { int startRow = qMax(row - 2, 0); QBarDataArray newArray; @@ -388,7 +388,7 @@ void GraphModifier::changeRows() void GraphModifier::removeRow() { // TODO Needs to be changed to account for data window offset once it is implemented. - int row = m_selectedBarPos.x(); + int row = m_selectedBar.x(); if (row >= 0) m_chart->activeDataProxy()->removeRows(row, 1); } @@ -396,7 +396,7 @@ void GraphModifier::removeRow() void GraphModifier::removeRows() { // TODO Needs to be changed to account for data window offset once it is implemented. - int row = m_selectedBarPos.x(); + int row = m_selectedBar.x(); if (row >= 0) { int startRow = qMax(row - 2, 0); m_chart->activeDataProxy()->removeRows(startRow, 3); @@ -477,10 +477,10 @@ void GraphModifier::changeSelectionMode() { static int selectionMode = m_chart->selectionMode(); - if (++selectionMode > QDataVis::SelectionModeSliceColumn) - selectionMode = QDataVis::SelectionModeNone; + if (++selectionMode > (QDataVis::SelectionItemAndColumn | QDataVis::SelectionSlice)) + selectionMode = QDataVis::SelectionNone; - m_chart->setSelectionMode((QDataVis::SelectionMode)selectionMode); + m_chart->setSelectionMode((QDataVis::SelectionFlag)selectionMode); } void GraphModifier::changeFont(const QFont &font) @@ -507,7 +507,7 @@ void GraphModifier::shadowQualityUpdatedByVisual(QDataVis::ShadowQuality sq) void GraphModifier::handleSelectionChange(const QPoint &position) { - m_selectedBarPos = position; + m_selectedBar = position; qDebug() << "Selected bar position:" << position; } diff --git a/tests/barstest/chart.h b/tests/barstest/chart.h index e4e96ffb..6d33bacb 100644 --- a/tests/barstest/chart.h +++ b/tests/barstest/chart.h @@ -96,7 +96,7 @@ private: qreal m_maxval; QStringList m_months; QStringList m_years; - QPoint m_selectedBarPos; + QPoint m_selectedBar; Q3DValueAxis *m_autoAdjustingAxis; Q3DValueAxis *m_fixedRangeAxis; Q3DValueAxis *m_temperatureAxis; diff --git a/tests/barstest/main.cpp b/tests/barstest/main.cpp index 7742cb0e..0d3838a8 100644 --- a/tests/barstest/main.cpp +++ b/tests/barstest/main.cpp @@ -287,7 +287,7 @@ int main(int argc, char **argv) &QComboBox::setCurrentIndex); QObject::connect(widgetchart, &Q3DBars::shadowQualityChanged, modifier, &GraphModifier::shadowQualityUpdatedByVisual); - QObject::connect(widgetchart, &Q3DBars::selectedBarPosChanged, modifier, + QObject::connect(widgetchart, &Q3DBars::selectedBarChanged, modifier, &GraphModifier::handleSelectionChange); QObject::connect(fontSizeSlider, &QSlider::valueChanged, modifier, |