summaryrefslogtreecommitdiffstats
path: root/examples/widget
diff options
context:
space:
mode:
Diffstat (limited to 'examples/widget')
-rw-r--r--examples/widget/chart.cpp440
-rw-r--r--examples/widget/chart.h92
-rw-r--r--examples/widget/doc/images/widget-example.pngbin233825 -> 0 bytes
-rw-r--r--examples/widget/doc/src/widget.qdoc29
-rw-r--r--examples/widget/main.cpp297
-rw-r--r--examples/widget/widget.pro10
6 files changed, 0 insertions, 868 deletions
diff --git a/examples/widget/chart.cpp b/examples/widget/chart.cpp
deleted file mode 100644
index a8c6c14a..00000000
--- a/examples/widget/chart.cpp
+++ /dev/null
@@ -1,440 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc
-** All rights reserved.
-** For any questions to Digia, please use contact form at http://qt.digia.com
-**
-** This file is part of the QtDataVis3D module.
-**
-** Licensees holding valid Qt Enterprise licenses may use this file in
-** accordance with the Qt Enterprise License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.
-**
-** If you have questions regarding the use of this file, please use
-** contact form at http://qt.digia.com
-**
-****************************************************************************/
-
-#include "chart.h"
-#include <QtDataVis3D/qcategoryaxis.h>
-#include <QtDataVis3D/qvalueaxis.h>
-#include <QtDataVis3D/qbardataproxy.h>
-#include <QTime>
-
-QT_DATAVIS3D_USE_NAMESPACE
-
-const QString celsiusString = QString(QChar(0xB0)) + "C";
-
-ChartModifier::ChartModifier(Q3DBars *barchart)
- : m_chart(barchart),
- m_columnCount(21),
- m_rowCount(21),
- m_xRotation(0.0f),
- m_yRotation(0.0f),
- m_static(true),
- m_barWidth(1.0f),
- m_barDepth(1.0f),
- m_barSpacingX(0.1f),
- m_barSpacingZ(0.1f),
- m_fontSize(20),
- m_segments(4),
- m_subSegments(3),
- m_minval(-20.0), // TODO Barchart Y-axis currently only properly supports zero-centered ranges
- m_maxval(20.0)
-{
- // Don't set any styles or specifications, start from defaults
- // Generate generic labels
- for (int i = 0; i < 200; i++) {
- if (i % 5)
- m_genericRowLabels << QString();
- else
- m_genericRowLabels << QStringLiteral("Row %1").arg(i);
- }
- for (int i = 0; i < 200; i++) {
- if (i % 5)
- m_genericColumnLabels << QString();
- else
- m_genericColumnLabels << QStringLiteral("Column %1").arg(i);
- }
-}
-
-ChartModifier::~ChartModifier()
-{
- delete m_chart;
-}
-
-void ChartModifier::start()
-{
- if (m_static)
- addDataSet();
-}
-
-void ChartModifier::restart(bool dynamicData)
-{
- m_static = !dynamicData;
-
- if (m_static) {
- start();
- // Set selection mode to zoom row
- m_chart->setSelectionMode(QDataVis::ModeZoomRow);
- m_chart->setFont(QFont("Times Roman", 20));
- } else {
- m_chart->dataProxy()->resetArray(0);
- // Set up sample space
- m_chart->setupSampleSpace(m_rowCount, m_columnCount);
- // Set selection mode to full
- m_chart->setSelectionMode(QDataVis::ModeItemRowAndColumn);
- m_chart->valueAxis()->setSegmentCount(m_segments * 2);
- m_chart->valueAxis()->setSubSegmentCount(0);
- m_chart->valueAxis()->setAutoAdjustRange(true);
-
- m_chart->rowAxis()->setTitle("Generic Row");
- m_chart->columnAxis()->setTitle("Generic Column");
- m_chart->valueAxis()->setTitle("Generic Value");
-
- if (m_chart->rowAxis()->labels().size() < m_rowCount)
- m_chart->rowAxis()->setCategoryLabels(m_genericRowLabels.mid(0, m_rowCount));
-
- if (m_chart->columnAxis()->labels().size() < m_rowCount)
- m_chart->columnAxis()->setCategoryLabels(m_genericColumnLabels.mid(0, m_columnCount));
- }
-}
-
-void ChartModifier::addDataSet()
-{
- // Prepare data to be visualized
- // Use QDataSet adder
-
- // Set window title
- m_chart->setWindowTitle(QStringLiteral("Average temperatures in Oulu, Finland (2006-2012)"));
-
- // Set up row and column names
- QStringList months;
- months << "January" << "February" << "March" << "April" << "May" << "June" << "July" << "August" << "September" << "October" << "November" << "December";
- QStringList years;
- years << "2006" << "2007" << "2008" << "2009" << "2010" << "2011" << "2012";
-
- // Set up data
- float temp[7][12] = {{-6.7f, -11.7f, -9.7f, 3.3f, 9.2f, 14.0f, 16.3f, 17.8f, 10.2f, 2.1f, -2.6f, -0.3f}, // 2006
- {-6.8f, -13.3f, 0.2f, 1.5f, 7.9f, 13.4f, 16.1f, 15.5f, 8.2f, 5.4f, -2.6f, -0.8f}, // 2007
- {-4.2f, -4.0f, -4.6f, 1.9f, 7.3f, 12.5f, 15.0f, 12.8f, 7.6f, 5.1f, -0.9f, -1.3f}, // 2008
- {-7.8f, -8.8f, -4.2f, 0.7f, 9.3f, 13.2f, 15.8f, 15.5f, 11.2f, 0.6f, 0.7f, -8.4f}, // 2009
- {-14.4f, -12.1f, -7.0f, 2.3f, 11.0f, 12.6f, 18.8f, 13.8f, 9.4f, 3.9f, -5.6f, -13.0f}, // 2010
- {-9.0f, -15.2f, -3.8f, 2.6f, 8.3f, 15.9f, 18.6f, 14.9f, 11.1f, 5.3f, 1.8f, -0.2f}, // 2011
- {-8.7f, -11.3f, -2.3f, 0.4f, 7.5f, 12.2f, 16.4f, 14.1f, 9.2f, 3.1f, 0.3f, -12.1f}}; // 2012
-
- // Use default data proxy to feed data directly in expected format
- QBarDataProxy *proxy = m_chart->dataProxy();
- proxy->setItemLabelFormat(celsiusString);
-
- // Add labels
- m_chart->rowAxis()->setTitle("Year");
- m_chart->columnAxis()->setTitle("Month");
- m_chart->valueAxis()->setTitle("Average temperature (" + celsiusString + ")");
- m_chart->rowAxis()->setCategoryLabels(years);
- m_chart->columnAxis()->setCategoryLabels(months);
- m_chart->valueAxis()->setSegmentCount(m_segments);
- m_chart->valueAxis()->setSubSegmentCount(m_subSegments);
- m_chart->valueAxis()->setRange(m_minval, m_maxval);
-
- // Create data rows
- QBarDataArray *dataSet = new QBarDataArray;
- QBarDataRow *dataRow;
-
- dataSet->reserve(years.size());
- for (int year = 0; year < years.size(); year++) {
- dataRow = new QBarDataRow(months.size());
- // Create data items
- for (int month = 0; month < months.size(); month++) {
- // Add data to rows
- (*dataRow)[month].setValue(temp[year][month]);
- }
- // Add row to set
- dataSet->append(dataRow);
- }
-
- // Set up sample space based on prepared data
- m_chart->setupSampleSpace(years.size(), months.size());
-
- // Add data to chart (chart assumes ownership)
- proxy->resetArray(dataSet);
-}
-
-void ChartModifier::addRow()
-{
- QBarDataRow *dataRow = new QBarDataRow(m_columnCount);
- for (float i = 0; i < m_columnCount; i++) {
- (*dataRow)[i].setValue(((i + 1) / (float)m_columnCount) * (float)(rand() % 100));
- //(*dataRow)[i].setValue(i + m_chart->dataProxy()->rowCount());
- }
- m_chart->dataProxy()->insertRow(0, dataRow);
-}
-
-void ChartModifier::addRows()
-{
- QTime timer;
- timer.start();
- QBarDataArray dataArray;
- for (int i = 0; i < m_rowCount; i++) {
- QBarDataRow *dataRow = new QBarDataRow(m_columnCount);
- for (int j = 0; j < m_columnCount; j++)
- (*dataRow)[j].setValue(qreal(j + i + m_chart->dataProxy()->rowCount()));
- dataArray.append(dataRow);
- }
- m_chart->dataProxy()->insertRows(0, dataArray);
- qDebug() << "Added" << m_rowCount << "rows, time:" << timer.elapsed();
-}
-
-void ChartModifier::changeItem()
-{
- // TODO fix to use actual selected item, for now just assume some row/column are selected
- int row = qMin(4, (m_chart->dataProxy()->rowCount() - 1));
- if (row >= 0) {
- int column = qMin(4, (m_chart->dataProxy()->rowAt(row)->size() - 1));
- if (column >= 0) {
- QBarDataItem item(qreal(rand() % 100));
- m_chart->dataProxy()->setItem(row, column, item);
- }
- }
-}
-
-void ChartModifier::changeRow()
-{
- // TODO fix to use actual selected item, for now just assume some is selected
- int row = qMin(4, (m_chart->dataProxy()->rowCount() - 1));
- if (row >= 0) {
- QBarDataRow *newRow = new QBarDataRow(m_chart->dataProxy()->rowAt(row)->size());
- for (int i = 0; i < newRow->size(); i++)
- (*newRow)[i].setValue(qreal(rand() % 100));
- m_chart->dataProxy()->setRow(row, newRow);
- }
-}
-
-void ChartModifier::changeRows()
-{
- // TODO fix to use actual selected item, for now just assume some is selected
- int row = qMin(4, (m_chart->dataProxy()->rowCount() - 1));
- if (row >= 0) {
- int startRow = qMax(row - 2, 0);
- QBarDataArray newArray;
- for (int i = startRow; i <= row; i++ ) {
- QBarDataRow *newRow = new QBarDataRow(m_chart->dataProxy()->rowAt(i)->size());
- for (int j = 0; j < newRow->size(); j++)
- (*newRow)[j].setValue(qreal(rand() % 100));
- newArray.append(newRow);
- }
- m_chart->dataProxy()->setRows(startRow, newArray);
- }
-}
-
-void ChartModifier::removeRow()
-{
- // TODO fix to use actual selected item, for now just assume some is selected
- int row = qMin(4, (m_chart->dataProxy()->rowCount() - 1));
- if (row >= 0)
- m_chart->dataProxy()->removeRows(row, 1);
-}
-
-void ChartModifier::removeRows()
-{
- // TODO fix to use actual selected item, for now just assume some is selected
- int row = qMin(4, (m_chart->dataProxy()->rowCount() - 1));
- if (row >= 0) {
- int startRow = qMax(row - 2, 0);
- m_chart->dataProxy()->removeRows(startRow, 3);
- }
-}
-
-void ChartModifier::changeStyle()
-{
- static int model = 0;
- switch (model) {
- case 0:
- m_chart->setBarType(QDataVis::Cylinders, false);
- break;
- case 1:
- m_chart->setBarType(QDataVis::Cylinders, true);
- break;
- case 2:
- m_chart->setBarType(QDataVis::Cones, false);
- break;
- case 3:
- m_chart->setBarType(QDataVis::Cones, true);
- break;
- case 4:
- m_chart->setBarType(QDataVis::Bars, false);
- break;
- case 5:
- m_chart->setBarType(QDataVis::Bars, true);
- break;
- case 6:
- m_chart->setBarType(QDataVis::Pyramids, false);
- break;
- case 7:
- m_chart->setBarType(QDataVis::Pyramids, true);
- break;
- case 8:
- m_chart->setBarType(QDataVis::BevelBars, false);
- break;
- case 9:
- m_chart->setBarType(QDataVis::BevelBars, true);
- break;
- }
- model++;
- if (model > 9)
- model = 0;
-}
-
-void ChartModifier::changePresetCamera()
-{
- static int preset = QDataVis::PresetFrontLow;
-
- m_chart->setCameraPreset((QDataVis::CameraPreset)preset);
-
- if (++preset > QDataVis::PresetDirectlyBelow)
- preset = QDataVis::PresetFrontLow;
-}
-
-void ChartModifier::changeTheme()
-{
- static int theme = QDataVis::ThemeSystem;
-
- m_chart->setTheme((QDataVis::ColorTheme)theme);
-
- if (++theme > QDataVis::ThemeLight)
- theme = QDataVis::ThemeSystem;
-}
-
-void ChartModifier::changeTransparency()
-{
- static int transparency = QDataVis::TransparencyNone;
-
- m_chart->setLabelTransparency((QDataVis::LabelTransparency)transparency);
-
- if (++transparency > QDataVis::TransparencyNoBackground)
- transparency = QDataVis::TransparencyFromTheme;
-}
-
-void ChartModifier::changeSelectionMode()
-{
- static int selectionMode = QDataVis::ModeNone;
-
- m_chart->setSelectionMode((QDataVis::SelectionMode)selectionMode);
-
- if (++selectionMode > QDataVis::ModeZoomColumn)
- selectionMode = QDataVis::ModeNone;
-}
-
-void ChartModifier::changeFont(const QFont &font)
-{
- QFont newFont = font;
- newFont.setPointSize(m_fontSize);
- //qDebug() << newFont << newFont.style();
- m_chart->setFont(newFont);
-}
-
-void ChartModifier::changeFontSize(int fontsize)
-{
- m_fontSize = fontsize;
- m_chart->setFontSize((GLfloat)m_fontSize);
-}
-
-void ChartModifier::shadowQualityUpdatedByVisual(QDataVis::ShadowQuality sq)
-{
- int quality = 0;
- switch (sq) {
- case QDataVis::ShadowLow:
- quality = 1;
- break;
- case QDataVis::ShadowMedium:
- quality = 2;
- break;
- case QDataVis::ShadowHigh:
- quality = 3;
- break;
- }
-
- // Updates the UI component to show correct shadow quality
- emit shadowQualityChanged(quality);
-}
-
-void ChartModifier::changeShadowQuality(int quality)
-{
- QDataVis::ShadowQuality sq = QDataVis::ShadowNone;
- switch (quality) {
- case 1:
- sq = QDataVis::ShadowLow;
- break;
- case 2:
- sq = QDataVis::ShadowMedium;
- break;
- case 3:
- sq = QDataVis::ShadowHigh;
- break;
- }
- m_chart->setShadowQuality(sq);
- emit shadowQualityChanged(quality);
-}
-
-void ChartModifier::setBackgroundEnabled(int enabled)
-{
- m_chart->setBackgroundVisible((bool)enabled);
-}
-
-void ChartModifier::setGridEnabled(int enabled)
-{
- m_chart->setGridVisible((bool)enabled);
-}
-
-void ChartModifier::rotateX(int rotation)
-{
- m_xRotation = rotation;
- m_chart->setCameraPosition(m_xRotation, m_yRotation);
-}
-
-void ChartModifier::rotateY(int rotation)
-{
- m_yRotation = rotation;
- m_chart->setCameraPosition(m_xRotation, m_yRotation);
-}
-
-void ChartModifier::setSpecsX(int barwidth)
-{
- m_barWidth = (float)barwidth / 100.0f;
- m_chart->setBarSpecs(QSizeF(m_barWidth, m_barDepth), QSizeF(m_barSpacingX, m_barSpacingZ));
-}
-
-void ChartModifier::setSpecsZ(int bardepth)
-{
- m_barDepth = (float)bardepth / 100.0f;
- m_chart->setBarSpecs(QSizeF(m_barWidth, m_barDepth), QSizeF(m_barSpacingX, m_barSpacingZ));
-}
-
-void ChartModifier::setSpacingSpecsX(int spacing)
-{
- m_barSpacingX = (float)spacing / 100.0f;
- m_chart->setBarSpecs(QSizeF(m_barWidth, m_barDepth), QSizeF(m_barSpacingX, m_barSpacingZ));
-}
-
-void ChartModifier::setSpacingSpecsZ(int spacing)
-{
- m_barSpacingZ = (float)spacing / 100.0f;
- m_chart->setBarSpecs(QSizeF(m_barWidth, m_barDepth), QSizeF(m_barSpacingX, m_barSpacingZ));
-}
-
-void ChartModifier::setSampleCountX(int samples)
-{
- m_columnCount = samples;
- m_chart->setupSampleSpace(m_rowCount, m_columnCount);
- if (m_chart->columnAxis()->labels().size() < m_columnCount)
- m_chart->columnAxis()->setCategoryLabels(m_genericColumnLabels.mid(0, m_columnCount));
-}
-
-void ChartModifier::setSampleCountZ(int samples)
-{
- m_rowCount = samples;
- m_chart->setupSampleSpace(m_rowCount, m_columnCount);
- if (m_chart->rowAxis()->labels().size() < m_rowCount)
- m_chart->rowAxis()->setCategoryLabels(m_genericRowLabels.mid(0, m_rowCount));
-}
diff --git a/examples/widget/chart.h b/examples/widget/chart.h
deleted file mode 100644
index 67280e13..00000000
--- a/examples/widget/chart.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc
-** All rights reserved.
-** For any questions to Digia, please use contact form at http://qt.digia.com
-**
-** This file is part of the QtDataVis3D module.
-**
-** Licensees holding valid Qt Enterprise licenses may use this file in
-** accordance with the Qt Enterprise License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.
-**
-** If you have questions regarding the use of this file, please use
-** contact form at http://qt.digia.com
-**
-****************************************************************************/
-
-#ifndef CHARTMODIFIER_H
-#define CHARTMODIFIER_H
-
-#include <QtDataVis3D/q3dbars.h>
-
-#include <QFont>
-#include <QDebug>
-#include <QStringList>
-
-using namespace QtDataVis3D;
-
-class ChartModifier : public QObject
-{
- Q_OBJECT
-public:
- explicit ChartModifier(Q3DBars *barchart);
- ~ChartModifier();
-
- void addDataSet();
- void addRow();
- void addRows();
- void changeItem();
- void changeRow();
- void changeRows();
- void removeRow();
- void removeRows();
- void changeStyle();
- void changePresetCamera();
- void changeTheme();
- void changeTransparency();
- void changeSelectionMode();
- void changeFont(const QFont &font);
- void changeFontSize(int fontsize);
- void rotateX(int rotation);
- void rotateY(int rotation);
- void setBackgroundEnabled(int enabled);
- void setGridEnabled(int enabled);
- void setSpecsX(int barwidth);
- void setSpecsZ(int bardepth);
- void setSpacingSpecsX(int spacing);
- void setSpacingSpecsZ(int spacing);
- void setSampleCountX(int samples);
- void setSampleCountZ(int samples);
- void start();
- void restart(bool dynamicData);
-
-public slots:
- void changeShadowQuality(int quality);
- void shadowQualityUpdatedByVisual(QDataVis::ShadowQuality shadowQuality);
-
-signals:
- void shadowQualityChanged(int quality);
-
-private:
- Q3DBars *m_chart;
- int m_columnCount;
- int m_rowCount;
- float m_xRotation;
- float m_yRotation;
- bool m_static;
- float m_barWidth;
- float m_barDepth;
- float m_barSpacingX;
- float m_barSpacingZ;
- int m_fontSize;
- int m_segments;
- int m_subSegments;
- qreal m_minval;
- qreal m_maxval;
- QStringList m_genericRowLabels;
- QStringList m_genericColumnLabels;
-};
-
-#endif
diff --git a/examples/widget/doc/images/widget-example.png b/examples/widget/doc/images/widget-example.png
deleted file mode 100644
index 4fb43b42..00000000
--- a/examples/widget/doc/images/widget-example.png
+++ /dev/null
Binary files differ
diff --git a/examples/widget/doc/src/widget.qdoc b/examples/widget/doc/src/widget.qdoc
deleted file mode 100644
index 6645d356..00000000
--- a/examples/widget/doc/src/widget.qdoc
+++ /dev/null
@@ -1,29 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc
-** All rights reserved.
-** For any questions to Digia, please use contact form at http://qt.digia.com
-**
-** This file is part of the QtDataVis3D module.
-**
-** Licensees holding valid Qt Enterprise licenses may use this file in
-** accordance with the Qt Enterprise License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.
-**
-** If you have questions regarding the use of this file, please use
-** contact form at http://qt.digia.com
-**
-****************************************************************************/
-
-/*!
- \example widget
- \title Widget Example
-
- The widget example shows how to make a 3D bar chart using Q3DBars and combining the use of
- widgets for adjusting several adjustable qualities.
-
- \image widget-example.png
-
- TODO
-*/
diff --git a/examples/widget/main.cpp b/examples/widget/main.cpp
deleted file mode 100644
index 47892484..00000000
--- a/examples/widget/main.cpp
+++ /dev/null
@@ -1,297 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc
-** All rights reserved.
-** For any questions to Digia, please use contact form at http://qt.digia.com
-**
-** This file is part of the QtDataVis3D module.
-**
-** Licensees holding valid Qt Enterprise licenses may use this file in
-** accordance with the Qt Enterprise License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.
-**
-** If you have questions regarding the use of this file, please use
-** contact form at http://qt.digia.com
-**
-****************************************************************************/
-
-#include "chart.h"
-
-#include <QApplication>
-#include <QWidget>
-#include <QHBoxLayout>
-#include <QVBoxLayout>
-#include <QPushButton>
-#include <QCheckBox>
-#include <QSlider>
-#include <QFontComboBox>
-#include <QLabel>
-#include <QScreen>
-#include <QFontDatabase>
-
-int main(int argc, char **argv)
-{
- QApplication app(argc, argv);
-
- QWidget *widget = new QWidget;
- QHBoxLayout *hLayout = new QHBoxLayout(widget);
- QVBoxLayout *vLayout = new QVBoxLayout();
-
- Q3DBars *widgetchart = new Q3DBars();
- QSize screenSize = widgetchart->screen()->size();
-
- QWidget *container = QWidget::createWindowContainer(widgetchart);
- container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 2));
- container->setMaximumSize(screenSize);
- container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- container->setFocusPolicy(Qt::StrongFocus);
-
- widget->setWindowTitle(QStringLiteral("Average temperatures in Oulu, Finland (2006-2012)"));
-
- hLayout->addWidget(container, 1);
- hLayout->addLayout(vLayout);
-
- QPushButton *dataButton = new QPushButton(widget);
- dataButton->setText(QStringLiteral("Insert a row of data"));
- dataButton->setEnabled(false);
-
- QPushButton *multiDataButton = new QPushButton(widget);
- multiDataButton->setText(QStringLiteral("Insert many rows of data"));
- multiDataButton->setEnabled(false);
-
- QPushButton *changeSingleDataButton = new QPushButton(widget);
- changeSingleDataButton->setText(QStringLiteral("Change selected bar value"));
- changeSingleDataButton->setEnabled(false);
-
- QPushButton *changeRowButton = new QPushButton(widget);
- changeRowButton->setText(QStringLiteral("Change selected row values"));
- changeRowButton->setEnabled(false);
-
- QPushButton *changeRowsButton = new QPushButton(widget);
- changeRowsButton->setText(QStringLiteral("Change three rows from selected"));
- changeRowsButton->setEnabled(false);
-
- QPushButton *removeRowButton = new QPushButton(widget);
- removeRowButton->setText(QStringLiteral("Remove selected row"));
- removeRowButton->setEnabled(false);
-
- QPushButton *removeRowsButton = new QPushButton(widget);
- removeRowsButton->setText(QStringLiteral("remove three rows from selected"));
- removeRowsButton->setEnabled(false);
-
- QPushButton *themeButton = new QPushButton(widget);
- themeButton->setText(QStringLiteral("Change theme"));
-
- QPushButton *labelButton = new QPushButton(widget);
- labelButton->setText(QStringLiteral("Change label style"));
-
- QPushButton *styleButton = new QPushButton(widget);
- styleButton->setText(QStringLiteral("Change bar style"));
-
- QPushButton *cameraButton = new QPushButton(widget);
- cameraButton->setText(QStringLiteral("Change camera preset"));
-
- QPushButton *selectionButton = new QPushButton(widget);
- selectionButton->setText(QStringLiteral("Change selection mode"));
-
- QCheckBox *backgroundCheckBox = new QCheckBox(widget);
- backgroundCheckBox->setText(QStringLiteral("Show background"));
- backgroundCheckBox->setChecked(true);
-
- QCheckBox *gridCheckBox = new QCheckBox(widget);
- gridCheckBox->setText(QStringLiteral("Show grid"));
- gridCheckBox->setChecked(true);
-
- QCheckBox *rotationCheckBox = new QCheckBox(widget);
- rotationCheckBox->setText("Rotate with slider");
-
- QCheckBox *staticCheckBox = new QCheckBox(widget);
- staticCheckBox->setText("Use dynamic data");
- staticCheckBox->setChecked(false);
-
- QSlider *rotationSliderX = new QSlider(Qt::Horizontal, widget);
- rotationSliderX->setTickInterval(1);
- rotationSliderX->setMinimum(-180);
- rotationSliderX->setValue(0);
- rotationSliderX->setMaximum(180);
- rotationSliderX->setEnabled(false);
- QSlider *rotationSliderY = new QSlider(Qt::Horizontal, widget);
- rotationSliderY->setTickInterval(1);
- rotationSliderY->setMinimum(0);
- rotationSliderY->setValue(0);
- rotationSliderY->setMaximum(90);
- rotationSliderY->setEnabled(false);
-
- QSlider *sizeSliderX = new QSlider(Qt::Horizontal, widget);
- sizeSliderX->setTickInterval(1);
- sizeSliderX->setMinimum(1);
- sizeSliderX->setValue(100);
- sizeSliderX->setMaximum(100);
- QSlider *sizeSliderZ = new QSlider(Qt::Horizontal, widget);
- sizeSliderZ->setTickInterval(1);
- sizeSliderZ->setMinimum(1);
- sizeSliderZ->setValue(100);
- sizeSliderZ->setMaximum(100);
-
- QSlider *spacingSliderX = new QSlider(Qt::Horizontal, widget);
- spacingSliderX->setTickInterval(1);
- spacingSliderX->setMinimum(0);
- spacingSliderX->setValue(10);
- spacingSliderX->setMaximum(200);
- QSlider *spacingSliderZ = new QSlider(Qt::Horizontal, widget);
- spacingSliderZ->setTickInterval(1);
- spacingSliderZ->setMinimum(0);
- spacingSliderZ->setValue(10);
- spacingSliderZ->setMaximum(200);
-
- QSlider *sampleSliderX = new QSlider(Qt::Horizontal, widget);
- sampleSliderX->setTickInterval(1);
- sampleSliderX->setMinimum(2);
- sampleSliderX->setValue(10);
- sampleSliderX->setMaximum(200);
- sampleSliderX->setEnabled(false);
- QSlider *sampleSliderZ = new QSlider(Qt::Horizontal, widget);
- sampleSliderZ->setTickInterval(1);
- sampleSliderZ->setMinimum(2);
- sampleSliderZ->setValue(10);
- sampleSliderZ->setMaximum(200);
- sampleSliderZ->setEnabled(false);
-
- QSlider *fontSizeSlider = new QSlider(Qt::Horizontal, widget);
- fontSizeSlider->setTickInterval(1);
- fontSizeSlider->setMinimum(1);
- fontSizeSlider->setValue(20);
- fontSizeSlider->setMaximum(100);
-
- QFontComboBox *fontList = new QFontComboBox(widget);
-
- QComboBox *shadowQuality = new QComboBox(widget);
- shadowQuality->addItem(QStringLiteral("None"));
- shadowQuality->addItem(QStringLiteral("Low"));
- shadowQuality->addItem(QStringLiteral("Medium"));
- shadowQuality->addItem(QStringLiteral("High"));
- shadowQuality->setCurrentIndex(1);
-
- vLayout->addWidget(staticCheckBox, 0, Qt::AlignTop);
- vLayout->addWidget(rotationCheckBox, 0, Qt::AlignTop);
- vLayout->addWidget(rotationSliderX, 0, Qt::AlignTop);
- vLayout->addWidget(rotationSliderY, 0, Qt::AlignTop);
- vLayout->addWidget(new QLabel(QStringLiteral("Adjust relative bar size")));
- vLayout->addWidget(sizeSliderX, 0, Qt::AlignTop);
- vLayout->addWidget(sizeSliderZ, 0, Qt::AlignTop);
- vLayout->addWidget(new QLabel(QStringLiteral("Adjust relative bar spacing")));
- vLayout->addWidget(spacingSliderX, 0, Qt::AlignTop);
- vLayout->addWidget(spacingSliderZ, 0, Qt::AlignTop);
- vLayout->addWidget(new QLabel(QStringLiteral("Adjust sample count")));
- vLayout->addWidget(sampleSliderX, 0, Qt::AlignTop);
- vLayout->addWidget(sampleSliderZ, 1, Qt::AlignTop);
- vLayout->addWidget(dataButton, 0, Qt::AlignTop);
- vLayout->addWidget(multiDataButton, 0, Qt::AlignTop);
- vLayout->addWidget(changeSingleDataButton, 0, Qt::AlignTop);
- vLayout->addWidget(changeRowButton, 0, Qt::AlignTop);
- vLayout->addWidget(changeRowsButton, 0, Qt::AlignTop);
- vLayout->addWidget(removeRowButton, 0, Qt::AlignTop);
- vLayout->addWidget(removeRowsButton, 0, Qt::AlignTop);
- 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(selectionButton, 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, 0, Qt::AlignTop);
- // TODO: Add example for setMeshFileName
-
- widget->show();
-
- ChartModifier *modifier = new ChartModifier(widgetchart);
-
- QObject::connect(rotationSliderX, &QSlider::valueChanged, modifier, &ChartModifier::rotateX);
- QObject::connect(rotationSliderY, &QSlider::valueChanged, modifier, &ChartModifier::rotateY);
-
- QObject::connect(sizeSliderX, &QSlider::valueChanged, modifier, &ChartModifier::setSpecsX);
- QObject::connect(sizeSliderZ, &QSlider::valueChanged, modifier, &ChartModifier::setSpecsZ);
-
- QObject::connect(spacingSliderX, &QSlider::valueChanged, modifier,
- &ChartModifier::setSpacingSpecsX);
- QObject::connect(spacingSliderZ, &QSlider::valueChanged, modifier,
- &ChartModifier::setSpacingSpecsZ);
-
- QObject::connect(sampleSliderX, &QSlider::valueChanged, modifier,
- &ChartModifier::setSampleCountX);
- QObject::connect(sampleSliderZ, &QSlider::valueChanged, modifier,
- &ChartModifier::setSampleCountZ);
-
- QObject::connect(shadowQuality, SIGNAL(currentIndexChanged(int)), modifier,
- SLOT(changeShadowQuality(int)));
- QObject::connect(modifier, &ChartModifier::shadowQualityChanged, shadowQuality,
- &QComboBox::setCurrentIndex);
- QObject::connect(widgetchart, &Q3DBars::shadowQualityChanged, modifier,
- &ChartModifier::shadowQualityUpdatedByVisual);
-
- QObject::connect(fontSizeSlider, &QSlider::valueChanged, modifier,
- &ChartModifier::changeFontSize);
-
- QObject::connect(styleButton, &QPushButton::clicked, modifier, &ChartModifier::changeStyle);
- QObject::connect(cameraButton, &QPushButton::clicked, modifier,
- &ChartModifier::changePresetCamera);
- QObject::connect(themeButton, &QPushButton::clicked, modifier, &ChartModifier::changeTheme);
- QObject::connect(labelButton, &QPushButton::clicked, modifier,
- &ChartModifier::changeTransparency);
- QObject::connect(dataButton, &QPushButton::clicked, modifier, &ChartModifier::addRow);
- QObject::connect(multiDataButton, &QPushButton::clicked, modifier, &ChartModifier::addRows);
- QObject::connect(changeSingleDataButton, &QPushButton::clicked, modifier, &ChartModifier::changeItem);
- QObject::connect(changeRowButton, &QPushButton::clicked, modifier, &ChartModifier::changeRow);
- QObject::connect(changeRowsButton, &QPushButton::clicked, modifier, &ChartModifier::changeRows);
- QObject::connect(removeRowButton, &QPushButton::clicked, modifier, &ChartModifier::removeRow);
- QObject::connect(removeRowsButton, &QPushButton::clicked, modifier, &ChartModifier::removeRows);
- QObject::connect(selectionButton, &QPushButton::clicked, modifier,
- &ChartModifier::changeSelectionMode);
-
- QObject::connect(fontList, &QFontComboBox::currentFontChanged, modifier,
- &ChartModifier::changeFont);
-
- QObject::connect(backgroundCheckBox, &QCheckBox::stateChanged, modifier,
- &ChartModifier::setBackgroundEnabled);
- QObject::connect(gridCheckBox, &QCheckBox::stateChanged, modifier,
- &ChartModifier::setGridEnabled);
-
- QObject::connect(rotationCheckBox, &QCheckBox::stateChanged, rotationSliderX,
- &QSlider::setEnabled);
- QObject::connect(rotationCheckBox, &QCheckBox::stateChanged, rotationSliderX,
- &QSlider::setValue);
- QObject::connect(rotationCheckBox, &QCheckBox::stateChanged, rotationSliderY,
- &QSlider::setEnabled);
- QObject::connect(rotationCheckBox, &QCheckBox::stateChanged, rotationSliderY,
- &QSlider::setValue);
-
- QObject::connect(staticCheckBox, &QCheckBox::stateChanged, dataButton,
- &QPushButton::setEnabled);
- QObject::connect(staticCheckBox, &QCheckBox::stateChanged, multiDataButton,
- &QPushButton::setEnabled);
- QObject::connect(staticCheckBox, &QCheckBox::stateChanged, changeSingleDataButton,
- &QPushButton::setEnabled);
- QObject::connect(staticCheckBox, &QCheckBox::stateChanged, changeRowButton,
- &QPushButton::setEnabled);
- QObject::connect(staticCheckBox, &QCheckBox::stateChanged, changeRowsButton,
- &QPushButton::setEnabled);
- QObject::connect(staticCheckBox, &QCheckBox::stateChanged, removeRowButton,
- &QPushButton::setEnabled);
- QObject::connect(staticCheckBox, &QCheckBox::stateChanged, removeRowsButton,
- &QPushButton::setEnabled);
- QObject::connect(staticCheckBox, &QCheckBox::stateChanged, sampleSliderX,
- &QSlider::setEnabled);
- QObject::connect(staticCheckBox, &QCheckBox::stateChanged, sampleSliderZ,
- &QSlider::setEnabled);
- QObject::connect(staticCheckBox, &QCheckBox::stateChanged, modifier, &ChartModifier::restart);
-
- modifier->start();
-
- return app.exec();
-}
diff --git a/examples/widget/widget.pro b/examples/widget/widget.pro
deleted file mode 100644
index 2b4078a4..00000000
--- a/examples/widget/widget.pro
+++ /dev/null
@@ -1,10 +0,0 @@
-!include( ../examples.pri ) {
- error( "Couldn't find the examples.pri file!" )
-}
-
-SOURCES += main.cpp chart.cpp
-HEADERS += chart.h
-
-QT += widgets
-
-INSTALLS += target