summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/barstest/chart.cpp36
-rw-r--r--tests/barstest/chart.h2
-rw-r--r--tests/barstest/main.cpp2
-rw-r--r--tests/kinectsurface/surfacedata.cpp4
-rw-r--r--tests/qmlcamera/qml/qmlcamera/main.qml4
-rw-r--r--tests/scattertest/scatterchart.cpp2
-rw-r--r--tests/spectrum/spectrumapp/main.cpp2
-rw-r--r--tests/surfacetest/graphmodifier.cpp49
-rw-r--r--tests/surfacetest/graphmodifier.h5
-rw-r--r--tests/surfacetest/main.cpp38
10 files changed, 92 insertions, 52 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,
diff --git a/tests/kinectsurface/surfacedata.cpp b/tests/kinectsurface/surfacedata.cpp
index b11be8d5..79489fc8 100644
--- a/tests/kinectsurface/surfacedata.cpp
+++ b/tests/kinectsurface/surfacedata.cpp
@@ -45,7 +45,7 @@ SurfaceData::SurfaceData(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars
gradient.setColorAt(0.33, Qt::blue);
gradient.setColorAt(0.67, Qt::red);
gradient.setColorAt(1.0, Qt::yellow);
- m_surface->setSelectionMode(QDataVis::SelectionModeNone);
+ m_surface->setSelectionMode(QDataVis::SelectionNone);
m_surface->setGridVisible(false);
m_surface->setGradient(gradient);
m_surface->axisY()->setMax(255);
@@ -57,7 +57,7 @@ SurfaceData::SurfaceData(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars
// Initialize scatter
m_scatter->setTheme(QDataVis::ThemeStoneMoss);
- m_scatter->setSelectionMode(QDataVis::SelectionModeNone);
+ m_scatter->setSelectionMode(QDataVis::SelectionNone);
m_scatter->setGridVisible(false);
m_scatter->setObjectType(QDataVis::MeshStyleDots, false);
m_scatter->setShadowQuality(QDataVis::ShadowQualitySoftLow);
diff --git a/tests/qmlcamera/qml/qmlcamera/main.qml b/tests/qmlcamera/qml/qmlcamera/main.qml
index 72d2a45f..dbe11b8e 100644
--- a/tests/qmlcamera/qml/qmlcamera/main.qml
+++ b/tests/qmlcamera/qml/qmlcamera/main.qml
@@ -46,7 +46,7 @@ Item {
width: dataView.width
height: dataView.height
shadowQuality: Bars3D.ShadowQualityMedium
- selectionMode: Bars3D.SelectionModeItem
+ selectionMode: Bars3D.SelectionItem
font.pointSize: 35
theme: Bars3D.ThemeRetro
labelStyle: Bars3D.LabelStyleFromTheme
@@ -59,7 +59,7 @@ Item {
valueAxis: chartAxes.expenses
itemLabelFormat: "@valueTitle for @colLabel, @rowLabel: @valueLabel"
- onSelectedBarPosChanged: {
+ onSelectedBarChanged: {
// Set camControlArea current row to selected bar
var rowRole = chartData.proxy.rowLabels[position.x];
var colRole = chartData.proxy.columnLabels[position.y];
diff --git a/tests/scattertest/scatterchart.cpp b/tests/scattertest/scatterchart.cpp
index f23ee99d..48f1d999 100644
--- a/tests/scattertest/scatterchart.cpp
+++ b/tests/scattertest/scatterchart.cpp
@@ -48,6 +48,8 @@ ScatterDataModifier::ScatterDataModifier(Q3DScatter *scatter)
proxy->setItemLabelFormat("@xTitle: @xLabel @yTitle: @yLabel @zTitle: @zLabel");
m_chart->setActiveDataProxy(proxy);
+ m_chart->setSelectionMode(QDataVis::SelectionItemAndColumn);
+
connect(&m_timer, &QTimer::timeout, this, &ScatterDataModifier::timeout);
}
diff --git a/tests/spectrum/spectrumapp/main.cpp b/tests/spectrum/spectrumapp/main.cpp
index 3d2e2bf1..31bdb0f1 100644
--- a/tests/spectrum/spectrumapp/main.cpp
+++ b/tests/spectrum/spectrumapp/main.cpp
@@ -99,7 +99,7 @@ MainApp::MainApp(Q3DBars *window)
// Set color scheme
m_chart->setBarColor(QColor(Qt::red), false);
// Disable selection
- m_chart->setSelectionMode(QDataVis::SelectionModeNone);
+ m_chart->setSelectionMode(QDataVis::SelectionNone);
QObject::connect(m_engine, &Engine::changedSpectrum, this, &MainApp::spectrumChanged);
QObject::connect(m_engine, &Engine::stateChanged, this, &MainApp::stateChanged);
m_restartTimer->setSingleShot(true);
diff --git a/tests/surfacetest/graphmodifier.cpp b/tests/surfacetest/graphmodifier.cpp
index d4e99031..bd6ec920 100644
--- a/tests/surfacetest/graphmodifier.cpp
+++ b/tests/surfacetest/graphmodifier.cpp
@@ -23,11 +23,12 @@
#include <qmath.h>
#include <QLinearGradient>
#include <QDebug>
+#include <QComboBox>
QT_DATAVISUALIZATION_USE_NAMESPACE
//#define JITTER_PLANE
-//#define WONKY_PLANE
+#define WONKY_PLANE
GraphModifier::GraphModifier(Q3DSurface *graph)
: m_graph(graph),
@@ -55,6 +56,7 @@ GraphModifier::GraphModifier(Q3DSurface *graph)
changeStyle();
connect(&m_timer, &QTimer::timeout, this, &GraphModifier::timeout);
+ connect(m_graph, &Q3DSurface::selectedPointChanged, this, &GraphModifier::selectedPointChanged);
}
GraphModifier::~GraphModifier()
@@ -137,6 +139,7 @@ void GraphModifier::togglePlane(bool enable)
float halfZ = m_zCount / 2;
float wonkyFactor = 0.01f;
float maxStepX = 0.0f;
+ float add = 0.0f;
for (float i = 0; i < m_zCount; i++) {
QSurfaceDataRow *newRow = new QSurfaceDataRow(m_xCount);
if (i < halfZ) {
@@ -145,15 +148,17 @@ void GraphModifier::togglePlane(bool enable)
} else {
stepX -= wonkyFactor;
}
+ add = 0.0f;
for (float j = 0; j < m_xCount; j++) {
(*newRow)[j].setPosition(QVector3D(j * stepX + minX, -0.04f,
- i * stepZ + minZ));
+ i * stepZ + minZ + add));
+ add += 0.5f;
}
*m_planeArray << newRow;
}
- resetArrayAndSliders(m_planeArray, minZ, maxZ, minX, m_xCount * maxStepX + minZ);
+ resetArrayAndSliders(m_planeArray, minZ, maxZ + add, minX, m_xCount * maxStepX + minX);
#else
for (float i = 0; i < m_zCount; i++) {
QSurfaceDataRow *newRow = new QSurfaceDataRow(m_xCount);
@@ -303,6 +308,20 @@ void GraphModifier::changeStyle()
style = QDataVis::LabelStyleOpaque;
}
+void GraphModifier::selectButtonClicked()
+{
+ int row = rand() % m_graph->activeDataProxy()->rowCount();
+ int col = rand() % m_graph->activeDataProxy()->columnCount();
+
+ m_graph->setSelectedPoint(QPoint(row, col));
+}
+
+void GraphModifier::selectedPointChanged(const QPoint &point)
+{
+ QString labelText = QStringLiteral("Selected row: %1, column: %2").arg(point.x()).arg(point.y());
+ m_selectionInfoLabel->setText(labelText);
+}
+
void GraphModifier::changeTheme(int theme)
{
m_graph->setTheme((QDataVis::Theme)theme);
@@ -347,26 +366,10 @@ void GraphModifier::changeShadowQuality(int quality)
void GraphModifier::changeSelectionMode(int mode)
{
- switch (mode) {
- case 0:
- qDebug() << "QDataVis::SelectionModeNone";
- m_graph->setSelectionMode(QDataVis::SelectionModeNone);
- break;
- case 1:
- qDebug() << "QDataVis::SelectionModeItem";
- m_graph->setSelectionMode(QDataVis::SelectionModeItem);
- break;
- case 2:
- qDebug() << "QDataVis::SelectionModeSliceRow";
- m_graph->setSelectionMode(QDataVis::SelectionModeSliceRow);
- break;
- case 3:
- qDebug() << "QDataVis::SelectionModeSliceColumn";
- m_graph->setSelectionMode(QDataVis::SelectionModeSliceColumn);
- break;
- default:
- qDebug() << __FUNCTION__ << " Unsupported selection mode.";
- break;
+ QComboBox *comboBox = qobject_cast<QComboBox *>(sender());
+ if (comboBox) {
+ int flags = comboBox->itemData(mode).toInt();
+ m_graph->setSelectionMode(QDataVis::SelectionFlags(flags));
}
}
diff --git a/tests/surfacetest/graphmodifier.h b/tests/surfacetest/graphmodifier.h
index 83b1873b..ed94b372 100644
--- a/tests/surfacetest/graphmodifier.h
+++ b/tests/surfacetest/graphmodifier.h
@@ -23,6 +23,7 @@
#include <QtDataVisualization/QSurfaceDataProxy>
#include <QSlider>
#include <QTimer>
+#include <QLabel>
using namespace QtDataVisualization;
@@ -61,6 +62,9 @@ public:
void gradientPressed();
void changeFont(const QFont &font);
void changeStyle();
+ void selectButtonClicked();
+ void setSelectionInfoLabel(QLabel *label) {m_selectionInfoLabel = label; }
+ void selectedPointChanged(const QPoint &point);
public slots:
void changeShadowQuality(int quality);
@@ -90,6 +94,7 @@ private:
qreal m_minZ;
QTimer m_timer;
QSurfaceDataArray *m_planeArray;
+ QLabel *m_selectionInfoLabel;
};
#endif
diff --git a/tests/surfacetest/main.cpp b/tests/surfacetest/main.cpp
index 19f30e5d..e4283b3e 100644
--- a/tests/surfacetest/main.cpp
+++ b/tests/surfacetest/main.cpp
@@ -167,12 +167,37 @@ int main(int argc, char *argv[])
// shadowQuality->addItem(QStringLiteral("High Soft"));
// shadowQuality->setCurrentIndex(3);
QComboBox *selectionMode = new QComboBox(widget);
- selectionMode->addItem(QStringLiteral("SelectionModeNone"));
- selectionMode->addItem(QStringLiteral("SelectionModeItem"));
- selectionMode->addItem(QStringLiteral("SelectionModeSliceRow"));
- selectionMode->addItem(QStringLiteral("SelectionModeSliceColumn"));
+ selectionMode->addItem(QStringLiteral("None"),
+ int(QDataVis::SelectionNone));
+ selectionMode->addItem(QStringLiteral("Item"),
+ int(QDataVis::SelectionItem));
+ selectionMode->addItem(QStringLiteral("Row"),
+ int(QDataVis::SelectionRow));
+ selectionMode->addItem(QStringLiteral("Item and Row"),
+ int(QDataVis::SelectionItemAndRow));
+ selectionMode->addItem(QStringLiteral("Column"),
+ int(QDataVis::SelectionColumn));
+ selectionMode->addItem(QStringLiteral("Item and Column"),
+ int(QDataVis::SelectionItemAndColumn));
+ selectionMode->addItem(QStringLiteral("Row and Column"),
+ int(QDataVis::SelectionRowAndColumn));
+ selectionMode->addItem(QStringLiteral("Item, Row and Column"),
+ int(QDataVis::SelectionItemRowAndColumn));
+ selectionMode->addItem(QStringLiteral("Slice into Row"),
+ int(QDataVis::SelectionSlice | QDataVis::SelectionRow));
+ selectionMode->addItem(QStringLiteral("Slice into Row and Item"),
+ int(QDataVis::SelectionSlice | QDataVis::SelectionItemAndRow));
+ selectionMode->addItem(QStringLiteral("Slice into Column"),
+ int(QDataVis::SelectionSlice | QDataVis::SelectionColumn));
+ selectionMode->addItem(QStringLiteral("Slice into Column and Item"),
+ int(QDataVis::SelectionSlice | QDataVis::SelectionItemAndColumn));
selectionMode->setCurrentIndex(1);
+ QPushButton *selectButton = new QPushButton(widget);
+ selectButton->setText(QStringLiteral("Select random point"));
+
+ QLabel *selectionInfoLabel = new QLabel(widget);
+
// Add controls to the layout
vLayout->addWidget(smoothCB);
vLayout->addWidget(surfaceGridCB);
@@ -200,6 +225,8 @@ int main(int argc, char *argv[])
// vLayout->addWidget(shadowQuality);
vLayout->addWidget(new QLabel(QStringLiteral("Selection Mode")));
vLayout->addWidget(selectionMode);
+ vLayout->addWidget(selectButton);
+ vLayout->addWidget(selectionInfoLabel);
widget->show();
@@ -242,6 +269,8 @@ int main(int argc, char *argv[])
// modifier, SLOT(changeShadowQuality(int)));
QObject::connect(selectionMode, SIGNAL(currentIndexChanged(int)),
modifier, SLOT(changeSelectionMode(int)));
+ QObject::connect(selectButton, &QPushButton::clicked,
+ modifier, &GraphModifier::selectButtonClicked);
modifier->setGridSliderZ(gridSliderZ);
modifier->setGridSliderX(gridSliderX);
@@ -250,6 +279,7 @@ int main(int argc, char *argv[])
modifier->setAxisMinSliderX(axisMinSliderX);
modifier->setAxisMinSliderZ(axisMinSliderZ);
modifier->toggleGridSliderLock(gridSlidersLockCB->checkState());
+ modifier->setSelectionInfoLabel(selectionInfoLabel);
sqrtSinCB->setChecked(true);
return app.exec();