summaryrefslogtreecommitdiffstats
path: root/examples/surfacechart
diff options
context:
space:
mode:
authorMika Salmela <mika.salmela@digia.com>2013-09-26 10:46:01 +0300
committerMika Salmela <mika.salmela@digia.com>2013-09-26 12:22:27 +0300
commit037d0960a2bde8ad310a9917055c7c0c3488152a (patch)
tree79996eeaa3396d0e2670a070559fd7674f9db462 /examples/surfacechart
parent88695159e16bdfb8424de99d482adf332a93740d (diff)
Slice view implemented
Implemented slice view and fixed selection mechanism. Task-number: QTRD-2321 Task-number: QTRD-2307 Change-Id: I492bd96678bb1bdb8020448e122931a0deccdc0d Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'examples/surfacechart')
-rw-r--r--examples/surfacechart/chartmodifier.cpp25
-rw-r--r--examples/surfacechart/chartmodifier.h1
-rw-r--r--examples/surfacechart/main.cpp17
3 files changed, 42 insertions, 1 deletions
diff --git a/examples/surfacechart/chartmodifier.cpp b/examples/surfacechart/chartmodifier.cpp
index b9ee56d0..67c523ef 100644
--- a/examples/surfacechart/chartmodifier.cpp
+++ b/examples/surfacechart/chartmodifier.cpp
@@ -263,6 +263,31 @@ void ChartModifier::changeShadowQuality(int quality)
m_chart->setShadowQuality(sq);
}
+void ChartModifier::changeSelectionMode(int mode)
+{
+ switch (mode) {
+ case 0:
+ qDebug() << "QDataVis::ModeNone";
+ m_chart->setSelectionMode(QDataVis::ModeNone);
+ break;
+ case 1:
+ qDebug() << "QDataVis::ModeItem";
+ m_chart->setSelectionMode(QDataVis::ModeItem);
+ break;
+ case 2:
+ qDebug() << "QDataVis::ModeSliceRow";
+ m_chart->setSelectionMode(QDataVis::ModeSliceRow);
+ break;
+ case 3:
+ qDebug() << "QDataVis::ModeSliceColumn";
+ m_chart->setSelectionMode(QDataVis::ModeSliceColumn);
+ break;
+ default:
+ qDebug() << __FUNCTION__ << " Unsupported selection mode.";
+ break;
+ }
+}
+
void ChartModifier::updateSamples()
{
switch (m_activeSample) {
diff --git a/examples/surfacechart/chartmodifier.h b/examples/surfacechart/chartmodifier.h
index bcd71e30..61d97cb0 100644
--- a/examples/surfacechart/chartmodifier.h
+++ b/examples/surfacechart/chartmodifier.h
@@ -64,6 +64,7 @@ public:
public slots:
void changeShadowQuality(int quality);
void changeTheme(int theme);
+ void changeSelectionMode(int mode);
private:
void resetArrayAndSliders(QSurfaceDataArray *array, qreal minZ, qreal maxZ, qreal minX,
diff --git a/examples/surfacechart/main.cpp b/examples/surfacechart/main.cpp
index 370993df..f0d21b3c 100644
--- a/examples/surfacechart/main.cpp
+++ b/examples/surfacechart/main.cpp
@@ -34,6 +34,8 @@
using namespace QtDataVisualization;
+const int initialTheme = 4;
+
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
@@ -46,6 +48,9 @@ int main(int argc, char *argv[])
Q3DSurface *surfaceChart = new Q3DSurface();
QSize screenSize = surfaceChart->screen()->size();
+ // Set to default, should be same as the initial on themeList
+ surfaceChart->setTheme(QDataVis::ColorTheme(initialTheme));
+
QWidget *container = QWidget::createWindowContainer(surfaceChart);
container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 2));
container->setMaximumSize(screenSize);
@@ -150,7 +155,7 @@ int main(int argc, char *argv[])
themeList->addItem(QStringLiteral("Retro"));
themeList->addItem(QStringLiteral("Ebony"));
themeList->addItem(QStringLiteral("Isabelle"));
- themeList->setCurrentIndex(0);
+ themeList->setCurrentIndex(initialTheme);
// QComboBox *shadowQuality = new QComboBox(widget);
// shadowQuality->addItem(QStringLiteral("None"));
@@ -161,6 +166,12 @@ int main(int argc, char *argv[])
// shadowQuality->addItem(QStringLiteral("Medium Soft"));
// shadowQuality->addItem(QStringLiteral("High Soft"));
// shadowQuality->setCurrentIndex(3);
+ QComboBox *selectionMode = new QComboBox(widget);
+ selectionMode->addItem(QStringLiteral("ModeNone"));
+ selectionMode->addItem(QStringLiteral("ModeItem"));
+ selectionMode->addItem(QStringLiteral("ModeSliceRow"));
+ selectionMode->addItem(QStringLiteral("ModeSliceColumn"));
+ selectionMode->setCurrentIndex(1);
// Add controls to the layout
vLayout->addWidget(smoothCB);
@@ -187,6 +198,8 @@ int main(int argc, char *argv[])
vLayout->addWidget(themeList);
// vLayout->addWidget(new QLabel(QStringLiteral("Adjust shadow quality")));
// vLayout->addWidget(shadowQuality);
+ vLayout->addWidget(new QLabel(QStringLiteral("Selection Mode")));
+ vLayout->addWidget(selectionMode);
widget->show();
@@ -227,6 +240,8 @@ int main(int argc, char *argv[])
modifier, SLOT(changeTheme(int)));
// QObject::connect(shadowQuality, SIGNAL(currentIndexChanged(int)),
// modifier, SLOT(changeShadowQuality(int)));
+ QObject::connect(selectionMode, SIGNAL(currentIndexChanged(int)),
+ modifier, SLOT(changeSelectionMode(int)));
modifier->setGridSliderZ(gridSliderZ);
modifier->setGridSliderX(gridSliderX);