diff options
Diffstat (limited to 'examples/scatter')
-rw-r--r-- | examples/scatter/main.cpp | 15 | ||||
-rw-r--r-- | examples/scatter/scatterdatamodifier.cpp | 17 | ||||
-rw-r--r-- | examples/scatter/scatterdatamodifier.h | 3 |
3 files changed, 22 insertions, 13 deletions
diff --git a/examples/scatter/main.cpp b/examples/scatter/main.cpp index 40027a40..d981620c 100644 --- a/examples/scatter/main.cpp +++ b/examples/scatter/main.cpp @@ -73,10 +73,12 @@ int main(int argc, char **argv) smoothCheckBox->setText(QStringLiteral("Smooth dots")); smoothCheckBox->setChecked(true); - QComboBox *barStyleList = new QComboBox(widget); - barStyleList->addItem(QStringLiteral("Sphere")); - barStyleList->addItem(QStringLiteral("Tetrahedron")); - barStyleList->setCurrentIndex(0); + QComboBox *itemStyleList = new QComboBox(widget); + itemStyleList->addItem(QStringLiteral("Sphere"), int(QAbstract3DSeries::MeshSphere)); + itemStyleList->addItem(QStringLiteral("Cube"), int(QAbstract3DSeries::MeshCube)); + itemStyleList->addItem(QStringLiteral("Minimal"), int(QAbstract3DSeries::MeshMinimal)); + itemStyleList->addItem(QStringLiteral("Point"), int(QAbstract3DSeries::MeshPoint)); + itemStyleList->setCurrentIndex(0); QPushButton *cameraButton = new QPushButton(widget); cameraButton->setText(QStringLiteral("Change camera preset")); @@ -110,7 +112,7 @@ int main(int argc, char **argv) vLayout->addWidget(gridCheckBox); vLayout->addWidget(smoothCheckBox, 0, Qt::AlignTop); vLayout->addWidget(new QLabel(QStringLiteral("Change dot style"))); - vLayout->addWidget(barStyleList); + vLayout->addWidget(itemStyleList); vLayout->addWidget(new QLabel(QStringLiteral("Change theme"))); vLayout->addWidget(themeList); vLayout->addWidget(new QLabel(QStringLiteral("Adjust shadow quality"))); @@ -140,8 +142,7 @@ int main(int argc, char **argv) backgroundCheckBox, &QCheckBox::setChecked); QObject::connect(modifier, &ScatterDataModifier::gridEnabledChanged, gridCheckBox, &QCheckBox::setChecked); - - QObject::connect(barStyleList, SIGNAL(currentIndexChanged(int)), modifier, + QObject::connect(itemStyleList, SIGNAL(currentIndexChanged(int)), modifier, SLOT(changeStyle(int))); QObject::connect(themeList, SIGNAL(currentIndexChanged(int)), modifier, diff --git a/examples/scatter/scatterdatamodifier.cpp b/examples/scatter/scatterdatamodifier.cpp index fea50992..ee49402a 100644 --- a/examples/scatter/scatterdatamodifier.cpp +++ b/examples/scatter/scatterdatamodifier.cpp @@ -24,6 +24,8 @@ #include <QtDataVisualization/qscatter3dseries.h> #include <QtDataVisualization/q3dtheme.h> #include <qmath.h> +#include <QComboBox> + using namespace QtDataVisualization; //#define RANDOM_SCATTER // Uncomment this to switch to random scatter @@ -33,7 +35,7 @@ const int numberOfItems = 3600; ScatterDataModifier::ScatterDataModifier(Q3DScatter *scatter) : m_graph(scatter), m_fontSize(40.0f), - m_style(QDataVis::MeshStyleSpheres), + m_style(QAbstract3DSeries::MeshSphere), m_smooth(true) { //! [0] @@ -41,7 +43,6 @@ ScatterDataModifier::ScatterDataModifier(Q3DScatter *scatter) QFont font = m_graph->theme()->font(); font.setPointSize(m_fontSize); m_graph->theme()->setFont(font); - m_graph->setObjectType(QDataVis::MeshStyleSpheres, true); m_graph->setShadowQuality(QDataVis::ShadowQualitySoftLow); m_graph->scene()->activeCamera()->setCameraPreset(QDataVis::CameraPresetFront); //! [0] @@ -56,6 +57,7 @@ ScatterDataModifier::ScatterDataModifier(Q3DScatter *scatter) QScatterDataProxy *proxy = new QScatterDataProxy; QScatter3DSeries *series = new QScatter3DSeries(proxy); series->setItemLabelFormat("@xTitle: @xLabel @yTitle: @yLabel @zTitle: @zLabel"); + series->setMesh(QAbstract3DSeries::MeshSphere); m_graph->addSeries(series); //! [2] @@ -117,14 +119,19 @@ void ScatterDataModifier::addData() //! [8] void ScatterDataModifier::changeStyle(int style) { - m_style = QDataVis::MeshStyle(style + 5); // skip unsupported mesh types - m_graph->setObjectType(m_style, m_smooth); + QComboBox *comboBox = qobject_cast<QComboBox *>(sender()); + if (comboBox) { + m_style = QAbstract3DSeries::Mesh(comboBox->itemData(style).toInt()); + if (m_graph->seriesList().size()) + m_graph->seriesList().at(0)->setMesh(m_style); + } } void ScatterDataModifier::setSmoothDots(int smooth) { m_smooth = bool(smooth); - m_graph->setObjectType(m_style, m_smooth); + QScatter3DSeries *series = m_graph->seriesList().at(0); + series->setMeshSmooth(m_smooth); } void ScatterDataModifier::changeTheme(int theme) diff --git a/examples/scatter/scatterdatamodifier.h b/examples/scatter/scatterdatamodifier.h index 43c58fd9..78dd45e3 100644 --- a/examples/scatter/scatterdatamodifier.h +++ b/examples/scatter/scatterdatamodifier.h @@ -20,6 +20,7 @@ #define SCATTERDATAMODIFIER_H #include <QtDataVisualization/q3dscatter.h> +#include <QtDataVisualization/qabstract3dseries.h> #include <QtGui/QFont> using namespace QtDataVisualization; @@ -58,7 +59,7 @@ private: QVector3D randVector(); Q3DScatter *m_graph; int m_fontSize; - QDataVis::MeshStyle m_style; + QAbstract3DSeries::Mesh m_style; bool m_smooth; }; |