summaryrefslogtreecommitdiffstats
path: root/examples/scatterchart
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-09-03 08:21:22 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-09-03 08:43:59 +0300
commitde88514dba523734170652d75a5cefcc7feb7c6c (patch)
tree649f908f09720f02c949782dfac7847a1b62f9c6 /examples/scatterchart
parent7b988086e9976b78d0f1ff433dcec205c6d33478 (diff)
Fixed issues from Improve examples task
Task-number: QTRD-2239 + Moved extra-full examples to tests + Removed extra functionality from widget and scatterchart examples + Changed bars default to bevelbar + Changed default label style to nobackground Change-Id: Idffba7a44d5b54dbaf36d7cdbfe616b78e0d4073 Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'examples/scatterchart')
-rw-r--r--examples/scatterchart/main.cpp85
-rw-r--r--examples/scatterchart/scatterchart.cpp154
-rw-r--r--examples/scatterchart/scatterchart.h21
3 files changed, 6 insertions, 254 deletions
diff --git a/examples/scatterchart/main.cpp b/examples/scatterchart/main.cpp
index b0135ef3..ceecbc69 100644
--- a/examples/scatterchart/main.cpp
+++ b/examples/scatterchart/main.cpp
@@ -24,7 +24,6 @@
#include <QVBoxLayout>
#include <QPushButton>
#include <QCheckBox>
-#include <QSlider>
#include <QComboBox>
#include <QFontComboBox>
#include <QLabel>
@@ -43,7 +42,7 @@ int main(int argc, char **argv)
QSize screenSize = chart->screen()->size();
QWidget *container = QWidget::createWindowContainer(chart);
- container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 2));
+ container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 1.5));
container->setMaximumSize(screenSize);
container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
container->setFocusPolicy(Qt::StrongFocus);
@@ -65,39 +64,6 @@ int main(int argc, char **argv)
QPushButton *cameraButton = new QPushButton(widget);
cameraButton->setText(QStringLiteral("Change camera preset"));
- QPushButton *clearButton = new QPushButton(widget);
- clearButton->setText(QStringLiteral("Clear chart"));
-
- QPushButton *addOneButton = new QPushButton(widget);
- addOneButton->setText(QStringLiteral("Add item"));
-
- QPushButton *addBunchButton = new QPushButton(widget);
- addBunchButton->setText(QStringLiteral("Add bunch of items"));
-
- QPushButton *insertOneButton = new QPushButton(widget);
- insertOneButton->setText(QStringLiteral("Insert item"));
-
- QPushButton *insertBunchButton = new QPushButton(widget);
- insertBunchButton->setText(QStringLiteral("Insert bunch of items"));
-
- QPushButton *changeOneButton = new QPushButton(widget);
- changeOneButton->setText(QStringLiteral("Change selected item"));
-
- QPushButton *changeBunchButton = new QPushButton(widget);
- changeBunchButton->setText(QStringLiteral("Change bunch of items"));
-
- QPushButton *removeOneButton = new QPushButton(widget);
- removeOneButton->setText(QStringLiteral("Remove selected item"));
-
- QPushButton *removeBunchButton = new QPushButton(widget);
- removeBunchButton->setText(QStringLiteral("Remove bunch of items"));
-
- QPushButton *setSelectedItemButton = new QPushButton(widget);
- setSelectedItemButton->setText(QStringLiteral("Select/deselect item 3"));
-
- QPushButton *startTimerButton = new QPushButton(widget);
- startTimerButton->setText(QStringLiteral("Start/stop timer"));
-
QCheckBox *backgroundCheckBox = new QCheckBox(widget);
backgroundCheckBox->setText(QStringLiteral("Show background"));
backgroundCheckBox->setChecked(true);
@@ -117,70 +83,27 @@ int main(int argc, char **argv)
shadowQuality->setCurrentIndex(3);
QFontComboBox *fontList = new QFontComboBox(widget);
-
- QSlider *fontSizeSlider = new QSlider(Qt::Horizontal, widget);
- fontSizeSlider->setTickInterval(1);
- fontSizeSlider->setMinimum(1);
- fontSizeSlider->setValue(30);
- fontSizeSlider->setMaximum(200);
+ fontList->setCurrentFont(QFont("Arial"));
vLayout->addWidget(themeButton, 0, Qt::AlignTop);
vLayout->addWidget(labelButton, 0, Qt::AlignTop);
vLayout->addWidget(styleButton, 0, Qt::AlignTop);
vLayout->addWidget(cameraButton, 0, Qt::AlignTop);
- vLayout->addWidget(clearButton, 0, Qt::AlignTop);
- vLayout->addWidget(addOneButton, 0, Qt::AlignTop);
- vLayout->addWidget(addBunchButton, 0, Qt::AlignTop);
- vLayout->addWidget(insertOneButton, 0, Qt::AlignTop);
- vLayout->addWidget(insertBunchButton, 0, Qt::AlignTop);
- vLayout->addWidget(changeOneButton, 0, Qt::AlignTop);
- vLayout->addWidget(changeBunchButton, 0, Qt::AlignTop);
- vLayout->addWidget(removeOneButton, 0, Qt::AlignTop);
- vLayout->addWidget(removeBunchButton, 0, Qt::AlignTop);
- vLayout->addWidget(setSelectedItemButton, 0, Qt::AlignTop);
- vLayout->addWidget(startTimerButton, 0, Qt::AlignTop);
vLayout->addWidget(backgroundCheckBox);
vLayout->addWidget(gridCheckBox);
vLayout->addWidget(new QLabel(QStringLiteral("Adjust shadow quality")));
vLayout->addWidget(shadowQuality);
vLayout->addWidget(new QLabel(QStringLiteral("Change font")));
- vLayout->addWidget(fontList);
- vLayout->addWidget(new QLabel(QStringLiteral("Adjust font size")));
- vLayout->addWidget(fontSizeSlider, 1, Qt::AlignTop);
+ vLayout->addWidget(fontList, 1, Qt::AlignTop);
widget->show();
ScatterDataModifier *modifier = new ScatterDataModifier(chart);
- QObject::connect(fontSizeSlider, &QSlider::valueChanged, modifier,
- &ScatterDataModifier::changeFontSize);
-
QObject::connect(styleButton, &QPushButton::clicked, modifier,
&ScatterDataModifier::changeStyle);
QObject::connect(cameraButton, &QPushButton::clicked, modifier,
&ScatterDataModifier::changePresetCamera);
- QObject::connect(clearButton, &QPushButton::clicked, modifier,
- &ScatterDataModifier::clear);
- QObject::connect(addOneButton, &QPushButton::clicked, modifier,
- &ScatterDataModifier::addOne);
- QObject::connect(addBunchButton, &QPushButton::clicked, modifier,
- &ScatterDataModifier::addBunch);
- QObject::connect(insertOneButton, &QPushButton::clicked, modifier,
- &ScatterDataModifier::insertOne);
- QObject::connect(insertBunchButton, &QPushButton::clicked, modifier,
- &ScatterDataModifier::insertBunch);
- QObject::connect(changeOneButton, &QPushButton::clicked, modifier,
- &ScatterDataModifier::changeOne);
- QObject::connect(changeBunchButton, &QPushButton::clicked, modifier,
- &ScatterDataModifier::changeBunch);
- QObject::connect(removeOneButton, &QPushButton::clicked, modifier,
- &ScatterDataModifier::removeOne);
- QObject::connect(removeBunchButton, &QPushButton::clicked, modifier,
- &ScatterDataModifier::removeBunch);
- QObject::connect(setSelectedItemButton, &QPushButton::clicked, modifier,
- &ScatterDataModifier::selectItem);
- QObject::connect(startTimerButton, &QPushButton::clicked, modifier,
- &ScatterDataModifier::startStopTimer);
QObject::connect(themeButton, &QPushButton::clicked, modifier,
&ScatterDataModifier::changeTheme);
QObject::connect(labelButton, &QPushButton::clicked, modifier,
@@ -192,8 +115,6 @@ int main(int argc, char **argv)
&QComboBox::setCurrentIndex);
QObject::connect(chart, &Q3DScatter::shadowQualityChanged, modifier,
&ScatterDataModifier::shadowQualityUpdatedByVisual);
- QObject::connect(chart, &Q3DScatter::selectedItemIndexChanged, modifier,
- &ScatterDataModifier::handleSelectionChange);
QObject::connect(fontList, &QFontComboBox::currentFontChanged, modifier,
&ScatterDataModifier::changeFont);
diff --git a/examples/scatterchart/scatterchart.cpp b/examples/scatterchart/scatterchart.cpp
index aab230f2..bcb10e92 100644
--- a/examples/scatterchart/scatterchart.cpp
+++ b/examples/scatterchart/scatterchart.cpp
@@ -22,14 +22,13 @@
#include <qmath.h>
using namespace QtDataVis3D;
-//#define RANDOM_SCATTER
+//#define RANDOM_SCATTER // Uncomment this to switch to random scatter
const int numberOfItems = 10000;
ScatterDataModifier::ScatterDataModifier(Q3DScatter *scatter)
: m_chart(scatter),
- m_fontSize(30.0f),
- m_selectedItem(-1)
+ m_fontSize(40.0f)
{
QFont font = m_chart->font();
font.setPointSize(m_fontSize);
@@ -45,8 +44,6 @@ ScatterDataModifier::ScatterDataModifier(Q3DScatter *scatter)
QScatterDataProxy *proxy = new QScatterDataProxy;
proxy->setItemLabelFormat("@xTitle: @xLabel @yTitle: @yLabel @zTitle: @zLabel");
m_chart->setActiveDataProxy(proxy);
-
- connect(&m_timer, &QTimer::timeout, this, &ScatterDataModifier::timeout);
}
ScatterDataModifier::~ScatterDataModifier()
@@ -150,14 +147,6 @@ void ScatterDataModifier::changeFont(const QFont &font)
m_chart->setFont(newFont);
}
-void ScatterDataModifier::changeFontSize(int fontsize)
-{
- m_fontSize = fontsize;
- QFont font = m_chart->font();
- font.setPointSize(m_fontSize);
- m_chart->setFont(font);
-}
-
void ScatterDataModifier::shadowQualityUpdatedByVisual(QDataVis::ShadowQuality sq)
{
int quality = int(sq);
@@ -165,145 +154,6 @@ void ScatterDataModifier::shadowQualityUpdatedByVisual(QDataVis::ShadowQuality s
emit shadowQualityChanged(quality);
}
-void ScatterDataModifier::clear()
-{
- m_chart->activeDataProxy()->resetArray(0);
- qDebug() << m_loopCounter << "Cleared array";
-}
-
-void ScatterDataModifier::addOne()
-{
- QScatterDataItem item(randVector());
- int addIndex = m_chart->activeDataProxy()->addItem(item);
- qDebug() << m_loopCounter << "added one to index:" << addIndex << "array size:" << m_chart->activeDataProxy()->array()->size();
-}
-
-void ScatterDataModifier::addBunch()
-{
- QScatterDataArray items(100);
- for (int i = 0; i < items.size(); i++)
- items[i].setPosition(randVector());
- int addIndex = m_chart->activeDataProxy()->addItems(items);
- qDebug() << m_loopCounter << "added bunch to index:" << addIndex << "array size:" << m_chart->activeDataProxy()->array()->size();
-}
-
-void ScatterDataModifier::insertOne()
-{
- QScatterDataItem item(randVector());
- m_chart->activeDataProxy()->insertItem(0, item);
- qDebug() << m_loopCounter << "Inserted one, array size:" << m_chart->activeDataProxy()->array()->size();
-}
-
-void ScatterDataModifier::insertBunch()
-{
- QScatterDataArray items(100);
- for (int i = 0; i < items.size(); i++)
- items[i].setPosition(randVector());
- m_chart->activeDataProxy()->insertItems(0, items);
- qDebug() << m_loopCounter << "Inserted bunch, array size:" << m_chart->activeDataProxy()->array()->size();
-}
-
-void ScatterDataModifier::changeOne()
-{
- if (m_selectedItem >= 0 && m_chart->activeDataProxy()->array()->size()) {
- QScatterDataItem item(randVector());
- m_chart->activeDataProxy()->setItem(m_selectedItem, item);
- qDebug() << m_loopCounter << "Changed one, array size:" << m_chart->activeDataProxy()->array()->size();
- }
-}
-
-void ScatterDataModifier::changeBunch()
-{
- if (m_chart->activeDataProxy()->array()->size()) {
- int amount = qMin(m_chart->activeDataProxy()->array()->size(), 100);
- QScatterDataArray items(amount);
- for (int i = 0; i < items.size(); i++)
- items[i].setPosition(randVector());
- m_chart->activeDataProxy()->setItems(0, items);
- qDebug() << m_loopCounter << "Changed bunch, array size:" << m_chart->activeDataProxy()->array()->size();
- }
-}
-
-void ScatterDataModifier::removeOne()
-{
- if (m_selectedItem >= 0) {
- m_chart->activeDataProxy()->removeItems(m_selectedItem, 1);
- qDebug() << m_loopCounter << "Removed one, array size:" << m_chart->activeDataProxy()->array()->size();
- }
-}
-
-void ScatterDataModifier::removeBunch()
-{
- m_chart->activeDataProxy()->removeItems(0, 100);
- qDebug() << m_loopCounter << "Removed bunch, array size:" << m_chart->activeDataProxy()->array()->size();
-}
-
-void ScatterDataModifier::timeout()
-{
- int doWhat = rand() % 8;
- if (!(rand() % 100))
- doWhat = -1;
-
- switch (doWhat) {
- case 0:
- addOne();
- break;
- case 1:
- addBunch();
- break;
- case 2:
- insertOne();
- break;
- case 3:
- insertBunch();
- break;
- case 4:
- changeOne();
- break;
- case 5:
- changeBunch();
- break;
- case 6:
- removeOne();
- break;
- case 7:
- removeBunch();
- break;
- default:
- clear();
- break;
- }
-
- m_loopCounter++;
-}
-
-void ScatterDataModifier::startStopTimer()
-{
- if (m_timer.isActive()) {
- m_timer.stop();
- } else {
- clear();
- m_loopCounter = 0;
- m_timer.start(0);
- }
-}
-
-void ScatterDataModifier::selectItem()
-{
- int targetItem(3);
- int noSelection(-1);
- if (m_selectedItem != targetItem)
- m_chart->setSelectedItemIndex(targetItem);
- else
- m_chart->setSelectedItemIndex(noSelection);
-}
-
-void ScatterDataModifier::handleSelectionChange(int index)
-{
- m_selectedItem = index;
- qDebug() << "Selected item index:" << index;
-}
-
void ScatterDataModifier::changeShadowQuality(int quality)
{
QDataVis::ShadowQuality sq = QDataVis::ShadowQuality(quality);
diff --git a/examples/scatterchart/scatterchart.h b/examples/scatterchart/scatterchart.h
index 4412af99..9e01f0dc 100644
--- a/examples/scatterchart/scatterchart.h
+++ b/examples/scatterchart/scatterchart.h
@@ -20,10 +20,7 @@
#define SCATTERDATAMODIFIER_H
#include <QtDataVis3D/q3dscatter.h>
-
-#include <QFont>
-#include <QDebug>
-#include <QTimer>
+#include <QtGui/QFont>
using namespace QtDataVis3D;
@@ -48,19 +45,6 @@ public:
public slots:
void changeShadowQuality(int quality);
void shadowQualityUpdatedByVisual(QDataVis::ShadowQuality shadowQuality);
- void clear();
- void addOne();
- void addBunch();
- void insertOne();
- void insertBunch();
- void changeOne();
- void changeBunch();
- void removeOne();
- void removeBunch();
- void timeout();
- void startStopTimer();
- void selectItem();
- void handleSelectionChange(int index);
signals:
void shadowQualityChanged(int quality);
@@ -69,9 +53,6 @@ private:
QVector3D randVector();
Q3DScatter *m_chart;
int m_fontSize;
- QTimer m_timer;
- int m_loopCounter;
- int m_selectedItem;
};
#endif