diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-03 14:26:46 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-04 08:19:30 +0300 |
commit | d879027ac73093e51d3470e9aea87aa5479a0ef1 (patch) | |
tree | a7be8452ce0908d3b7ed58413915b5072a83fd8c /examples | |
parent | 7e35ce01ac38fea1d7c3ce51ab9c24fdf6e7453c (diff) |
Replace 'chart' with 'graph'
Task-number: QTRD-2369
Change-Id: Ic39bc03a0eee4fe75978e71af06ad7a655e958a9
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/audiolevels/audiolevels.cpp | 4 | ||||
-rw-r--r-- | examples/audiolevels/audiolevels.h | 2 | ||||
-rw-r--r-- | examples/audiolevels/audiolevels.pro | 4 | ||||
-rw-r--r-- | examples/bars/bars.pro (renamed from examples/barchart/barchart.pro) | 3 | ||||
-rw-r--r-- | examples/bars/doc/images/bars-example.png (renamed from examples/barchart/doc/images/barchart-example.png) | bin | 163146 -> 163146 bytes | |||
-rw-r--r-- | examples/bars/doc/src/bars.qdoc (renamed from examples/barchart/doc/src/barchart.qdoc) | 8 | ||||
-rw-r--r-- | examples/bars/main.cpp (renamed from examples/barchart/main.cpp) | 86 | ||||
-rw-r--r-- | examples/examples.pro | 7 | ||||
-rw-r--r-- | examples/qmlbarchart/qmlbarchart.qrc | 7 | ||||
-rw-r--r-- | examples/qmlbars/doc/src/qmlbars.qdoc (renamed from examples/qmlbarchart/doc/src/qmlbarchart.qdoc) | 8 | ||||
-rw-r--r-- | examples/qmlbars/main.cpp (renamed from examples/qmlbarchart/main.cpp) | 0 | ||||
-rw-r--r-- | examples/qmlbars/qml/qmlbars/axes.qml (renamed from examples/qmlbarchart/qml/qmlbarchart/axes.qml) | 0 | ||||
-rw-r--r-- | examples/qmlbars/qml/qmlbars/data.qml (renamed from examples/qmlbarchart/qml/qmlbarchart/data.qml) | 0 | ||||
-rw-r--r-- | examples/qmlbars/qml/qmlbars/main.qml (renamed from examples/qmlbarchart/qml/qmlbarchart/main.qml) | 56 | ||||
-rw-r--r-- | examples/qmlbars/qmlbars.desktop (renamed from examples/qmlbarchart/qmlbarchart.desktop) | 6 | ||||
-rw-r--r-- | examples/qmlbars/qmlbars.pro (renamed from examples/qmlbarchart/qmlbarchart.pro) | 7 | ||||
-rw-r--r-- | examples/qmlbars/qmlbars.qrc | 7 | ||||
-rw-r--r-- | examples/qmlbars/qmlbars64.png (renamed from examples/qmlbarchart/qmlbarchart64.png) | bin | 3400 -> 3400 bytes | |||
-rw-r--r-- | examples/qmlbars/qtquick2applicationviewer/qtquick2applicationviewer.cpp (renamed from examples/qmlbarchart/qtquick2applicationviewer/qtquick2applicationviewer.cpp) | 0 | ||||
-rw-r--r-- | examples/qmlbars/qtquick2applicationviewer/qtquick2applicationviewer.h (renamed from examples/qmlbarchart/qtquick2applicationviewer/qtquick2applicationviewer.h) | 0 | ||||
-rw-r--r-- | examples/qmlbars/qtquick2applicationviewer/qtquick2applicationviewer.pri (renamed from examples/qmlbarchart/qtquick2applicationviewer/qtquick2applicationviewer.pri) | 0 | ||||
-rw-r--r-- | examples/qmlscatter/doc/src/qmlscatter.qdoc | 2 | ||||
-rw-r--r-- | examples/qmlscatter/qml/qmlscatter/main.qml | 4 | ||||
-rw-r--r-- | examples/qmlscatter/qmlscatter.pro | 3 | ||||
-rw-r--r-- | examples/qmlsurface/qmlsurface.pro | 3 | ||||
-rw-r--r-- | examples/rainfall/doc/src/rainfall.qdoc | 2 | ||||
-rw-r--r-- | examples/rainfall/main.cpp | 6 | ||||
-rw-r--r-- | examples/rainfall/rainfall.pro | 8 | ||||
-rw-r--r-- | examples/rainfall/rainfallgraph.cpp (renamed from examples/rainfall/rainfallchart.cpp) | 50 | ||||
-rw-r--r-- | examples/rainfall/rainfallgraph.h (renamed from examples/rainfall/rainfallchart.h) | 14 | ||||
-rw-r--r-- | examples/scatter/doc/src/scatter.qdoc (renamed from examples/scatterchart/doc/src/scatterchart.qdoc) | 8 | ||||
-rw-r--r-- | examples/scatter/main.cpp (renamed from examples/scatterchart/main.cpp) | 12 | ||||
-rw-r--r-- | examples/scatter/scatter.pro | 13 | ||||
-rw-r--r-- | examples/scatter/scatterdatamodifier.cpp (renamed from examples/scatterchart/scatterchart.cpp) | 62 | ||||
-rw-r--r-- | examples/scatter/scatterdatamodifier.h (renamed from examples/scatterchart/scatterchart.h) | 2 | ||||
-rw-r--r-- | examples/scatterchart/scatterchart.pro | 10 | ||||
-rw-r--r-- | examples/surfacechart/Heightmap.png | bin | 71764 -> 0 bytes | |||
-rw-r--r-- | examples/surfacechart/chartmodifier.cpp | 389 | ||||
-rw-r--r-- | examples/surfacechart/chartmodifier.h | 95 | ||||
-rw-r--r-- | examples/surfacechart/main.cpp | 256 | ||||
-rw-r--r-- | examples/surfacechart/surface.qrc | 5 | ||||
-rw-r--r-- | examples/surfacechart/surfacechart.pro | 16 | ||||
-rw-r--r-- | examples/widget/doc/src/widget.qdoc | 2 | ||||
-rw-r--r-- | examples/widget/graphmodifier.cpp (renamed from examples/widget/chart.cpp) | 103 | ||||
-rw-r--r-- | examples/widget/graphmodifier.h (renamed from examples/widget/chart.h) | 12 | ||||
-rw-r--r-- | examples/widget/main.cpp | 34 | ||||
-rw-r--r-- | examples/widget/widget.pro | 8 |
47 files changed, 295 insertions, 1029 deletions
diff --git a/examples/audiolevels/audiolevels.cpp b/examples/audiolevels/audiolevels.cpp index bfa419b4..0d227a31 100644 --- a/examples/audiolevels/audiolevels.cpp +++ b/examples/audiolevels/audiolevels.cpp @@ -27,10 +27,10 @@ QT_DATAVISUALIZATION_USE_NAMESPACE -AudioLevels::AudioLevels(Q3DBars *chart, QObject *parent) +AudioLevels::AudioLevels(Q3DBars *graph, QObject *parent) : QObject(parent), m_device(0), - m_graph(chart), + m_graph(graph), m_audioInput(0) { // Set up the graph diff --git a/examples/audiolevels/audiolevels.h b/examples/audiolevels/audiolevels.h index eafb799e..90141850 100644 --- a/examples/audiolevels/audiolevels.h +++ b/examples/audiolevels/audiolevels.h @@ -31,7 +31,7 @@ class AudioLevels : public QObject Q_OBJECT public: - AudioLevels(Q3DBars *chart, QObject *parent = 0); + AudioLevels(Q3DBars *graph, QObject *parent = 0); ~AudioLevels(); private: diff --git a/examples/audiolevels/audiolevels.pro b/examples/audiolevels/audiolevels.pro index 79356f18..7df4379b 100644 --- a/examples/audiolevels/audiolevels.pro +++ b/examples/audiolevels/audiolevels.pro @@ -14,3 +14,7 @@ HEADERS += audiolevels.h \ audiolevelsiodevice.h INSTALLS += target + +OTHER_FILES += doc/src/* \ + doc/images/* + diff --git a/examples/barchart/barchart.pro b/examples/bars/bars.pro index 12b296c5..f319f690 100644 --- a/examples/barchart/barchart.pro +++ b/examples/bars/bars.pro @@ -7,3 +7,6 @@ SOURCES += main.cpp INSTALLS += target QT += widgets + +OTHER_FILES += doc/src/* \ + doc/images/* diff --git a/examples/barchart/doc/images/barchart-example.png b/examples/bars/doc/images/bars-example.png Binary files differindex 0f321c95..0f321c95 100644 --- a/examples/barchart/doc/images/barchart-example.png +++ b/examples/bars/doc/images/bars-example.png diff --git a/examples/barchart/doc/src/barchart.qdoc b/examples/bars/doc/src/bars.qdoc index 0966bd29..8a9a4458 100644 --- a/examples/barchart/doc/src/barchart.qdoc +++ b/examples/bars/doc/src/bars.qdoc @@ -17,12 +17,12 @@ ****************************************************************************/ /*! - \example barchart - \title Barchart Example + \example bars + \title Bars Example - The barchart example shows how to make a simple 3D bar chart using Q3DBars. + The bars example shows how to make a simple 3D bar graph using Q3DBars. - \image barchart-example.png + \image bars-example.png TODO */ diff --git a/examples/barchart/main.cpp b/examples/bars/main.cpp index 5a69a5fb..42e7da57 100644 --- a/examples/barchart/main.cpp +++ b/examples/bars/main.cpp @@ -34,11 +34,11 @@ using namespace QtDataVisualization; -class ChartDataGenerator : public QObject +class GraphDataGenerator : public QObject { public: - explicit ChartDataGenerator(Q3DBars *barchart, QTableWidget *tableWidget); - ~ChartDataGenerator(); + explicit GraphDataGenerator(Q3DBars *bargraph, QTableWidget *tableWidget); + ~GraphDataGenerator(); void setupModel(); void addRow(); @@ -51,7 +51,7 @@ public: void fixTableSize(); private: - Q3DBars *m_chart; + Q3DBars *m_graph; QTimer *m_dataTimer; QTimer *m_styleTimer; QTimer *m_presetTimer; @@ -61,8 +61,8 @@ private: QTableWidget *m_tableWidget; // not owned }; -ChartDataGenerator::ChartDataGenerator(Q3DBars *barchart, QTableWidget *tableWidget) - : m_chart(barchart), +GraphDataGenerator::GraphDataGenerator(Q3DBars *bargraph, QTableWidget *tableWidget) + : m_graph(bargraph), m_dataTimer(0), m_styleTimer(0), m_presetTimer(0), @@ -73,67 +73,67 @@ ChartDataGenerator::ChartDataGenerator(Q3DBars *barchart, QTableWidget *tableWid { // Set up bar specifications; make the bars as wide as they are deep, // and add a small space between the bars - m_chart->setBarThickness(1.0); - m_chart->setBarSpacing(QSizeF(0.2, 0.2)); + m_graph->setBarThickness(1.0); + m_graph->setBarSpacing(QSizeF(0.2, 0.2)); // Set bar type to flat pyramids - m_chart->setBarType(QDataVis::MeshStylePyramids, false); + m_graph->setBarType(QDataVis::MeshStylePyramids, false); #ifndef USE_STATIC_DATA // Set up sample space; make it as deep as it's wide - m_chart->setDataWindow(m_rowCount, m_columnCount); + m_graph->setDataWindow(m_rowCount, m_columnCount); m_tableWidget->setColumnCount(m_columnCount); // Set selection mode to full - m_chart->setSelectionMode(QDataVis::SelectionModeItemRowAndColumn); + m_graph->setSelectionMode(QDataVis::SelectionModeItemRowAndColumn); // Hide axis labels by explicitly setting one empty string as label list - m_chart->rowAxis()->setCategoryLabels(QStringList(QString())); - m_chart->columnAxis()->setCategoryLabels(QStringList(QString())); + m_graph->rowAxis()->setCategoryLabels(QStringList(QString())); + m_graph->columnAxis()->setCategoryLabels(QStringList(QString())); - m_chart->activeDataProxy()->setItemLabelFormat(QStringLiteral("@valueLabel")); + m_graph->activeDataProxy()->setItemLabelFormat(QStringLiteral("@valueLabel")); #else // Set selection mode to zoom row - m_chart->setSelectionMode(QDataVis::SelectionModeSliceRow); - m_chart->setFont(QFont("Impact", 20)); + m_graph->setSelectionMode(QDataVis::SelectionModeSliceRow); + m_graph->setFont(QFont("Impact", 20)); #endif // Set theme - m_chart->setTheme(QDataVis::ThemeDigia); + m_graph->setTheme(QDataVis::ThemeDigia); // Set preset camera position - m_chart->setCameraPreset(QDataVis::CameraPresetFront); + m_graph->setCameraPreset(QDataVis::CameraPresetFront); } -ChartDataGenerator::~ChartDataGenerator() +GraphDataGenerator::~GraphDataGenerator() { if (m_dataTimer) { m_dataTimer->stop(); delete m_dataTimer; } - delete m_chart; + delete m_graph; } -void ChartDataGenerator::start() +void GraphDataGenerator::start() { #ifndef USE_STATIC_DATA m_dataTimer = new QTimer(); m_dataTimer->setTimerType(Qt::CoarseTimer); - QObject::connect(m_dataTimer, &QTimer::timeout, this, &ChartDataGenerator::addRow); + QObject::connect(m_dataTimer, &QTimer::timeout, this, &GraphDataGenerator::addRow); m_dataTimer->start(0); - m_tableWidget->setFixedWidth(m_chart->width()); + m_tableWidget->setFixedWidth(m_graph->width()); #else setupModel(); // Table needs to be shown before the size of its headers can be accurately obtained, // so we postpone it a bit m_dataTimer = new QTimer(); m_dataTimer->setSingleShot(true); - QObject::connect(m_dataTimer, &QTimer::timeout, this, &ChartDataGenerator::fixTableSize); + QObject::connect(m_dataTimer, &QTimer::timeout, this, &GraphDataGenerator::fixTableSize); m_dataTimer->start(0); #endif } -void ChartDataGenerator::setupModel() +void GraphDataGenerator::setupModel() { // Set up row and column names QStringList days; @@ -149,11 +149,11 @@ void ChartDataGenerator::setupModel() {3.0f, 3.0f, 6.0f, 2.0f, 2.0f, 1.0f, 1.0f}}; // week 5 // Add labels - m_chart->rowAxis()->setTitle("Week of year"); - m_chart->columnAxis()->setTitle("Day of week"); - m_chart->valueAxis()->setTitle("Hours playing banjo"); - m_chart->valueAxis()->setSegmentCount(5); - m_chart->valueAxis()->setLabelFormat("%.1f h"); + m_graph->rowAxis()->setTitle("Week of year"); + m_graph->columnAxis()->setTitle("Day of week"); + m_graph->valueAxis()->setTitle("Hours playing banjo"); + m_graph->valueAxis()->setSegmentCount(5); + m_graph->valueAxis()->setLabelFormat("%.1f h"); m_tableWidget->setRowCount(5); m_tableWidget->setColumnCount(7); @@ -171,7 +171,7 @@ void ChartDataGenerator::setupModel() } } -void ChartDataGenerator::addRow() +void GraphDataGenerator::addRow() { m_tableWidget->model()->insertRow(0); if (m_tableWidget->model()->rowCount() > m_rowCount) @@ -184,21 +184,21 @@ void ChartDataGenerator::addRow() m_tableWidget->resizeColumnsToContents(); } -void ChartDataGenerator::selectFromTable(const QPoint &selection) +void GraphDataGenerator::selectFromTable(const QPoint &selection) { m_tableWidget->setFocus(); m_tableWidget->setCurrentCell(selection.x(), selection.y()); } -void ChartDataGenerator::selectedFromTable(int currentRow, int currentColumn, +void GraphDataGenerator::selectedFromTable(int currentRow, int currentColumn, int previousRow, int previousColumn) { Q_UNUSED(previousRow) Q_UNUSED(previousColumn) - m_chart->setSelectedBarPos(QPoint(currentRow, currentColumn)); + m_graph->setSelectedBarPos(QPoint(currentRow, currentColumn)); } -void ChartDataGenerator::fixTableSize() +void GraphDataGenerator::fixTableSize() { int width = m_tableWidget->horizontalHeader()->length(); width += m_tableWidget->verticalHeader()->width(); @@ -215,10 +215,10 @@ int main(int argc, char **argv) QWidget widget; QVBoxLayout *layout = new QVBoxLayout(&widget); - Q3DBars *chart = new Q3DBars(); - QSize screenSize = chart->screen()->size(); + Q3DBars *graph = new Q3DBars(); + QSize screenSize = graph->screen()->size(); - QWidget *container = QWidget::createWindowContainer(chart); + QWidget *container = QWidget::createWindowContainer(graph); container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 2)); container->setMaximumSize(screenSize); container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); @@ -238,14 +238,14 @@ int main(int argc, char **argv) QItemModelBarDataMapping *mapping = new QItemModelBarDataMapping; mapping->setUseModelCategories(true); QItemModelBarDataProxy *proxy = new QItemModelBarDataProxy(tableWidget->model(), mapping); - chart->setActiveDataProxy(proxy); + graph->setActiveDataProxy(proxy); - ChartDataGenerator generator(chart, tableWidget); + GraphDataGenerator generator(graph, tableWidget); - QObject::connect(chart, &Q3DBars::selectedBarPosChanged, &generator, - &ChartDataGenerator::selectFromTable); + QObject::connect(graph, &Q3DBars::selectedBarPosChanged, &generator, + &GraphDataGenerator::selectFromTable); QObject::connect(tableWidget, &QTableWidget::currentCellChanged, &generator, - &ChartDataGenerator::selectedFromTable); + &GraphDataGenerator::selectedFromTable); widget.show(); generator.start(); diff --git a/examples/examples.pro b/examples/examples.pro index aa2512c2..a76b95a7 100644 --- a/examples/examples.pro +++ b/examples/examples.pro @@ -1,13 +1,12 @@ TEMPLATE = subdirs -SUBDIRS += qmlbarchart \ +SUBDIRS += qmlbars \ qmlscatter \ qmlsurface !android: { - SUBDIRS += barchart \ + SUBDIRS += bars \ rainfall \ widget \ - surfacechart \ - scatterchart + scatter } qtHaveModule(multimedia):!android: SUBDIRS += audiolevels diff --git a/examples/qmlbarchart/qmlbarchart.qrc b/examples/qmlbarchart/qmlbarchart.qrc deleted file mode 100644 index a2c7d75b..00000000 --- a/examples/qmlbarchart/qmlbarchart.qrc +++ /dev/null @@ -1,7 +0,0 @@ -<RCC> - <qresource prefix="/qml"> - <file alias="main.qml">qml/qmlbarchart/main.qml</file> - <file alias="Data.qml">qml/qmlbarchart/data.qml</file> - <file alias="Axes.qml">qml/qmlbarchart/axes.qml</file> - </qresource> -</RCC> diff --git a/examples/qmlbarchart/doc/src/qmlbarchart.qdoc b/examples/qmlbars/doc/src/qmlbars.qdoc index b7b84c0e..e382bb6b 100644 --- a/examples/qmlbarchart/doc/src/qmlbarchart.qdoc +++ b/examples/qmlbars/doc/src/qmlbars.qdoc @@ -17,13 +17,13 @@ ****************************************************************************/ /*! - \example qmlbarchart - \title Qt Quick 2 Barchart Example + \example qmlbars + \title Qt Quick 2 Bars Example - The Qt Quick 2 barchart example shows how to make a simple 3D bar chart using Q3DBars and Qt + The Qt Quick 2 bars example shows how to make a simple 3D bar graph using Q3DBars and Qt Quick 2. - \image qmlbarchart-example.png + \image qmlbars-example.png TODO */ diff --git a/examples/qmlbarchart/main.cpp b/examples/qmlbars/main.cpp index 1a3fcddc..1a3fcddc 100644 --- a/examples/qmlbarchart/main.cpp +++ b/examples/qmlbars/main.cpp diff --git a/examples/qmlbarchart/qml/qmlbarchart/axes.qml b/examples/qmlbars/qml/qmlbars/axes.qml index b0ba3eb2..b0ba3eb2 100644 --- a/examples/qmlbarchart/qml/qmlbarchart/axes.qml +++ b/examples/qmlbars/qml/qmlbars/axes.qml diff --git a/examples/qmlbarchart/qml/qmlbarchart/data.qml b/examples/qmlbars/qml/qmlbars/data.qml index fff568cc..fff568cc 100644 --- a/examples/qmlbarchart/qml/qmlbarchart/data.qml +++ b/examples/qmlbars/qml/qmlbars/data.qml diff --git a/examples/qmlbarchart/qml/qmlbarchart/main.qml b/examples/qmlbars/qml/qmlbars/main.qml index a8bca564..aec3188c 100644 --- a/examples/qmlbarchart/qml/qmlbarchart/main.qml +++ b/examples/qmlbars/qml/qmlbars/main.qml @@ -28,11 +28,11 @@ Item { visible: true Data { - id: chartData + id: graphData } Axes { - id: chartAxes + id: graphAxes } Item { @@ -42,7 +42,7 @@ Item { anchors.right: parent.right; Bars3D { - id: testChart + id: testGraph width: dataView.width height: dataView.height shadowQuality: Bars3D.ShadowQualityMedium @@ -50,26 +50,26 @@ Item { font.pointSize: 35 theme: Bars3D.ThemeRetro labelStyle: Bars3D.LabelStyleFromTheme - dataProxy: chartData.proxy + dataProxy: graphData.proxy barThickness: 0.5 barSpacing: Qt.size(0.5, 0.5) barSpacingRelative: false cameraPreset: Bars3D.CameraPresetRight - columnAxis: chartAxes.column - valueAxis: chartAxes.expenses + columnAxis: graphAxes.column + valueAxis: graphAxes.expenses itemLabelFormat: "@valueTitle for @colLabel, @rowLabel: @valueLabel" onSelectedBarPosChanged: { // Set tableView current row to selected bar - var rowRole = chartData.proxy.rowLabels[position.x]; - var colRole = chartData.proxy.columnLabels[position.y]; + var rowRole = graphData.proxy.rowLabels[position.x]; + var colRole = graphData.proxy.columnLabels[position.y]; var currentRow = tableView.currentRow - if (currentRow === -1 || rowRole !== chartData.model.get(currentRow).year - || colRole !== chartData.model.get(currentRow).month) { + if (currentRow === -1 || rowRole !== graphData.model.get(currentRow).year + || colRole !== graphData.model.get(currentRow).month) { var totalRows = tableView.rowCount; for (var i = 0; i < totalRows; i++) { - var currentRowRole = chartData.model.get(i).year - var currentColRole = chartData.model.get(i).month + var currentRowRole = graphData.model.get(i).year + var currentColRole = graphData.model.get(i).month if (currentRowRole === rowRole && currentColRole === colRole) { tableView.currentRow = i break @@ -87,14 +87,14 @@ Item { height: 60 text: "Show Income" onClicked: { - if (chartData.mapping.valueRole === "expenses") { - chartData.mapping.valueRole = "income" + if (graphData.mapping.valueRole === "expenses") { + graphData.mapping.valueRole = "income" text = "Show Expenses" - testChart.valueAxis = chartAxes.income + testGraph.valueAxis = graphAxes.income } else { - chartData.mapping.valueRole = "expenses" + graphData.mapping.valueRole = "expenses" text = "Show Income" - testChart.valueAxis = chartAxes.expenses + testGraph.valueAxis = graphAxes.expenses } } } @@ -106,11 +106,11 @@ Item { height: 60 text: "Hide Shadows" onClicked: { - if (testChart.shadowQuality == Bars3D.ShadowQualityNone) { - testChart.shadowQuality = Bars3D.ShadowQualityMedium; + if (testGraph.shadowQuality == Bars3D.ShadowQualityNone) { + testGraph.shadowQuality = Bars3D.ShadowQualityMedium; text = "Hide Shadows" } else { - testChart.shadowQuality = Bars3D.ShadowQualityNone; + testGraph.shadowQuality = Bars3D.ShadowQualityNone; text = "Show Shadows" } } @@ -123,15 +123,15 @@ Item { height: 60 text: "Show 2010 - 2012" onClicked: { - if (testChart.rowAxis.max !== 6) { + if (testGraph.rowAxis.max !== 6) { text = "Show 2010 - 2012" - chartData.mapping.autoRowCategories = true + graphData.mapping.autoRowCategories = true } else { text = "Show all years" // Explicitly defining row categories, since we do not want to show data for // all years in the model, just for the selected ones. - chartData.mapping.autoRowCategories = false - chartData.mapping.rowCategories = ["2010", "2011", "2012"] + graphData.mapping.autoRowCategories = false + graphData.mapping.rowCategories = ["2010", "2011", "2012"] } } } @@ -146,12 +146,12 @@ Item { TableViewColumn{ role: "month" ; title: "Month" ; width: 80 } TableViewColumn{ role: "expenses" ; title: "Expenses" ; width: 60 } TableViewColumn{ role: "income" ; title: "Income" ; width: 60 } - model: chartData.model + model: graphData.model onCurrentRowChanged: { - var rowIndex = chartData.proxy.activeMapping.rowCategoryIndex(chartData.model.get(currentRow).year) - var colIndex = chartData.proxy.activeMapping.columnCategoryIndex(chartData.model.get(currentRow).month) - testChart.selectedBarPos = Qt.point(rowIndex, colIndex) + var rowIndex = graphData.proxy.activeMapping.rowCategoryIndex(graphData.model.get(currentRow).year) + var colIndex = graphData.proxy.activeMapping.columnCategoryIndex(graphData.model.get(currentRow).month) + testGraph.selectedBarPos = Qt.point(rowIndex, colIndex) } } } diff --git a/examples/qmlbarchart/qmlbarchart.desktop b/examples/qmlbars/qmlbars.desktop index c01705df..cf59c6b8 100644 --- a/examples/qmlbarchart/qmlbarchart.desktop +++ b/examples/qmlbars/qmlbars.desktop @@ -3,9 +3,9 @@ Encoding=UTF-8 Version=1.0 Type=Application Terminal=false -Name=qmlbarchart -Exec=/opt/qmlbarchart/bin/qmlbarchart -Icon=qmlbarchart64 +Name=qmlbars +Exec=/opt/qmlbars/bin/qmlbars +Icon=qmlbars64 X-Window-Icon= X-HildonDesk-ShowInToolbar=true X-Osso-Type=application/x-executable diff --git a/examples/qmlbarchart/qmlbarchart.pro b/examples/qmlbars/qmlbars.pro index b74b8558..758e7b76 100644 --- a/examples/qmlbarchart/qmlbarchart.pro +++ b/examples/qmlbars/qmlbars.pro @@ -5,7 +5,7 @@ QT += widgets # Add more folders to ship with the application, here -folder_01.source = qml/qmlbarchart +folder_01.source = qml/qmlbars folder_01.target = qml DEPLOYMENTFOLDERS = folder_01 @@ -19,4 +19,7 @@ SOURCES += main.cpp include(qtquick2applicationviewer/qtquick2applicationviewer.pri) qtcAddDeployment() -RESOURCES += qmlbarchart.qrc +RESOURCES += qmlbars.qrc + +OTHER_FILES += doc/src/* \ + doc/images/* diff --git a/examples/qmlbars/qmlbars.qrc b/examples/qmlbars/qmlbars.qrc new file mode 100644 index 00000000..7c291fd3 --- /dev/null +++ b/examples/qmlbars/qmlbars.qrc @@ -0,0 +1,7 @@ +<RCC> + <qresource prefix="/qml"> + <file alias="Axes.qml">qml/qmlbars/axes.qml</file> + <file alias="Data.qml">qml/qmlbars/data.qml</file> + <file alias="main.qml">qml/qmlbars/main.qml</file> + </qresource> +</RCC> diff --git a/examples/qmlbarchart/qmlbarchart64.png b/examples/qmlbars/qmlbars64.png Binary files differindex 707d5c4e..707d5c4e 100644 --- a/examples/qmlbarchart/qmlbarchart64.png +++ b/examples/qmlbars/qmlbars64.png diff --git a/examples/qmlbarchart/qtquick2applicationviewer/qtquick2applicationviewer.cpp b/examples/qmlbars/qtquick2applicationviewer/qtquick2applicationviewer.cpp index 10709d7a..10709d7a 100644 --- a/examples/qmlbarchart/qtquick2applicationviewer/qtquick2applicationviewer.cpp +++ b/examples/qmlbars/qtquick2applicationviewer/qtquick2applicationviewer.cpp diff --git a/examples/qmlbarchart/qtquick2applicationviewer/qtquick2applicationviewer.h b/examples/qmlbars/qtquick2applicationviewer/qtquick2applicationviewer.h index cf66f140..cf66f140 100644 --- a/examples/qmlbarchart/qtquick2applicationviewer/qtquick2applicationviewer.h +++ b/examples/qmlbars/qtquick2applicationviewer/qtquick2applicationviewer.h diff --git a/examples/qmlbarchart/qtquick2applicationviewer/qtquick2applicationviewer.pri b/examples/qmlbars/qtquick2applicationviewer/qtquick2applicationviewer.pri index a071e63d..a071e63d 100644 --- a/examples/qmlbarchart/qtquick2applicationviewer/qtquick2applicationviewer.pri +++ b/examples/qmlbars/qtquick2applicationviewer/qtquick2applicationviewer.pri diff --git a/examples/qmlscatter/doc/src/qmlscatter.qdoc b/examples/qmlscatter/doc/src/qmlscatter.qdoc index a014874e..590b9a30 100644 --- a/examples/qmlscatter/doc/src/qmlscatter.qdoc +++ b/examples/qmlscatter/doc/src/qmlscatter.qdoc @@ -20,7 +20,7 @@ \example qmlscatter \title Qt Quick 2 Scatter Example - The Qt Quick 2 scatter example shows how to make a simple scatter chart visualization using + The Qt Quick 2 scatter example shows how to make a simple scatter graph visualization using Q3DScatter and Qt Quick 2. \image qmlscatter-example.png diff --git a/examples/qmlscatter/qml/qmlscatter/main.qml b/examples/qmlscatter/qml/qmlscatter/main.qml index 9a600867..333dfadd 100644 --- a/examples/qmlscatter/qml/qmlscatter/main.qml +++ b/examples/qmlscatter/qml/qmlscatter/main.qml @@ -25,7 +25,7 @@ Item { visible: true Data { - id: chartData + id: graphData } Item { @@ -40,7 +40,7 @@ Item { height: dataView.height font.family: "Lucida Handwriting" font.pointSize: 40 - dataProxy: chartData.proxy + dataProxy: graphData.proxy theme: Scatter3D.ThemeIsabelle shadowQuality: Scatter3D.ShadowQualitySoftLow selectionMode: Scatter3D.SelectionModeItem diff --git a/examples/qmlscatter/qmlscatter.pro b/examples/qmlscatter/qmlscatter.pro index b42fd239..0c66c5ae 100644 --- a/examples/qmlscatter/qmlscatter.pro +++ b/examples/qmlscatter/qmlscatter.pro @@ -20,3 +20,6 @@ include(qtquick2applicationviewer/qtquick2applicationviewer.pri) qtcAddDeployment() RESOURCES += qmlscatter.qrc + +OTHER_FILES += doc/src/* \ + doc/images/* diff --git a/examples/qmlsurface/qmlsurface.pro b/examples/qmlsurface/qmlsurface.pro index 251619cf..64c72cf7 100644 --- a/examples/qmlsurface/qmlsurface.pro +++ b/examples/qmlsurface/qmlsurface.pro @@ -20,3 +20,6 @@ include(qtquick2applicationviewer/qtquick2applicationviewer.pri) qtcAddDeployment() RESOURCES += qmlsurface.qrc + +OTHER_FILES += doc/src/* \ + doc/images/* diff --git a/examples/rainfall/doc/src/rainfall.qdoc b/examples/rainfall/doc/src/rainfall.qdoc index 95050dff..c28029a4 100644 --- a/examples/rainfall/doc/src/rainfall.qdoc +++ b/examples/rainfall/doc/src/rainfall.qdoc @@ -20,7 +20,7 @@ \example rainfall \title Rainfall Example - The barchart example shows how to make a simple 3D bar chart using Q3DBars. + The bars example shows how to make a simple 3D bar graph using Q3DBars. \image rainfall-example.png diff --git a/examples/rainfall/main.cpp b/examples/rainfall/main.cpp index 638fb842..54ea63e9 100644 --- a/examples/rainfall/main.cpp +++ b/examples/rainfall/main.cpp @@ -16,7 +16,7 @@ ** ****************************************************************************/ -#include "rainfallchart.h" +#include "rainfallgraph.h" #include <QGuiApplication> using namespace QtDataVisualization; @@ -30,8 +30,8 @@ int main(int argc, char **argv) rainfall->setPosition(QPoint(10, 30)); rainfall->show(); - RainfallChart rainfallchart(rainfall); - rainfallchart.start(); + RainfallGraph rainfallgraph(rainfall); + rainfallgraph.start(); return app.exec(); } diff --git a/examples/rainfall/rainfall.pro b/examples/rainfall/rainfall.pro index af7f963b..0a2e1498 100644 --- a/examples/rainfall/rainfall.pro +++ b/examples/rainfall/rainfall.pro @@ -3,13 +3,13 @@ } SOURCES += main.cpp \ - rainfallchart.cpp \ + rainfallgraph.cpp \ variantdataset.cpp \ variantbardataproxy.cpp \ variantbardatamapping.cpp \ HEADERS += \ - rainfallchart.h \ + rainfallgraph.h \ variantdataset.h \ variantbardataproxy.h \ variantbardatamapping.h @@ -19,5 +19,7 @@ INSTALLS += target RESOURCES += \ rainfall.qrc -OTHER_FILES += data/raindata.txt +OTHER_FILES += data/raindata.txt \ + doc/src/* \ + doc/images/* diff --git a/examples/rainfall/rainfallchart.cpp b/examples/rainfall/rainfallgraph.cpp index 45e252bc..5cd70710 100644 --- a/examples/rainfall/rainfallchart.cpp +++ b/examples/rainfall/rainfallgraph.cpp @@ -16,7 +16,7 @@ ** ****************************************************************************/ -#include "rainfallchart.h" +#include "rainfallgraph.h" #include <QtDataVisualization/q3dcategoryaxis.h> #include <QtDataVisualization/q3dvalueaxis.h> #include <QGuiApplication> @@ -27,8 +27,8 @@ using namespace QtDataVisualization; -RainfallChart::RainfallChart(Q3DBars *rainfall) - : m_chart(rainfall) +RainfallGraph::RainfallGraph(Q3DBars *rainfall) + : m_graph(rainfall) { // In data file the months are in numeric format, so create custom list for (int i = 1; i <= 12; i++) @@ -37,63 +37,63 @@ RainfallChart::RainfallChart(Q3DBars *rainfall) m_columnCount = m_numericMonths.size(); m_proxy = new VariantBarDataProxy; - m_chart->setActiveDataProxy(m_proxy); + m_graph->setActiveDataProxy(m_proxy); updateYearsList(2000, 2012); // Set up bar specifications; make the bars as wide as they are deep, // and add a small space between the bars - m_chart->setBarThickness(1.0); - m_chart->setBarSpacing(QSizeF(0.2, 0.2)); + m_graph->setBarThickness(1.0); + m_graph->setBarSpacing(QSizeF(0.2, 0.2)); // Set axis labels and titles QStringList months; months << "January" << "February" << "March" << "April" << "May" << "June" << "July" << "August" << "September" << "October" << "November" << "December"; - m_chart->rowAxis()->setTitle("Year"); - m_chart->columnAxis()->setTitle("Month"); - m_chart->valueAxis()->setTitle("rainfall"); - m_chart->valueAxis()->setLabelFormat("%d mm"); - m_chart->rowAxis()->setCategoryLabels(m_years); - m_chart->columnAxis()->setCategoryLabels(months); + m_graph->rowAxis()->setTitle("Year"); + m_graph->columnAxis()->setTitle("Month"); + m_graph->valueAxis()->setTitle("rainfall"); + m_graph->valueAxis()->setLabelFormat("%d mm"); + m_graph->rowAxis()->setCategoryLabels(m_years); + m_graph->columnAxis()->setCategoryLabels(months); // Set bar type to cylinder - m_chart->setBarType(QDataVis::MeshStyleCylinders, false); + m_graph->setBarType(QDataVis::MeshStyleCylinders, false); // Set shadows to medium - m_chart->setShadowQuality(QDataVis::ShadowQualityMedium); + m_graph->setShadowQuality(QDataVis::ShadowQualityMedium); // Set font - m_chart->setFont(QFont("Century Gothic", 30)); + m_graph->setFont(QFont("Century Gothic", 30)); // Set selection mode to bar and column - m_chart->setSelectionMode(QDataVis::SelectionModeSliceColumn); + m_graph->setSelectionMode(QDataVis::SelectionModeSliceColumn); // Set theme - m_chart->setTheme(QDataVis::ThemeArmyBlue); + m_graph->setTheme(QDataVis::ThemeArmyBlue); // Set preset camera position - m_chart->setCameraPreset(QDataVis::CameraPresetIsometricRightHigh); + m_graph->setCameraPreset(QDataVis::CameraPresetIsometricRightHigh); // Disable grid - m_chart->setGridVisible(false); + m_graph->setGridVisible(false); // Set window title - m_chart->setTitle(QStringLiteral("Monthly rainfall in Northern Finland")); + m_graph->setTitle(QStringLiteral("Monthly rainfall in Northern Finland")); } -RainfallChart::~RainfallChart() +RainfallGraph::~RainfallGraph() { delete m_mapping; delete m_dataSet; - delete m_chart; + delete m_graph; } -void RainfallChart::start() +void RainfallGraph::start() { addDataSet(); } -void RainfallChart::updateYearsList(int start, int end) +void RainfallGraph::updateYearsList(int start, int end) { m_years.clear(); for (int i = start; i <= end; i++) @@ -102,7 +102,7 @@ void RainfallChart::updateYearsList(int start, int end) m_rowCount = m_years.size(); } -void RainfallChart::addDataSet() +void RainfallGraph::addDataSet() { m_dataSet = new VariantDataSet; VariantDataItemList *itemList = new VariantDataItemList; diff --git a/examples/rainfall/rainfallchart.h b/examples/rainfall/rainfallgraph.h index 2c596f5c..6317ab71 100644 --- a/examples/rainfall/rainfallchart.h +++ b/examples/rainfall/rainfallgraph.h @@ -16,20 +16,20 @@ ** ****************************************************************************/ -#ifndef RAINFALLCHART_H -#define RAINFALLCHART_H +#ifndef RAINFALLGRAPH_H +#define RAINFALLGRAPH_H #include "variantbardataproxy.h" #include <QtDataVisualization/q3dbars.h> using namespace QtDataVisualization; -class RainfallChart : public QObject +class RainfallGraph : public QObject { Q_OBJECT public: - explicit RainfallChart(Q3DBars *rainfall); - ~RainfallChart(); + explicit RainfallGraph(Q3DBars *rainfall); + ~RainfallGraph(); void addDataSet(); void start(); @@ -37,7 +37,7 @@ public: private: void updateYearsList(int start, int end); - Q3DBars *m_chart; + Q3DBars *m_graph; int m_columnCount; int m_rowCount; QStringList m_years; @@ -48,4 +48,4 @@ private: }; -#endif // RAINFALLCHART_H +#endif diff --git a/examples/scatterchart/doc/src/scatterchart.qdoc b/examples/scatter/doc/src/scatter.qdoc index d6878ff9..7f4bda38 100644 --- a/examples/scatterchart/doc/src/scatterchart.qdoc +++ b/examples/scatter/doc/src/scatter.qdoc @@ -17,13 +17,13 @@ ****************************************************************************/ /*! - \example scatterchart - \title Scatter Chart Example + \example scatter + \title Scatter Example - The scatterchart example shows how to make a simple 3D scatter chart using Q3DScatter and + The scatter example shows how to make a simple 3D scatter graph using Q3DScatter and combining the use of widgets for adjusting several adjustable qualities. - \image scatterchart-example.png + \image scatter-example.png TODO */ diff --git a/examples/scatterchart/main.cpp b/examples/scatter/main.cpp index 9d66a9b9..961ed3db 100644 --- a/examples/scatterchart/main.cpp +++ b/examples/scatter/main.cpp @@ -16,7 +16,7 @@ ** ****************************************************************************/ -#include "scatterchart.h" +#include "scatterdatamodifier.h" #include <QApplication> #include <QWidget> @@ -38,10 +38,10 @@ int main(int argc, char **argv) QHBoxLayout *hLayout = new QHBoxLayout(widget); QVBoxLayout *vLayout = new QVBoxLayout(); - Q3DScatter *chart = new Q3DScatter(); - QSize screenSize = chart->screen()->size(); + Q3DScatter *graph = new Q3DScatter(); + QSize screenSize = graph->screen()->size(); - QWidget *container = QWidget::createWindowContainer(chart); + QWidget *container = QWidget::createWindowContainer(graph); container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 1.5)); container->setMaximumSize(screenSize); container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); @@ -115,7 +115,7 @@ int main(int argc, char **argv) widget->show(); - ScatterDataModifier *modifier = new ScatterDataModifier(chart); + ScatterDataModifier *modifier = new ScatterDataModifier(graph); QObject::connect(cameraButton, &QPushButton::clicked, modifier, &ScatterDataModifier::changePresetCamera); @@ -140,7 +140,7 @@ int main(int argc, char **argv) QObject::connect(modifier, &ScatterDataModifier::shadowQualityChanged, shadowQuality, &QComboBox::setCurrentIndex); - QObject::connect(chart, &Q3DScatter::shadowQualityChanged, modifier, + QObject::connect(graph, &Q3DScatter::shadowQualityChanged, modifier, &ScatterDataModifier::shadowQualityUpdatedByVisual); QObject::connect(fontList, &QFontComboBox::currentFontChanged, modifier, diff --git a/examples/scatter/scatter.pro b/examples/scatter/scatter.pro new file mode 100644 index 00000000..beff2164 --- /dev/null +++ b/examples/scatter/scatter.pro @@ -0,0 +1,13 @@ +!include( ../examples.pri ) { + error( "Couldn't find the examples.pri file!" ) +} + +SOURCES += main.cpp scatterdatamodifier.cpp +HEADERS += scatterdatamodifier.h + +QT += widgets + +INSTALLS += target + +OTHER_FILES += doc/src/* \ + doc/images/* diff --git a/examples/scatterchart/scatterchart.cpp b/examples/scatter/scatterdatamodifier.cpp index 879d8471..cf3296bb 100644 --- a/examples/scatterchart/scatterchart.cpp +++ b/examples/scatter/scatterdatamodifier.cpp @@ -16,7 +16,7 @@ ** ****************************************************************************/ -#include "scatterchart.h" +#include "scatterdatamodifier.h" #include <QtDataVisualization/qscatterdataproxy.h> #include <QtDataVisualization/q3dvalueaxis.h> #include <qmath.h> @@ -27,30 +27,32 @@ using namespace QtDataVisualization; const int numberOfItems = 10000; ScatterDataModifier::ScatterDataModifier(Q3DScatter *scatter) - : m_chart(scatter), + : m_graph(scatter), m_fontSize(40.0f), m_style(QDataVis::MeshStyleSpheres), m_smooth(true) { - QFont font = m_chart->font(); + QFont font = m_graph->font(); font.setPointSize(m_fontSize); - m_chart->setFont(font); - m_chart->setObjectType(QDataVis::MeshStyleSpheres, true); - m_chart->setTheme(QDataVis::ThemeEbony); - m_chart->setShadowQuality(QDataVis::ShadowQualityHigh); - m_chart->setCameraPreset(QDataVis::CameraPresetFront); - m_chart->setAxisX(new Q3DValueAxis); - m_chart->setAxisY(new Q3DValueAxis); - m_chart->setAxisZ(new Q3DValueAxis); + m_graph->setFont(font); + m_graph->setObjectType(QDataVis::MeshStyleSpheres, true); + m_graph->setTheme(QDataVis::ThemeEbony); + m_graph->setShadowQuality(QDataVis::ShadowQualityHigh); + m_graph->setCameraPreset(QDataVis::CameraPresetFront); + m_graph->setAxisX(new Q3DValueAxis); + m_graph->setAxisY(new Q3DValueAxis); + m_graph->setAxisZ(new Q3DValueAxis); QScatterDataProxy *proxy = new QScatterDataProxy; proxy->setItemLabelFormat("@xTitle: @xLabel @yTitle: @yLabel @zTitle: @zLabel"); - m_chart->setActiveDataProxy(proxy); + m_graph->setActiveDataProxy(proxy); + + changeLabelStyle(); } ScatterDataModifier::~ScatterDataModifier() { - delete m_chart; + delete m_graph; } void ScatterDataModifier::start() @@ -61,12 +63,12 @@ void ScatterDataModifier::start() void ScatterDataModifier::addData() { // Add labels - m_chart->axisX()->setTitle("X"); - m_chart->axisY()->setTitle("Y"); - m_chart->axisZ()->setTitle("Z"); - m_chart->axisX()->setRange(-50.0, 50.0); - m_chart->axisY()->setRange(-1.0, 1.0); - m_chart->axisZ()->setRange(-50.0, 50.0); + m_graph->axisX()->setTitle("X"); + m_graph->axisY()->setTitle("Y"); + m_graph->axisZ()->setTitle("Z"); + m_graph->axisX()->setRange(-50.0, 50.0); + m_graph->axisY()->setRange(-1.0, 1.0); + m_graph->axisZ()->setRange(-50.0, 50.0); QScatterDataArray *dataArray = new QScatterDataArray; dataArray->resize(numberOfItems); @@ -87,31 +89,31 @@ void ScatterDataModifier::addData() } #endif - static_cast<QScatterDataProxy *>(m_chart->activeDataProxy())->resetArray(dataArray); + static_cast<QScatterDataProxy *>(m_graph->activeDataProxy())->resetArray(dataArray); } void ScatterDataModifier::changeStyle(int style) { m_style = QDataVis::MeshStyle(style + 5); // skip unsupported mesh types - m_chart->setObjectType(m_style, m_smooth); + m_graph->setObjectType(m_style, m_smooth); } void ScatterDataModifier::setSmoothDots(int smooth) { m_smooth = bool(smooth); - m_chart->setObjectType(m_style, m_smooth); + m_graph->setObjectType(m_style, m_smooth); } void ScatterDataModifier::changeTheme(int theme) { - m_chart->setTheme((QDataVis::Theme)theme); + m_graph->setTheme((QDataVis::Theme)theme); } void ScatterDataModifier::changePresetCamera() { static int preset = QDataVis::CameraPresetFrontLow; - m_chart->setCameraPreset((QDataVis::CameraPreset)preset); + m_graph->setCameraPreset((QDataVis::CameraPreset)preset); if (++preset > QDataVis::CameraPresetDirectlyAboveCCW45) preset = QDataVis::CameraPresetFrontLow; @@ -119,9 +121,9 @@ void ScatterDataModifier::changePresetCamera() void ScatterDataModifier::changeLabelStyle() { - static int style = QDataVis::LabelStyleOpaque; + static int style = QDataVis::LabelStyleFromTheme; - m_chart->setLabelStyle((QDataVis::LabelStyle)style); + m_graph->setLabelStyle((QDataVis::LabelStyle)style); if (++style > QDataVis::LabelStyleTransparent) style = QDataVis::LabelStyleOpaque; @@ -131,7 +133,7 @@ void ScatterDataModifier::changeFont(const QFont &font) { QFont newFont = font; newFont.setPointSizeF(m_fontSize); - m_chart->setFont(newFont); + m_graph->setFont(newFont); } void ScatterDataModifier::shadowQualityUpdatedByVisual(QDataVis::ShadowQuality sq) @@ -144,18 +146,18 @@ void ScatterDataModifier::shadowQualityUpdatedByVisual(QDataVis::ShadowQuality s void ScatterDataModifier::changeShadowQuality(int quality) { QDataVis::ShadowQuality sq = QDataVis::ShadowQuality(quality); - m_chart->setShadowQuality(sq); + m_graph->setShadowQuality(sq); emit shadowQualityChanged(quality); } void ScatterDataModifier::setBackgroundEnabled(int enabled) { - m_chart->setBackgroundVisible((bool)enabled); + m_graph->setBackgroundVisible((bool)enabled); } void ScatterDataModifier::setGridEnabled(int enabled) { - m_chart->setGridVisible((bool)enabled); + m_graph->setGridVisible((bool)enabled); } QVector3D ScatterDataModifier::randVector() diff --git a/examples/scatterchart/scatterchart.h b/examples/scatter/scatterdatamodifier.h index f67a0e88..5cc9348b 100644 --- a/examples/scatterchart/scatterchart.h +++ b/examples/scatter/scatterdatamodifier.h @@ -53,7 +53,7 @@ signals: private: QVector3D randVector(); - Q3DScatter *m_chart; + Q3DScatter *m_graph; int m_fontSize; QDataVis::MeshStyle m_style; bool m_smooth; diff --git a/examples/scatterchart/scatterchart.pro b/examples/scatterchart/scatterchart.pro deleted file mode 100644 index 5dee59fd..00000000 --- a/examples/scatterchart/scatterchart.pro +++ /dev/null @@ -1,10 +0,0 @@ -!include( ../examples.pri ) { - error( "Couldn't find the examples.pri file!" ) -} - -SOURCES += main.cpp scatterchart.cpp -HEADERS += scatterchart.h - -QT += widgets - -INSTALLS += target diff --git a/examples/surfacechart/Heightmap.png b/examples/surfacechart/Heightmap.png Binary files differdeleted file mode 100644 index 2a860111..00000000 --- a/examples/surfacechart/Heightmap.png +++ /dev/null diff --git a/examples/surfacechart/chartmodifier.cpp b/examples/surfacechart/chartmodifier.cpp deleted file mode 100644 index b0115fd3..00000000 --- a/examples/surfacechart/chartmodifier.cpp +++ /dev/null @@ -1,389 +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 QtDataVisualization 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 "chartmodifier.h" -#include <QtDataVisualization/Q3DValueAxis> -#include <QtDataVisualization/QSurfaceDataProxy> - -#include <qmath.h> -#include <QLinearGradient> -#include <QDebug> - -QT_DATAVISUALIZATION_USE_NAMESPACE - -//#define JITTER_PLANE -//#define WONKY_PLANE - -ChartModifier::ChartModifier(Q3DSurface *chart) - : m_chart(chart), - m_gridSliderX(0), - m_gridSliderZ(0), - m_axisRangeSliderX(0), - m_axisRangeSliderZ(0), - m_axisMinSliderX(0), - m_axisMinSliderZ(0), - m_xCount(50), - m_zCount(50), - m_activeSample(0), - m_fontSize(40), - m_rangeX(16.0), - m_rangeZ(16.0), - m_minX(-8.0), - m_minZ(-8.0), - m_planeArray(0) -{ - m_chart->setAxisX(new Q3DValueAxis); - m_chart->setAxisY(new Q3DValueAxis); - m_chart->setAxisZ(new Q3DValueAxis); - m_chart->axisX()->setRange(m_minX, m_minX + m_rangeX); - m_chart->axisZ()->setRange(m_minZ, m_minZ + m_rangeZ); - changeStyle(); - - connect(&m_timer, &QTimer::timeout, this, &ChartModifier::timeout); -} - -ChartModifier::~ChartModifier() -{ - delete m_chart; -} - -void ChartModifier::toggleSmooth(bool enabled) -{ - qDebug() << "ChartModifier::toggleSmooth " << enabled; - m_chart->setSmoothSurfaceEnabled(enabled); -} - -void ChartModifier::toggleSurfaceGrid(bool enable) -{ - qDebug() << "ChartModifier::toggleSurfaceGrid" << enable; - m_chart->setSurfaceGridEnabled(enable); -} - -void ChartModifier::toggleSqrtSin(bool enable) -{ - if (enable) { - qDebug() << "Create Sqrt&Sin surface, (" << m_xCount << ", " << m_zCount << ")"; - - float minX = -10.0; - float maxX = 10.0; - float minZ = -10.0; - float maxZ = 10.0; - float stepX = (maxX - minX) / float(m_xCount - 1); - float stepZ = (maxZ - minZ) / float(m_zCount - 1); - - QSurfaceDataArray *dataArray = new QSurfaceDataArray; - dataArray->reserve(m_zCount); - for (float i = 0; i < m_zCount; i++) { - QSurfaceDataRow *newRow = new QSurfaceDataRow(m_xCount); - for (float j = 0; j < m_xCount; j++) { - float x = j * stepX + minX; - float z = i * stepZ + minZ; - float R = qSqrt(x * x + z * z) + 0.01f; - float y = (qSin(R) / R + 0.24f) * 1.61f + 1.0f; - (*newRow)[j].setPosition(QVector3D(x, y, z)); - qDebug() << x << y << z; - } - *dataArray << newRow; - } - - m_chart->axisY()->setRange(1.0, 3.0); - m_chart->axisX()->setLabelFormat("%.2f"); - m_chart->axisZ()->setLabelFormat("%.2f"); - - resetArrayAndSliders(dataArray, minZ, maxZ, minX, maxX); - - m_activeSample = ChartModifier::SqrtSin; - } else { - qDebug() << "Remove surface"; - } -} - -void ChartModifier::togglePlane(bool enable) -{ - qDebug() << "ChartModifier::togglePlane " << enable; - - if (enable) { - m_planeArray = new QSurfaceDataArray; - -#ifdef JITTER_PLANE - m_timer.start(0); -#endif - m_chart->axisY()->setRange(0.0, 1.0); - m_chart->axisX()->setLabelFormat("%.2f"); - m_chart->axisZ()->setLabelFormat("%.2f"); - - m_planeArray->reserve(m_zCount); - float minX = -10.0; - float maxX = 20.0; - float minZ = -10.0; - float maxZ = 10.0; - float stepX = (maxX - minX) / float(m_xCount - 1); - float stepZ = (maxZ - minZ) / float(m_zCount - 1); -#ifdef WONKY_PLANE - float halfZ = m_zCount / 2; - float wonkyFactor = 0.01f; - float maxStepX = 0.0f; - for (float i = 0; i < m_zCount; i++) { - QSurfaceDataRow *newRow = new QSurfaceDataRow(m_xCount); - if (i < halfZ) { - stepX += wonkyFactor; - maxStepX = stepX; - } else { - stepX -= wonkyFactor; - } - for (float j = 0; j < m_xCount; j++) { - (*newRow)[j].setPosition(QVector3D(j * stepX + minX, -0.04f, - i * stepZ + minZ)); - - } - *m_planeArray << newRow; - } - - resetArrayAndSliders(m_planeArray, minZ, maxZ, minX, m_xCount * maxStepX + minZ); -#else - for (float i = 0; i < m_zCount; i++) { - QSurfaceDataRow *newRow = new QSurfaceDataRow(m_xCount); - for (float j = 0; j < m_xCount; j++) - (*newRow)[j].setPosition(QVector3D(j * stepX + minX, -0.04f, i * stepZ + minZ)); - - *m_planeArray << newRow; - } - - resetArrayAndSliders(m_planeArray, minZ, maxZ, minX, maxX); -#endif - - m_activeSample = ChartModifier::Plane; - } -#ifdef JITTER_PLANE - else { - m_timer.stop(); - } -#endif -} - -void ChartModifier::setHeightMapData(bool enable) -{ - if (enable) { - // Do the height map the hard way. - // Easier alternative would be to use the QHeightMapSurfaceDataProxy. - QImage image(":/maps/map"); - - QSurfaceDataArray *dataArray = new QSurfaceDataArray; - uchar *bits = image.bits(); - - int p = image.width() * 4 * (image.height() - 1); - dataArray->reserve(image.height()); - float minX = 34.0; - float maxX = 40.0; - float minZ = 18.0; - float maxZ = 24.0; - float xMul = (maxX - minX) / float(image.width() - 1); - float zMul = (maxZ - minZ) / float(image.height() - 1); - for (int i = 0; i < image.height(); i++, p -= image.width() * 4) { - QSurfaceDataRow *newRow = new QSurfaceDataRow(image.width()); - for (int j = 0; j < image.width(); j++) { - (*newRow)[j].setPosition(QVector3D((float(j) * xMul) + minX, - (float(bits[p + (j * 4)]) + 1.0f) / 1.0f, - (float(i) * zMul) + minZ)); - } - *dataArray << newRow; - } - - m_chart->axisY()->setAutoAdjustRange(true); - m_chart->axisX()->setLabelFormat("%.1f N"); - m_chart->axisZ()->setLabelFormat("%.1f E"); - - resetArrayAndSliders(dataArray, minZ, maxZ, minX, maxX); - - m_activeSample = ChartModifier::Map; - } -} - -void ChartModifier::toggleGridSliderLock(bool enable) -{ - m_gridSlidersLocked = enable; - if (m_gridSlidersLocked) { - m_gridSliderZ->setEnabled(false); - m_gridSliderZ->setValue(m_gridSliderX->value()); - } else { - m_gridSliderZ->setEnabled(true); - } -} - -void ChartModifier::adjustXCount(int count) -{ - m_xCount = count; - if (m_gridSlidersLocked) - m_gridSliderZ->setValue(count); - - updateSamples(); - - qDebug() << "X count =" << count; -} - -void ChartModifier::adjustZCount(int count) -{ - m_zCount = count; - - updateSamples(); - - qDebug() << "Z count =" << count; -} - -void ChartModifier::adjustXRange(int range) -{ - m_rangeX = range; - m_chart->axisX()->setRange(m_minX, m_minX + m_rangeX); - - qDebug() << "X Range =" << range; -} - -void ChartModifier::adjustZRange(int range) -{ - m_rangeZ = range; - m_chart->axisZ()->setRange(m_minZ, m_minZ + m_rangeZ); - - qDebug() << "Z Range =" << range; -} - -void ChartModifier::adjustXMin(int min) -{ - m_minX = min; - m_chart->axisX()->setRange(m_minX, m_minX + m_rangeX); - - qDebug() << "X Minimum =" << min; -} - -void ChartModifier::adjustZMin(int min) -{ - m_minZ = min; - m_chart->axisZ()->setRange(m_minZ, m_minZ + m_rangeZ); - - qDebug() << "Z Minimum =" << min; -} - -void ChartModifier::gradientPressed() -{ - QLinearGradient gradient; - gradient.setColorAt(0.0, Qt::black); - gradient.setColorAt(0.33, Qt::blue); - gradient.setColorAt(0.67, Qt::red); - gradient.setColorAt(1.0, Qt::yellow); - m_chart->setGradient(gradient); -} - -void ChartModifier::changeFont(const QFont &font) -{ - QFont newFont = font; - newFont.setPointSizeF(m_fontSize); - m_chart->setFont(newFont); -} - -void ChartModifier::changeStyle() -{ - static int style = QDataVis::LabelStyleFromTheme; - - m_chart->setLabelStyle((QDataVis::LabelStyle)style); - - if (++style > QDataVis::LabelStyleTransparent) - style = QDataVis::LabelStyleOpaque; -} - -void ChartModifier::changeTheme(int theme) -{ - m_chart->setTheme((QDataVis::Theme)theme); -} - -void ChartModifier::timeout() -{ - int rows = m_planeArray->size(); - int columns = m_planeArray->at(0)->size(); - - // Induce minor random jitter to the existing plane array - for (int i = 0; i < rows; i++) { - for (int j = 0; j < columns; j++) { - (*m_planeArray->at(i))[j].setX(m_planeArray->at(i)->at(j).x() - * ((float((rand() % 10) + 5.0f) / 10000.0f) + 0.999f)); - (*m_planeArray->at(i))[j].setY(m_planeArray->at(i)->at(j).y() - * ((float((rand() % 10) + 5.0f) / 1000.0f) + 0.99f) + 0.0001f); - (*m_planeArray->at(i))[j].setZ(m_planeArray->at(i)->at(j).z() - * ((float((rand() % 10) + 5.0f) / 10000.0f) + 0.999f)); - } - } - - // Reset same array to make it redraw - m_chart->activeDataProxy()->resetArray(m_planeArray); -} - -void ChartModifier::resetArrayAndSliders(QSurfaceDataArray *array, qreal minZ, qreal maxZ, qreal minX, qreal maxX) -{ - m_axisMinSliderX->setValue(minX); - m_axisMinSliderZ->setValue(minZ); - m_axisRangeSliderX->setValue(maxX - minX); - m_axisRangeSliderZ->setValue(maxZ - minZ); - - m_chart->activeDataProxy()->resetArray(array); -} - -void ChartModifier::changeShadowQuality(int quality) -{ - QDataVis::ShadowQuality sq = QDataVis::ShadowQuality(quality); - m_chart->setShadowQuality(sq); -} - -void ChartModifier::changeSelectionMode(int mode) -{ - switch (mode) { - case 0: - qDebug() << "QDataVis::SelectionModeNone"; - m_chart->setSelectionMode(QDataVis::SelectionModeNone); - break; - case 1: - qDebug() << "QDataVis::SelectionModeItem"; - m_chart->setSelectionMode(QDataVis::SelectionModeItem); - break; - case 2: - qDebug() << "QDataVis::SelectionModeSliceRow"; - m_chart->setSelectionMode(QDataVis::SelectionModeSliceRow); - break; - case 3: - qDebug() << "QDataVis::SelectionModeSliceColumn"; - m_chart->setSelectionMode(QDataVis::SelectionModeSliceColumn); - break; - default: - qDebug() << __FUNCTION__ << " Unsupported selection mode."; - break; - } -} - -void ChartModifier::updateSamples() -{ - switch (m_activeSample) { - case SqrtSin: - toggleSqrtSin(true); - break; - - case Plane: - togglePlane(true); - break; - - default: - break; - } -} - diff --git a/examples/surfacechart/chartmodifier.h b/examples/surfacechart/chartmodifier.h deleted file mode 100644 index 083ceff7..00000000 --- a/examples/surfacechart/chartmodifier.h +++ /dev/null @@ -1,95 +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 QtDataVisualization 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 <QtDataVisualization/Q3DSurface> -#include <QtDataVisualization/QSurfaceDataProxy> -#include <QSlider> -#include <QTimer> - -using namespace QtDataVisualization; - -class ChartModifier : public QObject -{ - Q_OBJECT -public: - enum Samples { - SqrtSin = 1, - Plane, - Map - }; - - explicit ChartModifier(Q3DSurface *chart); - ~ChartModifier(); - - void toggleSmooth(bool enabled); - void toggleSurfaceGrid(bool enable); - void toggleSqrtSin(bool enable); - void togglePlane(bool enable); - void setHeightMapData(bool enable); - void toggleGridSliderLock(bool enable); - void setGridSliderX(QSlider *slider) { m_gridSliderX = slider; } - void setGridSliderZ(QSlider *slider) { m_gridSliderZ = slider; } - void setAxisRangeSliderX(QSlider *slider) { m_axisRangeSliderX = slider; } - void setAxisRangeSliderZ(QSlider *slider) { m_axisRangeSliderZ = slider; } - void setAxisMinSliderX(QSlider *slider) { m_axisMinSliderX = slider; } - void setAxisMinSliderZ(QSlider *slider) { m_axisMinSliderZ = slider; } - void adjustXCount(int count); - void adjustZCount(int count); - void adjustXRange(int range); - void adjustZRange(int range); - void adjustXMin(int min); - void adjustZMin(int min); - void updateSamples(); - void gradientPressed(); - void changeFont(const QFont &font); - void changeStyle(); - -public slots: - void changeShadowQuality(int quality); - void changeTheme(int theme); - void changeSelectionMode(int mode); - void timeout(); - -private: - void resetArrayAndSliders(QSurfaceDataArray *array, qreal minZ, qreal maxZ, qreal minX, - qreal maxX); - - Q3DSurface *m_chart; - QSlider *m_gridSliderX; - QSlider *m_gridSliderZ; - QSlider *m_axisRangeSliderX; - QSlider *m_axisRangeSliderZ; - QSlider *m_axisMinSliderX; - QSlider *m_axisMinSliderZ; - bool m_gridSlidersLocked; - int m_xCount; - int m_zCount; - int m_activeSample; - int m_fontSize; - qreal m_rangeX; - qreal m_rangeZ; - qreal m_minX; - qreal m_minZ; - QTimer m_timer; - QSurfaceDataArray *m_planeArray; -}; - -#endif // CHARTMODIFIER_H diff --git a/examples/surfacechart/main.cpp b/examples/surfacechart/main.cpp deleted file mode 100644 index 256f4e2d..00000000 --- a/examples/surfacechart/main.cpp +++ /dev/null @@ -1,256 +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 QtDataVisualization 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 "chartmodifier.h" - -#include <QApplication> -#include <QWidget> -#include <QHBoxLayout> -#include <QVBoxLayout> -#include <QPushButton> -#include <QCheckBox> -#include <QRadioButton> -#include <QSlider> -#include <QLabel> -#include <QScreen> -#include <QPainter> -#include <QFontComboBox> -#include <QDebug> - -using namespace QtDataVisualization; - -const int initialTheme = 4; - -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - - QWidget *widget = new QWidget; - QHBoxLayout *hLayout = new QHBoxLayout(widget); - QVBoxLayout *vLayout = new QVBoxLayout(); - vLayout->setAlignment(Qt::AlignTop); - - Q3DSurface *surfaceChart = new Q3DSurface(); - QSize screenSize = surfaceChart->screen()->size(); - - // Set to default, should be same as the initial on themeList - surfaceChart->setTheme(QDataVis::Theme(initialTheme)); - - QWidget *container = QWidget::createWindowContainer(surfaceChart); - 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("Surface tester")); - - hLayout->addWidget(container, 1); - hLayout->addLayout(vLayout); - - QCheckBox *smoothCB = new QCheckBox(widget); - smoothCB->setText(QStringLiteral("Smooth ")); - smoothCB->setChecked(surfaceChart->isSmoothSurfaceEnabled()); - - QCheckBox *surfaceGridCB = new QCheckBox(widget); - surfaceGridCB->setText(QStringLiteral("Surface Grid")); - surfaceGridCB->setChecked(true); - - //QCheckBox *sqrtSinCB = new QCheckBox(widget); - QRadioButton *sqrtSinCB = new QRadioButton(widget); - sqrtSinCB->setText(QStringLiteral("Sqrt & Sin")); - sqrtSinCB->setChecked(false); - - QRadioButton *planeCB = new QRadioButton(widget); - planeCB->setText(QStringLiteral("Plane")); - planeCB->setChecked(false); - - QRadioButton *heightMapCB = new QRadioButton(widget); - heightMapCB->setText(QStringLiteral("Height map")); - heightMapCB->setChecked(false); - - QCheckBox *gridSlidersLockCB = new QCheckBox(widget); - gridSlidersLockCB->setText(QStringLiteral("Lock")); - gridSlidersLockCB->setChecked(false); - - QSlider *gridSliderX = new QSlider(Qt::Horizontal, widget); - gridSliderX->setTickInterval(1); - gridSliderX->setMinimum(2); - gridSliderX->setValue(30); - gridSliderX->setMaximum(200); - gridSliderX->setEnabled(true); - QSlider *gridSliderZ = new QSlider(Qt::Horizontal, widget); - gridSliderZ->setTickInterval(1); - gridSliderZ->setMinimum(2); - gridSliderZ->setValue(30); - gridSliderZ->setMaximum(200); - gridSliderZ->setEnabled(true); - - QSlider *axisRangeSliderX = new QSlider(Qt::Horizontal, widget); - axisRangeSliderX->setTickInterval(1); - axisRangeSliderX->setMinimum(2); - axisRangeSliderX->setValue(16); - axisRangeSliderX->setMaximum(100); - axisRangeSliderX->setEnabled(true); - QSlider *axisRangeSliderZ = new QSlider(Qt::Horizontal, widget); - axisRangeSliderZ->setTickInterval(1); - axisRangeSliderZ->setMinimum(2); - axisRangeSliderZ->setValue(16); - axisRangeSliderZ->setMaximum(100); - axisRangeSliderZ->setEnabled(true); - - QSlider *axisMinSliderX = new QSlider(Qt::Horizontal, widget); - axisMinSliderX->setTickInterval(1); - axisMinSliderX->setMinimum(-50); - axisMinSliderX->setValue(-8); - axisMinSliderX->setMaximum(50); - axisMinSliderX->setEnabled(true); - QSlider *axisMinSliderZ = new QSlider(Qt::Horizontal, widget); - axisMinSliderZ->setTickInterval(1); - axisMinSliderZ->setMinimum(-50); - axisMinSliderZ->setValue(-8); - axisMinSliderZ->setMaximum(50); - axisMinSliderZ->setEnabled(true); - - QLinearGradient gr(0, 0, 100, 1); - gr.setColorAt(0.0, Qt::black); - gr.setColorAt(0.33, Qt::blue); - gr.setColorAt(0.67, Qt::red); - gr.setColorAt(1.0, Qt::yellow); - QPixmap pm(100, 24); - QPainter pmp(&pm); - pmp.setBrush(QBrush(gr)); - pmp.setPen(Qt::NoPen); - pmp.drawRect(0, 0, 100, 24); - QPushButton *colorPB = new QPushButton(); - colorPB->setIcon(QIcon(pm)); - colorPB->setIconSize(QSize(100, 24)); - - QFontComboBox *fontList = new QFontComboBox(widget); - fontList->setCurrentFont(QFont("Arial")); - - QPushButton *labelButton = new QPushButton(widget); - labelButton->setText(QStringLiteral("Change label style")); - - QComboBox *themeList = new QComboBox(widget); - themeList->addItem(QStringLiteral("Qt")); - themeList->addItem(QStringLiteral("Primary Colors")); - themeList->addItem(QStringLiteral("Digia")); - themeList->addItem(QStringLiteral("Stone Moss")); - themeList->addItem(QStringLiteral("Army Blue")); - themeList->addItem(QStringLiteral("Retro")); - themeList->addItem(QStringLiteral("Ebony")); - themeList->addItem(QStringLiteral("Isabelle")); - themeList->setCurrentIndex(initialTheme); - -// QComboBox *shadowQuality = new QComboBox(widget); -// shadowQuality->addItem(QStringLiteral("None")); -// shadowQuality->addItem(QStringLiteral("Low")); -// shadowQuality->addItem(QStringLiteral("Medium")); -// shadowQuality->addItem(QStringLiteral("High")); -// shadowQuality->addItem(QStringLiteral("Low Soft")); -// shadowQuality->addItem(QStringLiteral("Medium Soft")); -// shadowQuality->addItem(QStringLiteral("High Soft")); -// shadowQuality->setCurrentIndex(3); - QComboBox *selectionMode = new QComboBox(widget); - selectionMode->addItem(QStringLiteral("SelectionModeNone")); - selectionMode->addItem(QStringLiteral("SelectionModeItem")); - selectionMode->addItem(QStringLiteral("SelectionModeSliceRow")); - selectionMode->addItem(QStringLiteral("SelectionModeSliceColumn")); - selectionMode->setCurrentIndex(1); - - // Add controls to the layout - vLayout->addWidget(smoothCB); - vLayout->addWidget(surfaceGridCB); - vLayout->addWidget(new QLabel(QStringLiteral("Select surface sample"))); - vLayout->addWidget(sqrtSinCB); - vLayout->addWidget(planeCB); - vLayout->addWidget(heightMapCB); - vLayout->addWidget(new QLabel(QStringLiteral("Adjust sample count"))); - vLayout->addWidget(gridSlidersLockCB); - vLayout->addWidget(gridSliderX); - vLayout->addWidget(gridSliderZ); - vLayout->addWidget(new QLabel(QStringLiteral("Adjust axis range"))); - vLayout->addWidget(axisRangeSliderX); - vLayout->addWidget(axisRangeSliderZ); - vLayout->addWidget(new QLabel(QStringLiteral("Adjust axis minimum"))); - vLayout->addWidget(axisMinSliderX); - vLayout->addWidget(axisMinSliderZ); - vLayout->addWidget(colorPB); - vLayout->addWidget(new QLabel(QStringLiteral("Change font"))); - vLayout->addWidget(fontList); - vLayout->addWidget(labelButton); - vLayout->addWidget(new QLabel(QStringLiteral("Change theme"))); - 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(); - - ChartModifier *modifier = new ChartModifier(surfaceChart); - - // Connect controls to slots on modifier - QObject::connect(smoothCB, &QCheckBox::stateChanged, - modifier, &ChartModifier::toggleSmooth); - QObject::connect(surfaceGridCB, &QCheckBox::stateChanged, - modifier, &ChartModifier::toggleSurfaceGrid); - QObject::connect(sqrtSinCB, &QRadioButton::toggled, - modifier, &ChartModifier::toggleSqrtSin); - QObject::connect(planeCB, &QCheckBox::toggled, - modifier, &ChartModifier::togglePlane); - QObject::connect(heightMapCB, &QCheckBox::toggled, - modifier, &ChartModifier::setHeightMapData); - QObject::connect(gridSlidersLockCB, &QCheckBox::stateChanged, - modifier, &ChartModifier::toggleGridSliderLock); - QObject::connect(gridSliderX, &QSlider::valueChanged, - modifier, &ChartModifier::adjustXCount); - QObject::connect(gridSliderZ, &QSlider::valueChanged, - modifier, &ChartModifier::adjustZCount); - QObject::connect(axisRangeSliderX, &QSlider::valueChanged, - modifier, &ChartModifier::adjustXRange); - QObject::connect(axisRangeSliderZ, &QSlider::valueChanged, - modifier, &ChartModifier::adjustZRange); - QObject::connect(axisMinSliderX, &QSlider::valueChanged, - modifier, &ChartModifier::adjustXMin); - QObject::connect(axisMinSliderZ, &QSlider::valueChanged, - modifier, &ChartModifier::adjustZMin); - QObject::connect(colorPB, &QPushButton::pressed, - modifier, &ChartModifier::gradientPressed); - QObject::connect(fontList, &QFontComboBox::currentFontChanged, - modifier, &ChartModifier::changeFont); - QObject::connect(labelButton, &QPushButton::clicked, - modifier, &ChartModifier::changeStyle); - QObject::connect(themeList, SIGNAL(currentIndexChanged(int)), - 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); - modifier->setAxisRangeSliderX(axisRangeSliderX); - modifier->setAxisRangeSliderZ(axisRangeSliderZ); - modifier->setAxisMinSliderX(axisMinSliderX); - modifier->setAxisMinSliderZ(axisMinSliderZ); - modifier->toggleGridSliderLock(gridSlidersLockCB->checkState()); - sqrtSinCB->setChecked(true); - - return app.exec(); -} diff --git a/examples/surfacechart/surface.qrc b/examples/surfacechart/surface.qrc deleted file mode 100644 index c18da2c4..00000000 --- a/examples/surfacechart/surface.qrc +++ /dev/null @@ -1,5 +0,0 @@ -<RCC> - <qresource prefix="/maps"> - <file alias="map">Heightmap.png</file> - </qresource> -</RCC> diff --git a/examples/surfacechart/surfacechart.pro b/examples/surfacechart/surfacechart.pro deleted file mode 100644 index 2ebc90da..00000000 --- a/examples/surfacechart/surfacechart.pro +++ /dev/null @@ -1,16 +0,0 @@ -!include( ../examples.pri ) { - error( "Couldn't find the examples.pri file!" ) -} - -SOURCES += main.cpp \ - chartmodifier.cpp - -QT += widgets - -INSTALLS += target - -HEADERS += \ - chartmodifier.h - -RESOURCES += \ - surface.qrc diff --git a/examples/widget/doc/src/widget.qdoc b/examples/widget/doc/src/widget.qdoc index d76df2b5..e0c0f14b 100644 --- a/examples/widget/doc/src/widget.qdoc +++ b/examples/widget/doc/src/widget.qdoc @@ -20,7 +20,7 @@ \example widget \title Widget Example - The widget example shows how to make a 3D bar chart using Q3DBars and combining the use of + The widget example shows how to make a 3D bar graph using Q3DBars and combining the use of widgets for adjusting several adjustable qualities. \image widget-example.png diff --git a/examples/widget/chart.cpp b/examples/widget/graphmodifier.cpp index 50f2535a..7da3000b 100644 --- a/examples/widget/chart.cpp +++ b/examples/widget/graphmodifier.cpp @@ -16,7 +16,7 @@ ** ****************************************************************************/ -#include "chart.h" +#include "graphmodifier.h" #include <QtDataVisualization/q3dcategoryaxis.h> #include <QtDataVisualization/q3dvalueaxis.h> #include <QtDataVisualization/qbardataproxy.h> @@ -26,14 +26,14 @@ QT_DATAVISUALIZATION_USE_NAMESPACE const QString celsiusString = QString(QChar(0xB0)) + "C"; -ChartModifier::ChartModifier(Q3DBars *barchart) - : m_chart(barchart), +GraphModifier::GraphModifier(Q3DBars *bargraph) + : m_graph(bargraph), m_xRotation(0.0), m_yRotation(0.0), 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_minval(-20.0), // TODO Bargraph Y-axis currently only properly supports zero-centered ranges m_maxval(20.0), m_temperatureAxis(new Q3DValueAxis), m_yearAxis(new Q3DCategoryAxis), @@ -45,7 +45,7 @@ ChartModifier::ChartModifier(Q3DBars *barchart) m_months << "January" << "February" << "March" << "April" << "May" << "June" << "July" << "August" << "September" << "October" << "November" << "December"; m_years << "2006" << "2007" << "2008" << "2009" << "2010" << "2011" << "2012"; - m_chart->setBackgroundVisible(false); + m_graph->setBackgroundVisible(false); m_temperatureAxis->setTitle("Average temperature"); m_temperatureAxis->setSegmentCount(m_segments); @@ -57,40 +57,41 @@ ChartModifier::ChartModifier(Q3DBars *barchart) m_monthAxis->setTitle("Month"); - m_chart->addAxis(m_temperatureAxis); - m_chart->addAxis(m_yearAxis); - m_chart->addAxis(m_monthAxis); + m_graph->addAxis(m_temperatureAxis); + m_graph->addAxis(m_yearAxis); + m_graph->addAxis(m_monthAxis); - m_chart->setShadowQuality(QDataVis::ShadowQualitySoftMedium); + m_graph->setShadowQuality(QDataVis::ShadowQualitySoftMedium); m_temperatureData->setItemLabelFormat(QStringLiteral("@valueTitle for @colLabel @rowLabel: @valueLabel")); - m_chart->addDataProxy(m_temperatureData); + m_graph->addDataProxy(m_temperatureData); - m_chart->setFont(QFont("Times Roman", 20)); + m_graph->setFont(QFont("Times Roman", 20)); - m_chart->setSelectionMode(QDataVis::SelectionModeItem); + m_graph->setSelectionMode(QDataVis::SelectionModeItem); resetTemperatureData(); + changeLabelStyle(); } -ChartModifier::~ChartModifier() +GraphModifier::~GraphModifier() { - delete m_chart; + delete m_graph; } -void ChartModifier::start() +void GraphModifier::start() { - m_chart->setActiveDataProxy(m_temperatureData); + m_graph->setActiveDataProxy(m_temperatureData); - m_chart->setTitle(QStringLiteral("Average temperatures in Oulu, Finland (2006-2012)")); + m_graph->setTitle(QStringLiteral("Average temperatures in Oulu, Finland (2006-2012)")); - m_chart->setValueAxis(m_temperatureAxis); - m_chart->setRowAxis(m_yearAxis); - m_chart->setColumnAxis(m_monthAxis); + m_graph->setValueAxis(m_temperatureAxis); + m_graph->setRowAxis(m_yearAxis); + m_graph->setColumnAxis(m_monthAxis); } -void ChartModifier::resetTemperatureData() +void GraphModifier::resetTemperatureData() { // Set up data static const qreal temp[7][12] = { @@ -119,99 +120,99 @@ void ChartModifier::resetTemperatureData() dataSet->append(dataRow); } - // Add data to chart (chart assumes ownership) + // Add data to the graph (the graph assumes ownership) m_temperatureData->resetArray(dataSet, m_years, m_months); } -void ChartModifier::changeStyle(int style) +void GraphModifier::changeStyle(int style) { m_style = QDataVis::MeshStyle(style); - m_chart->setBarType(m_style, m_smooth); + m_graph->setBarType(m_style, m_smooth); } -void ChartModifier::changePresetCamera() +void GraphModifier::changePresetCamera() { static int preset = QDataVis::CameraPresetFrontLow; - m_chart->setCameraPreset((QDataVis::CameraPreset)preset); + m_graph->setCameraPreset((QDataVis::CameraPreset)preset); if (++preset > QDataVis::CameraPresetDirectlyBelow) preset = QDataVis::CameraPresetFrontLow; } -void ChartModifier::changeTheme(int theme) +void GraphModifier::changeTheme(int theme) { - m_chart->setTheme((QDataVis::Theme)theme); + m_graph->setTheme((QDataVis::Theme)theme); } -void ChartModifier::changeLabelStyle() +void GraphModifier::changeLabelStyle() { - static int style = QDataVis::LabelStyleOpaque; + static int style = QDataVis::LabelStyleFromTheme; - m_chart->setLabelStyle((QDataVis::LabelStyle)style); + m_graph->setLabelStyle((QDataVis::LabelStyle)style); if (++style > QDataVis::LabelStyleTransparent) style = QDataVis::LabelStyleOpaque; } -void ChartModifier::changeSelectionMode(int selectionMode) +void GraphModifier::changeSelectionMode(int selectionMode) { - m_chart->setSelectionMode((QDataVis::SelectionMode)selectionMode); + m_graph->setSelectionMode((QDataVis::SelectionMode)selectionMode); } -void ChartModifier::changeFont(const QFont &font) +void GraphModifier::changeFont(const QFont &font) { QFont newFont = font; newFont.setPointSize(m_fontSize); - m_chart->setFont(newFont); + m_graph->setFont(newFont); } -void ChartModifier::changeFontSize(int fontsize) +void GraphModifier::changeFontSize(int fontsize) { m_fontSize = fontsize; - QFont font = m_chart->font(); + QFont font = m_graph->font(); font.setPointSize(m_fontSize); - m_chart->setFont(font); + m_graph->setFont(font); } -void ChartModifier::shadowQualityUpdatedByVisual(QDataVis::ShadowQuality sq) +void GraphModifier::shadowQualityUpdatedByVisual(QDataVis::ShadowQuality sq) { int quality = int(sq); // Updates the UI component to show correct shadow quality emit shadowQualityChanged(quality); } -void ChartModifier::changeShadowQuality(int quality) +void GraphModifier::changeShadowQuality(int quality) { QDataVis::ShadowQuality sq = QDataVis::ShadowQuality(quality); - m_chart->setShadowQuality(sq); + m_graph->setShadowQuality(sq); emit shadowQualityChanged(quality); } -void ChartModifier::rotateX(int rotation) +void GraphModifier::rotateX(int rotation) { m_xRotation = rotation; - m_chart->setCameraPosition(m_xRotation, m_yRotation); + m_graph->setCameraPosition(m_xRotation, m_yRotation); } -void ChartModifier::rotateY(int rotation) +void GraphModifier::rotateY(int rotation) { m_yRotation = rotation; - m_chart->setCameraPosition(m_xRotation, m_yRotation); + m_graph->setCameraPosition(m_xRotation, m_yRotation); } -void ChartModifier::setBackgroundEnabled(int enabled) +void GraphModifier::setBackgroundEnabled(int enabled) { - m_chart->setBackgroundVisible((bool)enabled); + m_graph->setBackgroundVisible((bool)enabled); } -void ChartModifier::setGridEnabled(int enabled) +void GraphModifier::setGridEnabled(int enabled) { - m_chart->setGridVisible((bool)enabled); + m_graph->setGridVisible((bool)enabled); } -void ChartModifier::setSmoothBars(int smooth) +void GraphModifier::setSmoothBars(int smooth) { m_smooth = bool(smooth); - m_chart->setBarType(m_style, m_smooth); + m_graph->setBarType(m_style, m_smooth); } diff --git a/examples/widget/chart.h b/examples/widget/graphmodifier.h index 51a8d5e0..2e18ffd2 100644 --- a/examples/widget/chart.h +++ b/examples/widget/graphmodifier.h @@ -16,8 +16,8 @@ ** ****************************************************************************/ -#ifndef CHARTMODIFIER_H -#define CHARTMODIFIER_H +#ifndef GRAPHMODIFIER_H +#define GRAPHMODIFIER_H #include <QtDataVisualization/q3dbars.h> @@ -28,12 +28,12 @@ using namespace QtDataVisualization; -class ChartModifier : public QObject +class GraphModifier : public QObject { Q_OBJECT public: - explicit ChartModifier(Q3DBars *barchart); - ~ChartModifier(); + explicit GraphModifier(Q3DBars *bargraph); + ~GraphModifier(); void resetTemperatureData(); void changePresetCamera(); @@ -58,7 +58,7 @@ signals: void shadowQualityChanged(int quality); private: - Q3DBars *m_chart; + Q3DBars *m_graph; qreal m_xRotation; qreal m_yRotation; int m_fontSize; diff --git a/examples/widget/main.cpp b/examples/widget/main.cpp index 1a1645e5..c1bee4e5 100644 --- a/examples/widget/main.cpp +++ b/examples/widget/main.cpp @@ -16,7 +16,7 @@ ** ****************************************************************************/ -#include "chart.h" +#include "graphmodifier.h" #include <QApplication> #include <QWidget> @@ -38,10 +38,10 @@ int main(int argc, char **argv) QHBoxLayout *hLayout = new QHBoxLayout(widget); QVBoxLayout *vLayout = new QVBoxLayout(); - Q3DBars *widgetchart = new Q3DBars(); - QSize screenSize = widgetchart->screen()->size(); + Q3DBars *widgetgraph = new Q3DBars(); + QSize screenSize = widgetgraph->screen()->size(); - QWidget *container = QWidget::createWindowContainer(widgetchart); + QWidget *container = QWidget::createWindowContainer(widgetgraph); container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 1.5)); container->setMaximumSize(screenSize); container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); @@ -153,22 +153,22 @@ int main(int argc, char **argv) widget->show(); - ChartModifier *modifier = new ChartModifier(widgetchart); + GraphModifier *modifier = new GraphModifier(widgetgraph); - QObject::connect(rotationSliderX, &QSlider::valueChanged, modifier, &ChartModifier::rotateX); - QObject::connect(rotationSliderY, &QSlider::valueChanged, modifier, &ChartModifier::rotateY); + QObject::connect(rotationSliderX, &QSlider::valueChanged, modifier, &GraphModifier::rotateX); + QObject::connect(rotationSliderY, &QSlider::valueChanged, modifier, &GraphModifier::rotateY); QObject::connect(labelButton, &QPushButton::clicked, modifier, - &ChartModifier::changeLabelStyle); + &GraphModifier::changeLabelStyle); QObject::connect(cameraButton, &QPushButton::clicked, modifier, - &ChartModifier::changePresetCamera); + &GraphModifier::changePresetCamera); QObject::connect(backgroundCheckBox, &QCheckBox::stateChanged, modifier, - &ChartModifier::setBackgroundEnabled); + &GraphModifier::setBackgroundEnabled); QObject::connect(gridCheckBox, &QCheckBox::stateChanged, modifier, - &ChartModifier::setGridEnabled); + &GraphModifier::setGridEnabled); QObject::connect(smoothCheckBox, &QCheckBox::stateChanged, modifier, - &ChartModifier::setSmoothBars); + &GraphModifier::setSmoothBars); QObject::connect(barStyleList, SIGNAL(currentIndexChanged(int)), modifier, SLOT(changeStyle(int))); @@ -182,15 +182,15 @@ int main(int argc, char **argv) QObject::connect(shadowQuality, SIGNAL(currentIndexChanged(int)), modifier, SLOT(changeShadowQuality(int))); - QObject::connect(modifier, &ChartModifier::shadowQualityChanged, shadowQuality, + QObject::connect(modifier, &GraphModifier::shadowQualityChanged, shadowQuality, &QComboBox::setCurrentIndex); - QObject::connect(widgetchart, &Q3DBars::shadowQualityChanged, modifier, - &ChartModifier::shadowQualityUpdatedByVisual); + QObject::connect(widgetgraph, &Q3DBars::shadowQualityChanged, modifier, + &GraphModifier::shadowQualityUpdatedByVisual); QObject::connect(fontSizeSlider, &QSlider::valueChanged, modifier, - &ChartModifier::changeFontSize); + &GraphModifier::changeFontSize); QObject::connect(fontList, &QFontComboBox::currentFontChanged, modifier, - &ChartModifier::changeFont); + &GraphModifier::changeFont); modifier->start(); diff --git a/examples/widget/widget.pro b/examples/widget/widget.pro index 2b4078a4..c9feb187 100644 --- a/examples/widget/widget.pro +++ b/examples/widget/widget.pro @@ -2,9 +2,13 @@ error( "Couldn't find the examples.pri file!" ) } -SOURCES += main.cpp chart.cpp -HEADERS += chart.h +SOURCES += main.cpp graphmodifier.cpp +HEADERS += graphmodifier.h QT += widgets INSTALLS += target + +OTHER_FILES += doc/src/* \ + doc/images/* + |