summaryrefslogtreecommitdiffstats
path: root/tests/itemmodeltest/main.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-05-12 11:10:46 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-05-12 12:26:20 +0300
commit4dcef4be656aedb7c6c9e222f291a1a508641007 (patch)
tree1fe53e7b4ddba8c8ac719f95c04eac298cb22dc3 /tests/itemmodeltest/main.cpp
parent8e97d823208ed314278a22a924f0da10c9328839 (diff)
Enable mapping single role to multiple properties for surface
Task-number: QTRD-3074 Change-Id: If40de067526b6f24b3e55bf64ed804a79d473e5f Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com> Reviewed-by: Titta Heikkala <titta.heikkala@digia.com>
Diffstat (limited to 'tests/itemmodeltest/main.cpp')
-rw-r--r--tests/itemmodeltest/main.cpp37
1 files changed, 23 insertions, 14 deletions
diff --git a/tests/itemmodeltest/main.cpp b/tests/itemmodeltest/main.cpp
index a607fe8d..38454948 100644
--- a/tests/itemmodeltest/main.cpp
+++ b/tests/itemmodeltest/main.cpp
@@ -49,9 +49,6 @@ public:
void setupModel();
void addRow();
- void changeStyle();
- void changePresetCamera();
- void changeTheme();
void start();
void selectFromTable(const QPoint &selection);
void selectedFromTable(int currentRow, int currentColumn, int previousRow, int previousColumn);
@@ -148,12 +145,14 @@ void GraphDataGenerator::setupModel()
QStringList weeks;
weeks << "week 1" << "week 2" << "week 3" << "week 4" << "week 5";
- // Set up data Mon Tue Wed Thu Fri Sat Sun
- const char *hours[5][7] = {{"2.0/30", "1.0/30", "3.0/30", "0.2/30", "1.0/30", "5.0/30", "10.0/30"}, // week 1
- {"0.5/45", "1.0/45", "3.0/45", "1.0/45", "2.0/45", "2.0/45", "3.0/45"}, // week 2
- {"1.0/60", "1.0/60", "2.0/60", "1.0/60", "4.0/60", "4.0/60", "4.0/60"}, // week 3
- {"0.0/75", "1.0/75", "0.0/75", "0.0/75", "2.0/75", "2.0/75", "0.3/75"}, // week 4
- {"3.0/90", "3.0/90", "6.0/90", "2.0/90", "2.0/90", "1.0/90", "1.0/90"}}; // week 5
+ // Set up data
+ const char *hours[5][7] =
+ // Mon Tue Wed Thu Fri Sat Sun
+ {{"9/10/2.0/30", "9/11/1.0/30", "9/12/3.0/30", "9/13/0.2/30", "9/14/1.0/30", "9/15/5.0/30", "9/16/10.0/30"}, // week 1
+ {"8/10/0.5/45", "8/11/1.0/45", "8/12/3.0/45", "8/13/1.0/45", "8/14/2.0/45", "8/15/2.0/45", "8/16/3.0/45"}, // week 2
+ {"7/10/1.0/60", "7/11/1.0/60", "7/12/2.0/60", "7/13/1.0/60", "7/14/4.0/60", "7/15/4.0/60", "7/16/4.0/60"}, // week 3
+ {"6/10/0.0/75", "6/11/1.0/75", "6/12/0.0/75", "6/13/0.0/75", "6/14/2.0/75", "6/15/2.0/75", "6/16/0.3/75"}, // week 4
+ {"5/10/3.0/90", "5/11/3.0/90", "5/12/6.0/90", "5/13/2.0/90", "5/14/2.0/90", "5/15/1.0/90", "5/16/1.0/90"}}; // week 5
// Add labels
m_barGraph->rowAxis()->setTitle("Week of year");
@@ -275,17 +274,27 @@ int main(int argc, char **argv)
barProxy->setUseModelCategories(true);
surfaceProxy->setUseModelCategories(true);
barProxy->setRotationRole(tableWidget->model()->roleNames().value(Qt::DisplayRole));
- barProxy->setValueRolePattern(QRegExp(QStringLiteral("^(\\d*[\\.\\,]?\\d*)\\/(\\d*[\\.\\,]?\\d*)$")));
- barProxy->setRotationRolePattern(QRegExp(QStringLiteral("^(\\d*[\\.\\,]?\\d*)\\/(\\d*[\\.\\,]?\\d*)$")));
- barProxy->setValueRoleReplace(QStringLiteral("\\1"));
- barProxy->setRotationRoleReplace(QStringLiteral("\\2"));
- // TODO surface proxy test
+ barProxy->setValueRolePattern(QRegExp(QStringLiteral("^(\\d*)(\\/)(\\d*)\\/(\\d*[\\.\\,]?\\d*)\\/\\d*[\\.\\,]?\\d*$")));
+ barProxy->setRotationRolePattern(QRegExp(QStringLiteral("^(\\d*)(\\/)\\d*\\/\\d*([\\.\\,]?)\\d*(\\/)(\\d*[\\.\\,]?\\d*)$")));
+ barProxy->setValueRoleReplace(QStringLiteral("\\4"));
+ barProxy->setRotationRoleReplace(QStringLiteral("\\5"));
+ surfaceProxy->setXPosRole(tableWidget->model()->roleNames().value(Qt::DisplayRole));
+ surfaceProxy->setZPosRole(tableWidget->model()->roleNames().value(Qt::DisplayRole));
+ surfaceProxy->setXPosRolePattern(QRegExp(QStringLiteral("^(\\d*)\\/(\\d*)\\/\\d*[\\.\\,]?\\d*\\/\\d*[\\.\\,]?\\d*$")));
+ surfaceProxy->setXPosRoleReplace(QStringLiteral("\\2"));
+ surfaceProxy->setYPosRolePattern(QRegExp(QStringLiteral("^\\d*(\\/)(\\d*)\\/(\\d*[\\.\\,]?\\d*)\\/\\d*[\\.\\,]?\\d*$")));
+ surfaceProxy->setYPosRoleReplace(QStringLiteral("\\3"));
+ surfaceProxy->setZPosRolePattern(QRegExp(QStringLiteral("^(\\d*)(\\/)(\\d*)\\/\\d*[\\.\\,]?\\d*\\/\\d*[\\.\\,]?\\d*$")));
+ surfaceProxy->setZPosRoleReplace(QStringLiteral("\\1"));
QBar3DSeries *barSeries = new QBar3DSeries(barProxy);
QSurface3DSeries *surfaceSeries = new QSurface3DSeries(surfaceProxy);
barSeries->setMesh(QAbstract3DSeries::MeshPyramid);
barGraph->addSeries(barSeries);
surfaceGraph->addSeries(surfaceSeries);
+ barGraph->scene()->activeCamera()->setCameraPreset(Q3DCamera::CameraPresetBehind);
+ surfaceGraph->scene()->activeCamera()->setCameraPreset(Q3DCamera::CameraPresetFront);
+
GraphDataGenerator generator(barGraph, surfaceGraph, tableWidget);
QObject::connect(barSeries, &QBar3DSeries::selectedBarChanged, &generator,
&GraphDataGenerator::selectFromTable);