summaryrefslogtreecommitdiffstats
path: root/tests/barstest
diff options
context:
space:
mode:
authorKeränen Pasi <pasi.keranen@digia.com>2013-11-07 15:31:21 +0200
committerPasi Keränen <pasi.keranen@digia.com>2013-11-08 13:26:55 +0200
commit2513f99a80d7979522f90a32fcc6df309d838669 (patch)
tree3c759ab2e256514f6649b1dd768369111ac4d97f /tests/barstest
parent7c3641ae32cedd137c6d54648876e7a400037304 (diff)
Adds methods to widget components for setting custom input handlers.
Change-Id: I9939c99164b7cf8a524a435899e2f78df36c1fc7 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'tests/barstest')
-rw-r--r--tests/barstest/chart.cpp25
-rw-r--r--tests/barstest/chart.h4
-rw-r--r--tests/barstest/main.cpp3
3 files changed, 31 insertions, 1 deletions
diff --git a/tests/barstest/chart.cpp b/tests/barstest/chart.cpp
index 21aeb269..268c8faa 100644
--- a/tests/barstest/chart.cpp
+++ b/tests/barstest/chart.cpp
@@ -53,7 +53,9 @@ GraphModifier::GraphModifier(Q3DBars *barchart)
m_temperatureData(new QBarDataProxy),
m_genericData(new QBarDataProxy),
m_currentAxis(m_fixedRangeAxis),
- m_negativeValuesOn(false)
+ m_negativeValuesOn(false),
+ m_useNullInputHandler(false),
+ m_defaultInputHandler(0)
{
// Generate generic labels
QStringList genericColumnLabels;
@@ -118,12 +120,18 @@ GraphModifier::GraphModifier(Q3DBars *barchart)
m_chart->setFont(QFont("Times Roman", 20));
+ // Release and store the default input handler.
+ m_defaultInputHandler = m_chart->activeInputHandler();
+ m_chart->releaseInputHandler(m_defaultInputHandler);
+ m_chart->setActiveInputHandler(m_defaultInputHandler);
+
resetTemperatureData();
}
GraphModifier::~GraphModifier()
{
delete m_chart;
+ delete m_defaultInputHandler;
}
void GraphModifier::start()
@@ -531,6 +539,21 @@ void GraphModifier::handleSelectionChange(const QPoint &position)
qDebug() << "Selected bar position:" << position;
}
+void GraphModifier::setUseNullInputHandler(bool useNull)
+{
+ qDebug() << "setUseNullInputHandler" << useNull;
+ if (m_useNullInputHandler == useNull)
+ return;
+
+ m_useNullInputHandler = useNull;
+
+ if (useNull)
+ m_chart->setActiveInputHandler(0);
+ else
+ m_chart->setActiveInputHandler(m_defaultInputHandler);
+}
+
+
void GraphModifier::changeShadowQuality(int quality)
{
QDataVis::ShadowQuality sq = QDataVis::ShadowQuality(quality);
diff --git a/tests/barstest/chart.h b/tests/barstest/chart.h
index 995ac406..11af4949 100644
--- a/tests/barstest/chart.h
+++ b/tests/barstest/chart.h
@@ -20,6 +20,7 @@
#define CHARTMODIFIER_H
#include <QtDataVisualization/q3dbars.h>
+#include <QtDataVisualization/qabstract3dinputhandler.h>
#include <QFont>
#include <QDebug>
@@ -80,6 +81,7 @@ public slots:
void changeShadowQuality(int quality);
void shadowQualityUpdatedByVisual(QDataVis::ShadowQuality shadowQuality);
void handleSelectionChange(const QPoint &position);
+ void setUseNullInputHandler(bool useNull);
signals:
void shadowQualityChanged(int quality);
@@ -112,6 +114,8 @@ private:
QBarDataProxy *m_genericData;
Q3DValueAxis *m_currentAxis;
bool m_negativeValuesOn;
+ bool m_useNullInputHandler;
+ QAbstract3DInputHandler *m_defaultInputHandler;
};
#endif
diff --git a/tests/barstest/main.cpp b/tests/barstest/main.cpp
index 9ed0407c..dac9f42a 100644
--- a/tests/barstest/main.cpp
+++ b/tests/barstest/main.cpp
@@ -377,6 +377,9 @@ int main(int argc, char **argv)
QObject::connect(gridCheckBox, &QCheckBox::stateChanged, modifier,
&GraphModifier::setGridEnabled);
+ QObject::connect(rotationCheckBox, &QCheckBox::stateChanged, modifier,
+ &GraphModifier::setUseNullInputHandler);
+
QObject::connect(rotationCheckBox, &QCheckBox::stateChanged, rotationSliderX,
&QSlider::setEnabled);
QObject::connect(rotationCheckBox, &QCheckBox::stateChanged, rotationSliderX,