From aa842c39480aa5b95f704c97b8b3acc821144883 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 20 Dec 2013 10:56:59 +0200 Subject: Fix theme ownership Theme ownership now uses similar model as axis and inputhandler ownership: Graph can own multiple themes, but only one is active at the time. Task-number: QTRD-2623 Change-Id: I7134384df6f8cc465cc28fbebb454b7d2e254f83 Reviewed-by: Miikka Heikkinen --- .../doc/snippets/doc_src_q3dtheme.cpp | 6 +- ...tdatavisualization-qml-abstractdeclarative.qdoc | 2 +- .../engine/abstract3dcontroller.cpp | 41 +++-- .../engine/abstract3dcontroller_p.h | 9 +- src/datavisualization/engine/bars3dcontroller.cpp | 2 +- src/datavisualization/engine/q3dbars.cpp | 19 -- src/datavisualization/engine/q3dbars.h | 6 - src/datavisualization/engine/q3dscatter.cpp | 19 -- src/datavisualization/engine/q3dscatter.h | 7 - src/datavisualization/engine/q3dsurface.cpp | 19 -- src/datavisualization/engine/q3dsurface.h | 6 - src/datavisualization/engine/q3dwindow.cpp | 60 +++++++ src/datavisualization/engine/q3dwindow.h | 11 ++ src/datavisualization/theme/q3dtheme.cpp | 12 +- src/datavisualization/theme/q3dtheme_p.h | 4 + src/datavisualization/theme/thememanager.cpp | 193 +++++++++++++-------- src/datavisualization/theme/thememanager_p.h | 10 +- 17 files changed, 253 insertions(+), 173 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp b/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp index 5a539e62..aa0ee859 100644 --- a/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp +++ b/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp @@ -57,9 +57,9 @@ int main(int argc, char **argv) //! [3] Q3DBars *graph = new Q3DBars(); - graph->setTheme(new Q3DTheme(Q3DTheme::ThemePrimaryColors)); - graph->theme()->setBaseColor(Qt::red); - graph->theme()->setSingleHighlightColor(Qt::yellow); + graph->setActiveTheme(new Q3DTheme(Q3DTheme::ThemePrimaryColors)); + graph->activeTheme()->setBaseColor(Qt::red); + graph->activeTheme()->setSingleHighlightColor(Qt::yellow); //! [3] } diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc index 7493709f..21dabf66 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc @@ -48,5 +48,5 @@ /*! \qmlproperty Theme3D AbstractGraph3D::theme - Theme of the graph. + The active theme of the graph. */ diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 9835dbe4..500ce9dc 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -52,7 +52,7 @@ Abstract3DController::Abstract3DController(QRect initialViewport, QObject *paren m_renderPending(false) { // Set initial theme - setTheme(new Q3DTheme(Q3DTheme::ThemeQt)); + setActiveTheme(new Q3DTheme(Q3DTheme::ThemeQt)); m_scene->d_ptr->setViewport(initialViewport); @@ -102,7 +102,7 @@ void Abstract3DController::addSeries(QAbstract3DSeries *series) this, &Abstract3DController::handleSeriesVisibilityChanged); if (series->isVisible()) handleSeriesVisibilityChangedBySender(series); - series->d_ptr->resetToTheme(*m_themeManager->theme(), oldSize, false); + series->d_ptr->resetToTheme(*m_themeManager->activeTheme(), oldSize, false); } } @@ -135,7 +135,7 @@ void Abstract3DController::synchDataToRenderer() m_renderer->updateScene(m_scene); - m_renderer->updateTheme(m_themeManager->theme()); + m_renderer->updateTheme(m_themeManager->activeTheme()); if (m_changeTracker.shadowQualityChanged) { m_renderer->updateShadowQuality(m_shadowQuality); @@ -595,22 +595,43 @@ void Abstract3DController::setZoomLevel(int zoomLevel) emitNeedRender(); } -void Abstract3DController::setTheme(Q3DTheme *theme) +void Abstract3DController::addTheme(Q3DTheme *theme) { - if (theme != m_themeManager->theme()) { - m_themeManager->setTheme(theme); + m_themeManager->addTheme(theme); +} + +void Abstract3DController::releaseTheme(Q3DTheme *theme) +{ + Q3DTheme *oldTheme = m_themeManager->activeTheme(); + + m_themeManager->releaseTheme(theme); + + if (oldTheme != m_themeManager->activeTheme()) + emit activeThemeChanged(m_themeManager->activeTheme()); +} +QList Abstract3DController::themes() const +{ + return m_themeManager->themes(); +} + +void Abstract3DController::setActiveTheme(Q3DTheme *theme) +{ + if (theme != m_themeManager->activeTheme()) { + m_themeManager->setActiveTheme(theme); m_changeTracker.themeChanged = true; + // Default theme can be created by theme manager, so ensure we have correct theme + Q3DTheme *newActiveTheme = m_themeManager->activeTheme(); // Reset all attached series to the new theme for (int i = 0; i < m_seriesList.size(); i++) - m_seriesList.at(i)->d_ptr->resetToTheme(*theme, i, true); + m_seriesList.at(i)->d_ptr->resetToTheme(*newActiveTheme, i, true); markSeriesVisualsDirty(); - emit themeChanged(theme); + emit activeThemeChanged(newActiveTheme); } } -Q3DTheme *Abstract3DController::theme() const +Q3DTheme *Abstract3DController::activeTheme() const { - return m_themeManager->theme(); + return m_themeManager->activeTheme(); } void Abstract3DController::setSelectionMode(QDataVis::SelectionFlags mode) diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index c56b8a72..a862a961 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -191,8 +191,11 @@ public: virtual int zoomLevel(); virtual void setZoomLevel(int zoomLevel); - virtual void setTheme(Q3DTheme *theme); - virtual Q3DTheme *theme() const; + virtual void addTheme(Q3DTheme *theme); + virtual void releaseTheme(Q3DTheme *theme); + virtual void setActiveTheme(Q3DTheme *theme); + virtual Q3DTheme *activeTheme() const; + virtual QList themes() const; virtual void setSelectionMode(QDataVis::SelectionFlags mode); virtual QDataVis::SelectionFlags selectionMode() const; @@ -253,7 +256,7 @@ public slots: signals: void shadowQualityChanged(QDataVis::ShadowQuality quality); void activeInputHandlerChanged(QAbstract3DInputHandler *inputHandler); - void themeChanged(Q3DTheme *theme); + void activeThemeChanged(Q3DTheme *activeTheme); void selectionModeChanged(QDataVis::SelectionFlags mode); void needRender(); diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index 5232a566..007fdffc 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -72,7 +72,7 @@ void Bars3DController::initializeOpenGL() void Bars3DController::synchDataToRenderer() { // Background change requires reloading the meshes in bar graphs, so dirty the series visuals - if (m_themeManager->theme()->d_ptr->m_dirtyBits.backgroundEnabledDirty) { + if (m_themeManager->activeTheme()->d_ptr->m_dirtyBits.backgroundEnabledDirty) { m_isSeriesVisualsDirty = true; foreach (QAbstract3DSeries *series, m_seriesList) series->d_ptr->m_changeTracker.meshChanged = true; diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp index d4e97519..530235f2 100644 --- a/src/datavisualization/engine/q3dbars.cpp +++ b/src/datavisualization/engine/q3dbars.cpp @@ -108,8 +108,6 @@ Q3DBars::Q3DBars(QWindow *parent) &Q3DBars::selectionModeChanged); QObject::connect(dptr()->m_shared, &Abstract3DController::shadowQualityChanged, this, &Q3DBars::shadowQualityChanged); - QObject::connect(dptr()->m_shared, &Abstract3DController::themeChanged, this, - &Q3DBars::themeChanged); QObject::connect(dptr()->m_shared, &Abstract3DController::needRender, d_ptr.data(), &Q3DWindowPrivate::renderLater); QObject::connect(dptr()->m_shared, &Abstract3DController::shadowQualityChanged, dptr(), @@ -271,23 +269,6 @@ bool Q3DBars::isBarSpacingRelative() return dptr()->m_shared->isBarSpecRelative(); } -/*! - * \property Q3DBars::theme - * - * A \a theme to be used for the graph. Ownership of the \a theme is transferred. Previous theme - * is deleted when a new one is set. Properties of the \a theme can be modified even after setting - * it, and the modifications take effect immediately. - */ -void Q3DBars::setTheme(Q3DTheme *theme) -{ - dptr()->m_shared->setTheme(theme); -} - -Q3DTheme *Q3DBars::theme() const -{ - return dptrc()->m_shared->theme(); -} - /*! * \property Q3DBars::selectionMode * diff --git a/src/datavisualization/engine/q3dbars.h b/src/datavisualization/engine/q3dbars.h index add3b11b..fac9558f 100644 --- a/src/datavisualization/engine/q3dbars.h +++ b/src/datavisualization/engine/q3dbars.h @@ -21,7 +21,6 @@ #include #include -#include #include #include @@ -42,7 +41,6 @@ class QT_DATAVISUALIZATION_EXPORT Q3DBars : public Q3DWindow Q_PROPERTY(float barThickness READ barThickness WRITE setBarThickness NOTIFY barThicknessChanged) Q_PROPERTY(QSizeF barSpacing READ barSpacing WRITE setBarSpacing NOTIFY barSpacingChanged) Q_PROPERTY(bool barSpacingRelative READ isBarSpacingRelative WRITE setBarSpacingRelative NOTIFY barSpacingRelativeChanged) - Q_PROPERTY(Q3DTheme* theme READ theme WRITE setTheme NOTIFY themeChanged) Q_PROPERTY(Q3DScene* scene READ scene) public: @@ -53,9 +51,6 @@ public: void removeSeries(QBar3DSeries *series); QList seriesList(); - void setTheme(Q3DTheme *theme); - Q3DTheme *theme() const; - void setBarThickness(float thicknessRatio); float barThickness(); @@ -89,7 +84,6 @@ signals: void barThicknessChanged(float thicknessRatio); void barSpacingChanged(QSizeF spacing); void barSpacingRelativeChanged(bool relative); - void themeChanged(Q3DTheme *theme); protected: diff --git a/src/datavisualization/engine/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp index 3c28b4a5..13b22df4 100644 --- a/src/datavisualization/engine/q3dscatter.cpp +++ b/src/datavisualization/engine/q3dscatter.cpp @@ -92,8 +92,6 @@ Q3DScatter::Q3DScatter(QWindow *parent) &Q3DScatter::selectionModeChanged); QObject::connect(dptr()->m_shared, &Abstract3DController::shadowQualityChanged, this, &Q3DScatter::shadowQualityChanged); - QObject::connect(dptr()->m_shared, &Abstract3DController::themeChanged, this, - &Q3DScatter::themeChanged); QObject::connect(dptr()->m_shared, &Abstract3DController::needRender, d_ptr.data(), &Q3DWindowPrivate::renderLater); QObject::connect(dptr()->m_shared, &Abstract3DController::shadowQualityChanged, dptr(), @@ -191,23 +189,6 @@ const Q3DScatterPrivate *Q3DScatter::dptrc() const return static_cast(d_ptr.data()); } -/*! - * \property Q3DScatter::theme - * - * A \a theme to be used for the graph. Ownership of the \a theme is transferred. Previous theme - * is deleted when a new one is set. Properties of the \a theme can be modified even after setting - * it, and the modifications take effect immediately. - */ -void Q3DScatter::setTheme(Q3DTheme *theme) -{ - dptr()->m_shared->setTheme(theme); -} - -Q3DTheme *Q3DScatter::theme() const -{ - return dptrc()->m_shared->theme(); -} - /*! * \property Q3DScatter::selectionMode * diff --git a/src/datavisualization/engine/q3dscatter.h b/src/datavisualization/engine/q3dscatter.h index e58146a1..f71b469e 100644 --- a/src/datavisualization/engine/q3dscatter.h +++ b/src/datavisualization/engine/q3dscatter.h @@ -22,7 +22,6 @@ #include #include #include -#include #include #include @@ -33,14 +32,12 @@ class LabelItem; class Q3DValueAxis; class Q3DCategoryAxis; class QScatter3DSeries; -class Q3DTheme; class QT_DATAVISUALIZATION_EXPORT Q3DScatter : public Q3DWindow { Q_OBJECT Q_PROPERTY(QtDataVisualization::QDataVis::SelectionFlags selectionMode READ selectionMode WRITE setSelectionMode NOTIFY selectionModeChanged) Q_PROPERTY(QtDataVisualization::QDataVis::ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality NOTIFY shadowQualityChanged) - Q_PROPERTY(Q3DTheme* theme READ theme WRITE setTheme NOTIFY themeChanged) Q_PROPERTY(Q3DScene* scene READ scene) public: @@ -51,9 +48,6 @@ public: void removeSeries(QScatter3DSeries *series); QList seriesList(); - void setTheme(Q3DTheme *theme); - Q3DTheme *theme() const; - void setSelectionMode(QDataVis::SelectionFlags mode); QDataVis::SelectionFlags selectionMode() const; @@ -75,7 +69,6 @@ public: signals: void selectionModeChanged(QDataVis::SelectionFlags mode); void shadowQualityChanged(QDataVis::ShadowQuality quality); - void themeChanged(Q3DTheme* theme); protected: void mouseDoubleClickEvent(QMouseEvent *event); diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp index ce738685..feb2ef22 100644 --- a/src/datavisualization/engine/q3dsurface.cpp +++ b/src/datavisualization/engine/q3dsurface.cpp @@ -103,8 +103,6 @@ Q3DSurface::Q3DSurface(QWindow *parent) dptr()->m_shared->initializeOpenGL(); QObject::connect(dptr()->m_shared, &Abstract3DController::selectionModeChanged, this, &Q3DSurface::selectionModeChanged); - QObject::connect(dptr()->m_shared, &Abstract3DController::themeChanged, this, - &Q3DSurface::themeChanged); QObject::connect(dptr()->m_shared, &Abstract3DController::shadowQualityChanged, this, &Q3DSurface::shadowQualityChanged); QObject::connect(dptr()->m_shared, &Abstract3DController::needRender, d_ptr.data(), @@ -204,23 +202,6 @@ const Q3DSurfacePrivate *Q3DSurface::dptrc() const return static_cast(d_ptr.data()); } -/*! - * \property Q3DSurface::theme - * - * A \a theme to be used for the graph. Ownership of the \a theme is transferred. Previous theme - * is deleted when a new one is set. Properties of the \a theme can be modified even after setting - * it, and the modifications take effect immediately. - */ -void Q3DSurface::setTheme(Q3DTheme *theme) -{ - dptr()->m_shared->setTheme(theme); -} - -Q3DTheme *Q3DSurface::theme() const -{ - return dptrc()->m_shared->theme(); -} - /*! * \property Q3DSurface::shadowQuality * diff --git a/src/datavisualization/engine/q3dsurface.h b/src/datavisualization/engine/q3dsurface.h index bdbe65f5..b91854d5 100644 --- a/src/datavisualization/engine/q3dsurface.h +++ b/src/datavisualization/engine/q3dsurface.h @@ -29,13 +29,11 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE class Q3DSurfacePrivate; class Q3DValueAxis; class QSurface3DSeries; -class Q3DTheme; class QT_DATAVISUALIZATION_EXPORT Q3DSurface : public Q3DWindow { Q_OBJECT Q_PROPERTY(QtDataVisualization::QDataVis::SelectionFlags selectionMode READ selectionMode WRITE setSelectionMode NOTIFY selectionModeChanged) - Q_PROPERTY(Q3DTheme* theme READ theme WRITE setTheme NOTIFY themeChanged) Q_PROPERTY(QtDataVisualization::QDataVis::ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality NOTIFY shadowQualityChanged) Q_PROPERTY(Q3DScene* scene READ scene) @@ -47,9 +45,6 @@ public: void removeSeries(QSurface3DSeries *series); QList seriesList(); - void setTheme(Q3DTheme *theme); - Q3DTheme *theme() const; - void setShadowQuality(QDataVis::ShadowQuality quality); QDataVis::ShadowQuality shadowQuality() const; @@ -71,7 +66,6 @@ public: signals: void selectionModeChanged(QDataVis::SelectionFlags mode); - void themeChanged(Q3DTheme *theme); void shadowQualityChanged(QDataVis::ShadowQuality quality); protected: diff --git a/src/datavisualization/engine/q3dwindow.cpp b/src/datavisualization/engine/q3dwindow.cpp index 5285b585..6bf7da5e 100644 --- a/src/datavisualization/engine/q3dwindow.cpp +++ b/src/datavisualization/engine/q3dwindow.cpp @@ -92,6 +92,10 @@ Q3DWindow::Q3DWindow(Q3DWindowPrivate *d, QWindow *parent) if (splitversionstr[0].toFloat() < 1.2) qFatal("GLSL version must be 1.20 or higher. Try installing latest display drivers."); #endif + + QObject::connect(d_ptr->m_visualController, &Abstract3DController::activeThemeChanged, this, + &Q3DWindow::activeThemeChanged); + d_ptr->renderLater(); } @@ -148,6 +152,62 @@ QAbstract3DInputHandler *Q3DWindow::activeInputHandler() return d_ptr->m_visualController->activeInputHandler(); } +/*! + * Adds the given \a theme to the graph. The themes added via addTheme are not taken in to use + * directly. Only the ownership of the a\ theme is given to the graph. + * The \a theme must not be null or already added to another graph. + * + * \sa releaseTheme(), setActiveTheme() + */ +void Q3DWindow::addTheme(Q3DTheme *theme) +{ + d_ptr->m_visualController->addTheme(theme); +} + +/*! + * Releases the ownership of the \a theme back to the caller, if it was added to this graph. + * If the released \a theme is in use, a new default theme will be created and set active. + * + * If the default theme is released and added back later, it behaves as any other theme would. + * + * \sa addTheme(), setActiveTheme() + */ +void Q3DWindow::releaseTheme(Q3DTheme *theme) +{ + d_ptr->m_visualController->releaseTheme(theme); +} + +/*! + * \property Q3DWindow::activeTheme + * + * The active \a theme to be used for the graph. Implicitly calls addTheme() to transfer ownership + * of the \a theme to this graph. + * If the \a theme is null, a temporary default theme is created. This temporary theme is destroyed + * if any theme is explicitly set later. + * Properties of the \a theme can be modified even after setting it, and the modifications take + * effect immediately. + */ +void Q3DWindow::setActiveTheme(Q3DTheme *theme) +{ + d_ptr->m_visualController->setActiveTheme(theme); +} + + +Q3DTheme *Q3DWindow::activeTheme() const +{ + return d_ptr->m_visualController->activeTheme(); +} + +/*! + * \return list of all added themes. + * + * \sa addTheme() + */ +QList Q3DWindow::themes() const +{ + return d_ptr->m_visualController->themes(); +} + /*! * \internal */ diff --git a/src/datavisualization/engine/q3dwindow.h b/src/datavisualization/engine/q3dwindow.h index cdffc6b9..18542868 100644 --- a/src/datavisualization/engine/q3dwindow.h +++ b/src/datavisualization/engine/q3dwindow.h @@ -32,10 +32,12 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE class Q3DWindowPrivate; class Abstract3DController; class QAbstract3DInputHandler; +class Q3DTheme; class QT_DATAVISUALIZATION_EXPORT Q3DWindow : public QWindow, protected QOpenGLFunctions { Q_OBJECT + Q_PROPERTY(Q3DTheme* activeTheme READ activeTheme WRITE setActiveTheme NOTIFY activeThemeChanged) protected: explicit Q3DWindow(Q3DWindowPrivate *d, QWindow *parent = 0); @@ -47,11 +49,20 @@ public: void setActiveInputHandler(QAbstract3DInputHandler *inputHandler); QAbstract3DInputHandler *activeInputHandler(); + void addTheme(Q3DTheme *theme); + void releaseTheme(Q3DTheme *theme); + void setActiveTheme(Q3DTheme *theme); + Q3DTheme *activeTheme() const; + QList themes() const; + protected: bool event(QEvent *event); void resizeEvent(QResizeEvent *event); void exposeEvent(QExposeEvent *event); +signals: + void activeThemeChanged(Q3DTheme *theme); + private: QScopedPointer d_ptr; diff --git a/src/datavisualization/theme/q3dtheme.cpp b/src/datavisualization/theme/q3dtheme.cpp index 3d85b9fa..11773940 100644 --- a/src/datavisualization/theme/q3dtheme.cpp +++ b/src/datavisualization/theme/q3dtheme.cpp @@ -377,6 +377,10 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * \qmlproperty Theme3D.Theme Theme3D::type * * The type of the theme. If no type is set, the type is \c Theme3D.ThemeUserDefined. + * \note Changing the type to one of the predefined types doesn't reset the properties + * that have been explicitly set since the last render cycle. This is done to allow + * customization of predefined types also from QML. It is not recommended + * changing the type of an existing Theme3D item via this property. */ /*! @@ -862,8 +866,11 @@ Q3DTheme::ColorStyle Q3DTheme::colorStyle() const /*! * \property Q3DTheme::type * - * The type of the theme. Type is automatically set when constructing a theme. User should not - * need to use this when using C++ API. + * The type of the theme. Type is automatically set when constructing a theme. + * \note Changing the type to one of the predefined types doesn't reset the properties + * that have been explicitly set since the last render cycle. This is done to allow + * customization of predefined types also from QML. It is not recommended + * changing the type of an existing Q3DTheme object via this property. */ void Q3DTheme::setType(Theme themeType) { @@ -907,6 +914,7 @@ Q3DThemePrivate::Q3DThemePrivate(Q3DTheme *q, Q3DTheme::Theme theme_id) m_backgoundEnabled(true), m_gridEnabled(true), m_labelBackground(true), + m_isDefaultTheme(false), q_ptr(q) { m_baseColors.append(QColor(Qt::black)); diff --git a/src/datavisualization/theme/q3dtheme_p.h b/src/datavisualization/theme/q3dtheme_p.h index c9f59d99..24994854 100644 --- a/src/datavisualization/theme/q3dtheme_p.h +++ b/src/datavisualization/theme/q3dtheme_p.h @@ -97,6 +97,9 @@ public: bool sync(Q3DThemePrivate &other); + inline bool isDefaultTheme() { return m_isDefaultTheme; } + inline void setDefaultTheme(bool isDefault) { m_isDefaultTheme = isDefault; } + signals: void needRender(); @@ -126,6 +129,7 @@ public: bool m_backgoundEnabled; bool m_gridEnabled; bool m_labelBackground; + bool m_isDefaultTheme; protected: Q3DTheme *q_ptr; diff --git a/src/datavisualization/theme/thememanager.cpp b/src/datavisualization/theme/thememanager.cpp index cc5362ef..82e7bb53 100644 --- a/src/datavisualization/theme/thememanager.cpp +++ b/src/datavisualization/theme/thememanager.cpp @@ -25,7 +25,7 @@ const float defaultBuiltInColorLevel = 0.7f; // for built-in gradient themes const float defaultColorLevel = 0.5f; // for built-in uniform themes ThemeManager::ThemeManager(Abstract3DController *controller) - : m_theme(0), + : m_activeTheme(0), m_controller(controller) { } @@ -34,60 +34,105 @@ ThemeManager::~ThemeManager() { } -void ThemeManager::setTheme(Q3DTheme *theme) +void ThemeManager::addTheme(Q3DTheme *theme) { - if (!theme) - return; - - if (m_theme.data() != theme) { - // Disconnect old theme signal connections - if (m_theme) { - disconnect(m_theme->d_ptr.data(), 0, m_controller, 0); - disconnect(m_theme.data(), 0, m_controller, 0); - disconnect(m_theme.data(), 0, this, 0); - } + Q_ASSERT(theme); + ThemeManager *owner = qobject_cast(theme->parent()); + if (owner != this) { + Q_ASSERT_X(!owner, "addTheme", "Theme already attached to a graph."); + theme->setParent(this); + } + if (!m_themes.contains(theme)) + m_themes.append(theme); +} - m_theme.reset(theme); +void ThemeManager::releaseTheme(Q3DTheme *theme) +{ + if (theme && m_themes.contains(theme)) { + // Clear the default status from released default theme + if (theme->d_ptr->isDefaultTheme()) + theme->d_ptr->setDefaultTheme(false); - Q3DTheme::Theme type = m_theme->type(); + // If the axis is in use, replace it with a temporary one + if (theme == m_activeTheme) + setActiveTheme(0); - if (type != Q3DTheme::ThemeUserDefined) { - useTheme(type); - // Reset all bits to dirty for sync - m_theme->d_ptr->resetDirtyBits(); - } + m_themes.removeAll(theme); + theme->setParent(0); + } +} + +void ThemeManager::setActiveTheme(Q3DTheme *theme) +{ + // Setting null theme indicates using default theme + if (!theme) { + theme = new Q3DTheme; + theme->d_ptr->setDefaultTheme(true); + } - // Connect signals from new one - connectThemeSignals(); + // If the old theme is default theme, delete it + Q3DTheme *oldTheme = m_activeTheme; + if (oldTheme) { + if (oldTheme->d_ptr->isDefaultTheme()) { + m_themes.removeAll(oldTheme); + delete oldTheme; + oldTheme = 0; + } else { + // Disconnect the old theme from use + disconnect(m_activeTheme->d_ptr.data(), 0, m_controller, 0); + disconnect(m_activeTheme, 0, m_controller, 0); + disconnect(m_activeTheme, 0, this, 0); + } } + + // Assume ownership + addTheme(theme); + + m_activeTheme = theme; + + Q3DTheme::Theme type = m_activeTheme->type(); + + if (type != Q3DTheme::ThemeUserDefined) + useTheme(type); + + // Reset all bits to dirty for sync + m_activeTheme->d_ptr->resetDirtyBits(); + + // Connect signals from new one + connectThemeSignals(); +} + +Q3DTheme *ThemeManager::activeTheme() const +{ + return m_activeTheme; } -Q3DTheme *ThemeManager::theme() const +QList ThemeManager::themes() const { - return m_theme.data(); + return m_themes; } void ThemeManager::connectThemeSignals() { - connect(m_theme.data(), &Q3DTheme::colorStyleChanged, + connect(m_activeTheme, &Q3DTheme::colorStyleChanged, m_controller, &Abstract3DController::handleThemeColorStyleChanged); - connect(m_theme.data(), &Q3DTheme::baseColorsChanged, + connect(m_activeTheme, &Q3DTheme::baseColorsChanged, m_controller, &Abstract3DController::handleThemeBaseColorsChanged); - connect(m_theme.data(), &Q3DTheme::singleHighlightColorChanged, + connect(m_activeTheme, &Q3DTheme::singleHighlightColorChanged, m_controller, &Abstract3DController::handleThemeSingleHighlightColorChanged); - connect(m_theme.data(), &Q3DTheme::multiHighlightColorChanged, + connect(m_activeTheme, &Q3DTheme::multiHighlightColorChanged, m_controller, &Abstract3DController::handleThemeMultiHighlightColorChanged); - connect(m_theme.data(), &Q3DTheme::baseGradientsChanged, + connect(m_activeTheme, &Q3DTheme::baseGradientsChanged, m_controller, &Abstract3DController::handleThemeBaseGradientsChanged); - connect(m_theme.data(), &Q3DTheme::singleHighlightGradientChanged, + connect(m_activeTheme, &Q3DTheme::singleHighlightGradientChanged, m_controller, &Abstract3DController::handleThemeSingleHighlightGradientChanged); - connect(m_theme.data(), &Q3DTheme::multiHighlightGradientChanged, + connect(m_activeTheme, &Q3DTheme::multiHighlightGradientChanged, m_controller, &Abstract3DController::handleThemeMultiHighlightGradientChanged); - connect(m_theme->d_ptr.data(), &Q3DThemePrivate::needRender, + connect(m_activeTheme->d_ptr.data(), &Q3DThemePrivate::needRender, m_controller, &Abstract3DController::needRender); - connect(m_theme.data(), &Q3DTheme::typeChanged, this, &ThemeManager::useTheme); + connect(m_activeTheme, &Q3DTheme::typeChanged, this, &ThemeManager::useTheme); } void ThemeManager::useTheme(Q3DTheme::Theme type) @@ -425,128 +470,128 @@ QLinearGradient ThemeManager::createGradient(const QColor &color, float colorLev void ThemeManager::setBaseColors(const QList &colors) { - if (!m_theme->d_ptr->m_dirtyBits.baseColorDirty) - m_theme->setBaseColors(colors); + if (!m_activeTheme->d_ptr->m_dirtyBits.baseColorDirty) + m_activeTheme->setBaseColors(colors); } void ThemeManager::setBackgroundColor(const QColor &color) { - if (!m_theme->d_ptr->m_dirtyBits.backgroundColorDirty) - m_theme->setBackgroundColor(color); + if (!m_activeTheme->d_ptr->m_dirtyBits.backgroundColorDirty) + m_activeTheme->setBackgroundColor(color); } void ThemeManager::setWindowColor(const QColor &color) { - if (!m_theme->d_ptr->m_dirtyBits.windowColorDirty) - m_theme->setWindowColor(color); + if (!m_activeTheme->d_ptr->m_dirtyBits.windowColorDirty) + m_activeTheme->setWindowColor(color); } void ThemeManager::setTextColor(const QColor &color) { - if (!m_theme->d_ptr->m_dirtyBits.labelTextColorDirty) - m_theme->setLabelTextColor(color); + if (!m_activeTheme->d_ptr->m_dirtyBits.labelTextColorDirty) + m_activeTheme->setLabelTextColor(color); } void ThemeManager::setTextBackgroundColor(const QColor &color) { - if (!m_theme->d_ptr->m_dirtyBits.labelBackgroundColorDirty) - m_theme->setLabelBackgroundColor(color); + if (!m_activeTheme->d_ptr->m_dirtyBits.labelBackgroundColorDirty) + m_activeTheme->setLabelBackgroundColor(color); } void ThemeManager::setGridLineColor(const QColor &color) { - if (!m_theme->d_ptr->m_dirtyBits.gridLineColorDirty) - m_theme->setGridLineColor(color); + if (!m_activeTheme->d_ptr->m_dirtyBits.gridLineColorDirty) + m_activeTheme->setGridLineColor(color); } void ThemeManager::setSingleHighlightColor(const QColor &color) { - if (!m_theme->d_ptr->m_dirtyBits.singleHighlightColorDirty) - m_theme->setSingleHighlightColor(color); + if (!m_activeTheme->d_ptr->m_dirtyBits.singleHighlightColorDirty) + m_activeTheme->setSingleHighlightColor(color); } void ThemeManager::setMultiHighlightColor(const QColor &color) { - if (!m_theme->d_ptr->m_dirtyBits.multiHighlightColorDirty) - m_theme->setMultiHighlightColor(color); + if (!m_activeTheme->d_ptr->m_dirtyBits.multiHighlightColorDirty) + m_activeTheme->setMultiHighlightColor(color); } void ThemeManager::setLightColor(const QColor &color) { - if (!m_theme->d_ptr->m_dirtyBits.lightColorDirty) - m_theme->setLightColor(color); + if (!m_activeTheme->d_ptr->m_dirtyBits.lightColorDirty) + m_activeTheme->setLightColor(color); } void ThemeManager::setBaseGradients(const QList &gradients) { - if (!m_theme->d_ptr->m_dirtyBits.baseGradientDirty) - m_theme->setBaseGradients(gradients); + if (!m_activeTheme->d_ptr->m_dirtyBits.baseGradientDirty) + m_activeTheme->setBaseGradients(gradients); } void ThemeManager::setSingleHighlightGradient(const QLinearGradient &gradient) { - if (!m_theme->d_ptr->m_dirtyBits.singleHighlightGradientDirty) - m_theme->setSingleHighlightGradient(gradient); + if (!m_activeTheme->d_ptr->m_dirtyBits.singleHighlightGradientDirty) + m_activeTheme->setSingleHighlightGradient(gradient); } void ThemeManager::setMultiHighlightGradient(const QLinearGradient &gradient) { - if (!m_theme->d_ptr->m_dirtyBits.multiHighlightGradientDirty) - m_theme->setMultiHighlightGradient(gradient); + if (!m_activeTheme->d_ptr->m_dirtyBits.multiHighlightGradientDirty) + m_activeTheme->setMultiHighlightGradient(gradient); } void ThemeManager::setLightStrength(float strength) { - if (!m_theme->d_ptr->m_dirtyBits.lightStrengthDirty) - m_theme->setLightStrength(strength); + if (!m_activeTheme->d_ptr->m_dirtyBits.lightStrengthDirty) + m_activeTheme->setLightStrength(strength); } void ThemeManager::setAmbientLightStrength(float strength) { - if (!m_theme->d_ptr->m_dirtyBits.ambientLightStrengthDirty) - m_theme->setAmbientLightStrength(strength); + if (!m_activeTheme->d_ptr->m_dirtyBits.ambientLightStrengthDirty) + m_activeTheme->setAmbientLightStrength(strength); } void ThemeManager::setHighlightLightStrength(float strength) { - if (!m_theme->d_ptr->m_dirtyBits.highlightLightStrengthDirty) - m_theme->setHighlightLightStrength(strength); + if (!m_activeTheme->d_ptr->m_dirtyBits.highlightLightStrengthDirty) + m_activeTheme->setHighlightLightStrength(strength); } void ThemeManager::setLabelBorderEnabled(bool enabled) { - if (!m_theme->d_ptr->m_dirtyBits.labelBorderEnabledDirty) - m_theme->setLabelBorderEnabled(enabled); + if (!m_activeTheme->d_ptr->m_dirtyBits.labelBorderEnabledDirty) + m_activeTheme->setLabelBorderEnabled(enabled); } void ThemeManager::setFont(const QFont &font) { - if (!m_theme->d_ptr->m_dirtyBits.fontDirty) - m_theme->setFont(font); + if (!m_activeTheme->d_ptr->m_dirtyBits.fontDirty) + m_activeTheme->setFont(font); } void ThemeManager::setBackgroundEnabled(bool enabled) { - if (!m_theme->d_ptr->m_dirtyBits.backgroundEnabledDirty) - m_theme->setBackgroundEnabled(enabled); + if (!m_activeTheme->d_ptr->m_dirtyBits.backgroundEnabledDirty) + m_activeTheme->setBackgroundEnabled(enabled); } void ThemeManager::setGridEnabled(bool enabled) { - if (!m_theme->d_ptr->m_dirtyBits.gridEnabledDirty) - m_theme->setGridEnabled(enabled); + if (!m_activeTheme->d_ptr->m_dirtyBits.gridEnabledDirty) + m_activeTheme->setGridEnabled(enabled); } void ThemeManager::setLabelBackgroundEnabled(bool enabled) { - if (!m_theme->d_ptr->m_dirtyBits.labelBackgroundEnabledDirty) - m_theme->setLabelBackgroundEnabled(enabled); + if (!m_activeTheme->d_ptr->m_dirtyBits.labelBackgroundEnabledDirty) + m_activeTheme->setLabelBackgroundEnabled(enabled); } void ThemeManager::setColorStyle(Q3DTheme::ColorStyle style) { - if (!m_theme->d_ptr->m_dirtyBits.colorStyleDirty) - m_theme->setColorStyle(style); + if (!m_activeTheme->d_ptr->m_dirtyBits.colorStyleDirty) + m_activeTheme->setColorStyle(style); } QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/theme/thememanager_p.h b/src/datavisualization/theme/thememanager_p.h index c6e6a107..254bb7bf 100644 --- a/src/datavisualization/theme/thememanager_p.h +++ b/src/datavisualization/theme/thememanager_p.h @@ -42,8 +42,11 @@ public: ThemeManager(Abstract3DController *controller); ~ThemeManager(); - void setTheme(Q3DTheme *theme); - Q3DTheme *theme() const; + void addTheme(Q3DTheme *theme); + void releaseTheme(Q3DTheme *theme); + void setActiveTheme(Q3DTheme *theme); + Q3DTheme *activeTheme() const; + QList themes() const; protected: void connectThemeSignals(); @@ -72,7 +75,8 @@ protected: void setColorStyle(Q3DTheme::ColorStyle style); private: - QScopedPointer m_theme; + Q3DTheme *m_activeTheme; + QList m_themes; // List of all added themes Abstract3DController *m_controller; }; -- cgit v1.2.3 From 8566d712a87d9e3a78be15b6bd3498c2cf8afe57 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 7 Jan 2014 10:46:26 +0200 Subject: Fix setting theme type Now reset the theme properties immediately to new theme type, instead of waiting for the theme activation. Also make changing theme type later work consistently. Task-number: QTRD-2750 Change-Id: I970d69587623119df33ad2a825fbc12367804eae Reviewed-by: Mika Salmela --- .../doc/snippets/doc_src_q3dtheme.cpp | 2 +- .../engine/abstract3dcontroller.cpp | 13 + .../engine/abstract3dcontroller_p.h | 1 + src/datavisualization/theme/q3dtheme.cpp | 31 +- src/datavisualization/theme/q3dtheme_p.h | 15 +- src/datavisualization/theme/thememanager.cpp | 510 ++++++++++----------- src/datavisualization/theme/thememanager_p.h | 47 +- 7 files changed, 321 insertions(+), 298 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp b/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp index aa0ee859..ba3577cd 100644 --- a/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp +++ b/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp @@ -57,7 +57,7 @@ int main(int argc, char **argv) //! [3] Q3DBars *graph = new Q3DBars(); - graph->setActiveTheme(new Q3DTheme(Q3DTheme::ThemePrimaryColors)); + graph->activeTheme()->setType(Q3DTheme::ThemePrimaryColors); graph->activeTheme()->setBaseColor(Qt::red); graph->activeTheme()->setSingleHighlightColor(Qt::yellow); //! [3] diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 500ce9dc..fb732139 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -446,6 +446,19 @@ void Abstract3DController::handleThemeMultiHighlightGradientChanged(const QLinea markSeriesVisualsDirty(); } +void Abstract3DController::handleThemeTypeChanged(Q3DTheme::Theme theme) +{ + Q_UNUSED(theme) + + // Changing theme type is logically equivalent of changing the entire theme + // object, so reset all attached series to the new theme. + + Q3DTheme *activeTheme = m_themeManager->activeTheme(); + for (int i = 0; i < m_seriesList.size(); i++) + m_seriesList.at(i)->d_ptr->resetToTheme(*activeTheme, i, true); + markSeriesVisualsDirty(); +} + void Abstract3DController::setAxisX(Q3DAbstractAxis *axis) { setAxisHelper(Q3DAbstractAxis::AxisOrientationX, axis, &m_axisX); diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index a862a961..66c61a53 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -249,6 +249,7 @@ public slots: void handleThemeSingleHighlightGradientChanged(const QLinearGradient &gradient); void handleThemeMultiHighlightColorChanged(const QColor &color); void handleThemeMultiHighlightGradientChanged(const QLinearGradient &gradient); + void handleThemeTypeChanged(Q3DTheme::Theme theme); // Renderer callback handlers void handleRequestShadowQuality(QDataVis::ShadowQuality quality); diff --git a/src/datavisualization/theme/q3dtheme.cpp b/src/datavisualization/theme/q3dtheme.cpp index 11773940..bf225b83 100644 --- a/src/datavisualization/theme/q3dtheme.cpp +++ b/src/datavisualization/theme/q3dtheme.cpp @@ -17,6 +17,7 @@ ****************************************************************************/ #include "q3dtheme_p.h" +#include "thememanager_p.h" QT_DATAVISUALIZATION_BEGIN_NAMESPACE @@ -377,10 +378,9 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * \qmlproperty Theme3D.Theme Theme3D::type * * The type of the theme. If no type is set, the type is \c Theme3D.ThemeUserDefined. - * \note Changing the type to one of the predefined types doesn't reset the properties - * that have been explicitly set since the last render cycle. This is done to allow - * customization of predefined types also from QML. It is not recommended - * changing the type of an existing Theme3D item via this property. + * Changing the theme type after the item has been constructed will change all other properties + * of the theme to what the predefined theme specifies. Changing the theme type of the active theme + * of the graph will also reset all attached series to use the new theme. */ /*! @@ -389,7 +389,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE */ Q3DTheme::Q3DTheme(QObject *parent) : QObject(parent), - d_ptr(new Q3DThemePrivate(this, ThemeUserDefined)) + d_ptr(new Q3DThemePrivate(this)) { } @@ -400,8 +400,9 @@ Q3DTheme::Q3DTheme(QObject *parent) */ Q3DTheme::Q3DTheme(Theme themeType, QObject *parent) : QObject(parent), - d_ptr(new Q3DThemePrivate(this, themeType)) + d_ptr(new Q3DThemePrivate(this)) { + setType(themeType); } /*! @@ -412,7 +413,7 @@ Q3DTheme::Q3DTheme(Q3DThemePrivate *d, Theme themeType, QObject(parent), d_ptr(d) { - d_ptr->m_themeId = themeType; + setType(themeType); } /*! @@ -866,17 +867,18 @@ Q3DTheme::ColorStyle Q3DTheme::colorStyle() const /*! * \property Q3DTheme::type * - * The type of the theme. Type is automatically set when constructing a theme. - * \note Changing the type to one of the predefined types doesn't reset the properties - * that have been explicitly set since the last render cycle. This is done to allow - * customization of predefined types also from QML. It is not recommended - * changing the type of an existing Q3DTheme object via this property. + * The type of the theme. The type is automatically set when constructing a theme, + * but can also be changed later. Changing the theme type will change all other + * properties of the theme to what the predefined theme specifies. + * Changing the theme type of the active theme of the graph will also reset all + * attached series to use the new theme. */ void Q3DTheme::setType(Theme themeType) { d_ptr->m_dirtyBits.themeIdDirty = true; if (d_ptr->m_themeId != themeType) { d_ptr->m_themeId = themeType; + ThemeManager::setPredefinedPropertiesToTheme(this, themeType); emit typeChanged(themeType); } } @@ -888,9 +890,9 @@ Q3DTheme::Theme Q3DTheme::type() const // Q3DThemePrivate -Q3DThemePrivate::Q3DThemePrivate(Q3DTheme *q, Q3DTheme::Theme theme_id) +Q3DThemePrivate::Q3DThemePrivate(Q3DTheme *q) : QObject(0), - m_themeId(theme_id), + m_themeId(Q3DTheme::ThemeUserDefined), m_backgroundColor(Qt::black), m_windowColor(Qt::black), m_textColor(Qt::white), @@ -915,6 +917,7 @@ Q3DThemePrivate::Q3DThemePrivate(Q3DTheme *q, Q3DTheme::Theme theme_id) m_gridEnabled(true), m_labelBackground(true), m_isDefaultTheme(false), + m_forcePredefinedType(true), q_ptr(q) { m_baseColors.append(QColor(Qt::black)); diff --git a/src/datavisualization/theme/q3dtheme_p.h b/src/datavisualization/theme/q3dtheme_p.h index 24994854..078c2d7d 100644 --- a/src/datavisualization/theme/q3dtheme_p.h +++ b/src/datavisualization/theme/q3dtheme_p.h @@ -85,12 +85,11 @@ struct Q3DThemeDirtyBitField { } }; -class Q3DThemePrivate : public QObject +class QT_DATAVISUALIZATION_EXPORT Q3DThemePrivate : public QObject { Q_OBJECT public: - Q3DThemePrivate(Q3DTheme *q, - Q3DTheme::Theme theme_id = Q3DTheme::ThemeUserDefined); + Q3DThemePrivate(Q3DTheme *q); virtual ~Q3DThemePrivate(); void resetDirtyBits(); @@ -100,6 +99,15 @@ public: inline bool isDefaultTheme() { return m_isDefaultTheme; } inline void setDefaultTheme(bool isDefault) { m_isDefaultTheme = isDefault; } + // If m_forcePredefinedType is true, it means we should forcibly update all properties + // of the theme to those of the predefined theme, when setting the theme type. Otherwise + // we only change the properties that haven't been explicitly changed since last render cycle. + // Defaults to true, and is only ever set to false by DeclarativeTheme3D to enable using + // predefined themes as base for custom themes, since the order of initial property sets cannot + // be easily controlled in QML. + inline bool isForcePredefinedType() { return m_forcePredefinedType; } + inline void setForcePredefinedType(bool enable) { m_forcePredefinedType = enable; } + signals: void needRender(); @@ -130,6 +138,7 @@ public: bool m_gridEnabled; bool m_labelBackground; bool m_isDefaultTheme; + bool m_forcePredefinedType; protected: Q3DTheme *q_ptr; diff --git a/src/datavisualization/theme/thememanager.cpp b/src/datavisualization/theme/thememanager.cpp index 82e7bb53..d93e9b20 100644 --- a/src/datavisualization/theme/thememanager.cpp +++ b/src/datavisualization/theme/thememanager.cpp @@ -53,7 +53,7 @@ void ThemeManager::releaseTheme(Q3DTheme *theme) if (theme->d_ptr->isDefaultTheme()) theme->d_ptr->setDefaultTheme(false); - // If the axis is in use, replace it with a temporary one + // If the theme is in use, replace it with a temporary one if (theme == m_activeTheme) setActiveTheme(0); @@ -81,7 +81,6 @@ void ThemeManager::setActiveTheme(Q3DTheme *theme) // Disconnect the old theme from use disconnect(m_activeTheme->d_ptr.data(), 0, m_controller, 0); disconnect(m_activeTheme, 0, m_controller, 0); - disconnect(m_activeTheme, 0, this, 0); } } @@ -90,11 +89,6 @@ void ThemeManager::setActiveTheme(Q3DTheme *theme) m_activeTheme = theme; - Q3DTheme::Theme type = m_activeTheme->type(); - - if (type != Q3DTheme::ThemeUserDefined) - useTheme(type); - // Reset all bits to dirty for sync m_activeTheme->d_ptr->resetDirtyBits(); @@ -128,325 +122,327 @@ void ThemeManager::connectThemeSignals() m_controller, &Abstract3DController::handleThemeSingleHighlightGradientChanged); connect(m_activeTheme, &Q3DTheme::multiHighlightGradientChanged, m_controller, &Abstract3DController::handleThemeMultiHighlightGradientChanged); + connect(m_activeTheme, &Q3DTheme::typeChanged, + m_controller, &Abstract3DController::handleThemeTypeChanged); connect(m_activeTheme->d_ptr.data(), &Q3DThemePrivate::needRender, m_controller, &Abstract3DController::needRender); - - connect(m_activeTheme, &Q3DTheme::typeChanged, this, &ThemeManager::useTheme); } -void ThemeManager::useTheme(Q3DTheme::Theme type) +void ThemeManager::setPredefinedPropertiesToTheme(Q3DTheme *theme, Q3DTheme::Theme type) { + QList baseColors; + QList baseGradients; switch (type) { case Q3DTheme::ThemeQt: { - QList baseColors; baseColors.append(QColor(QRgb(0x80c342))); baseColors.append(QColor(QRgb(0x469835))); baseColors.append(QColor(QRgb(0x006325))); baseColors.append(QColor(QRgb(0x5caa15))); baseColors.append(QColor(QRgb(0x328930))); - QList baseGradients; baseGradients.append(createGradient(baseColors.at(0), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(1), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(2), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(3), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(4), defaultColorLevel)); - setBackgroundEnabled(true); - setGridEnabled(true); - setFont(QFont(QStringLiteral("Arial"))); - setLabelBackgroundEnabled(true); - setLightColor(Qt::white); - setBaseColors(baseColors); - setBackgroundColor(QColor(QRgb(0xffffff))); - setWindowColor(QColor(QRgb(0xffffff))); - setTextColor(QColor(QRgb(0x35322f))); - setTextBackgroundColor(QColor(0xff, 0xff, 0xff, 0x99)); - setGridLineColor(QColor(QRgb(0xd7d6d5))); - setSingleHighlightColor(QColor(QRgb(0x14aaff))); - setMultiHighlightColor(QColor(QRgb(0x6400aa))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(true); - setColorStyle(Q3DTheme::ColorStyleUniform); - setBaseGradients(baseGradients); - setSingleHighlightGradient(createGradient(QColor(QRgb(0x14aaff)), defaultColorLevel)); - setMultiHighlightGradient(createGradient(QColor(QRgb(0x6400aa)), defaultColorLevel)); + setBackgroundEnabled(theme, true); + setGridEnabled(theme, true); + setFont(theme, QFont(QStringLiteral("Arial"))); + setLabelBackgroundEnabled(theme, true); + setLightColor(theme, Qt::white); + setBaseColors(theme, baseColors); + setBackgroundColor(theme, QColor(QRgb(0xffffff))); + setWindowColor(theme, QColor(QRgb(0xffffff))); + setTextColor(theme, QColor(QRgb(0x35322f))); + setTextBackgroundColor(theme, QColor(0xff, 0xff, 0xff, 0x99)); + setGridLineColor(theme, QColor(QRgb(0xd7d6d5))); + setSingleHighlightColor(theme, QColor(QRgb(0x14aaff))); + setMultiHighlightColor(theme, QColor(QRgb(0x6400aa))); + setLightStrength(theme, 5.0f); + setAmbientLightStrength(theme, 0.5f); + setHighlightLightStrength(theme, 5.0f); + setLabelBorderEnabled(theme, true); + setColorStyle(theme, Q3DTheme::ColorStyleUniform); + setBaseGradients(theme, baseGradients); + setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0x14aaff)), + defaultColorLevel)); + setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0x6400aa)), + defaultColorLevel)); break; } case Q3DTheme::ThemePrimaryColors: { - QList baseColors; baseColors.append(QColor(QRgb(0xffe400))); baseColors.append(QColor(QRgb(0xfaa106))); baseColors.append(QColor(QRgb(0xf45f0d))); baseColors.append(QColor(QRgb(0xfcba04))); baseColors.append(QColor(QRgb(0xf7800a))); - QList baseGradients; baseGradients.append(createGradient(baseColors.at(0), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(1), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(2), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(3), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(4), defaultColorLevel)); - setBackgroundEnabled(true); - setGridEnabled(true); - setFont(QFont(QStringLiteral("Arial"))); - setLabelBackgroundEnabled(true); - setLightColor(Qt::white); - setBaseColors(baseColors); - setBackgroundColor(QColor(QRgb(0xffffff))); - setWindowColor(QColor(QRgb(0xffffff))); - setTextColor(QColor(QRgb(0x000000))); - setTextBackgroundColor(QColor(0xff, 0xff, 0xff, 0x99)); - setGridLineColor(QColor(QRgb(0xd7d6d5))); - setSingleHighlightColor(QColor(QRgb(0x27beee))); - setMultiHighlightColor(QColor(QRgb(0xee1414))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(false); - setColorStyle(Q3DTheme::ColorStyleUniform); - setBaseGradients(baseGradients); - setSingleHighlightGradient(createGradient(QColor(QRgb(0x27beee)), defaultColorLevel)); - setMultiHighlightGradient(createGradient(QColor(QRgb(0xee1414)), defaultColorLevel)); + setBackgroundEnabled(theme, true); + setGridEnabled(theme, true); + setFont(theme, QFont(QStringLiteral("Arial"))); + setLabelBackgroundEnabled(theme, true); + setLightColor(theme, Qt::white); + setBaseColors(theme, baseColors); + setBackgroundColor(theme, QColor(QRgb(0xffffff))); + setWindowColor(theme, QColor(QRgb(0xffffff))); + setTextColor(theme, QColor(QRgb(0x000000))); + setTextBackgroundColor(theme, QColor(0xff, 0xff, 0xff, 0x99)); + setGridLineColor(theme, QColor(QRgb(0xd7d6d5))); + setSingleHighlightColor(theme, QColor(QRgb(0x27beee))); + setMultiHighlightColor(theme, QColor(QRgb(0xee1414))); + setLightStrength(theme, 5.0f); + setAmbientLightStrength(theme, 0.5f); + setHighlightLightStrength(theme, 5.0f); + setLabelBorderEnabled(theme, false); + setColorStyle(theme, Q3DTheme::ColorStyleUniform); + setBaseGradients(theme, baseGradients); + setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0x27beee)), + defaultColorLevel)); + setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0xee1414)), + defaultColorLevel)); break; } case Q3DTheme::ThemeDigia: { - QList baseColors; baseColors.append(QColor(QRgb(0xeaeaea))); baseColors.append(QColor(QRgb(0xa0a0a0))); baseColors.append(QColor(QRgb(0x626262))); baseColors.append(QColor(QRgb(0xbebebe))); baseColors.append(QColor(QRgb(0x818181))); - QList baseGradients; baseGradients.append(createGradient(baseColors.at(0), defaultBuiltInColorLevel)); baseGradients.append(createGradient(baseColors.at(1), defaultBuiltInColorLevel)); baseGradients.append(createGradient(baseColors.at(2), defaultBuiltInColorLevel)); baseGradients.append(createGradient(baseColors.at(3), defaultBuiltInColorLevel)); baseGradients.append(createGradient(baseColors.at(4), defaultBuiltInColorLevel)); - setBackgroundEnabled(true); - setGridEnabled(true); - setFont(QFont(QStringLiteral("Arial"))); - setLabelBackgroundEnabled(true); - setLightColor(Qt::white); - setBaseColors(baseColors); - setBackgroundColor(QColor(QRgb(0xffffff))); - setWindowColor(QColor(QRgb(0xffffff))); - setTextColor(QColor(QRgb(0x000000))); - setTextBackgroundColor(QColor(0xff, 0xff, 0xff, 0x80)); - setGridLineColor(QColor(QRgb(0xd7d6d5))); - setSingleHighlightColor(QColor(QRgb(0xfa0000))); - setMultiHighlightColor(QColor(QRgb(0x333333))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(false); - setColorStyle(Q3DTheme::ColorStyleObjectGradient); - setBaseGradients(baseGradients); - setSingleHighlightGradient(createGradient(QColor(QRgb(0xfa0000)), defaultBuiltInColorLevel)); - setMultiHighlightGradient(createGradient(QColor(QRgb(0x333333)), defaultBuiltInColorLevel)); + setBackgroundEnabled(theme, true); + setGridEnabled(theme, true); + setFont(theme, QFont(QStringLiteral("Arial"))); + setLabelBackgroundEnabled(theme, true); + setLightColor(theme, Qt::white); + setBaseColors(theme, baseColors); + setBackgroundColor(theme, QColor(QRgb(0xffffff))); + setWindowColor(theme, QColor(QRgb(0xffffff))); + setTextColor(theme, QColor(QRgb(0x000000))); + setTextBackgroundColor(theme, QColor(0xff, 0xff, 0xff, 0x80)); + setGridLineColor(theme, QColor(QRgb(0xd7d6d5))); + setSingleHighlightColor(theme, QColor(QRgb(0xfa0000))); + setMultiHighlightColor(theme, QColor(QRgb(0x333333))); + setLightStrength(theme, 5.0f); + setAmbientLightStrength(theme, 0.5f); + setHighlightLightStrength(theme, 5.0f); + setLabelBorderEnabled(theme, false); + setColorStyle(theme, Q3DTheme::ColorStyleObjectGradient); + setBaseGradients(theme, baseGradients); + setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0xfa0000)), + defaultBuiltInColorLevel)); + setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0x333333)), + defaultBuiltInColorLevel)); break; } case Q3DTheme::ThemeStoneMoss: { - QList baseColors; baseColors.append(QColor(QRgb(0xbeb32b))); baseColors.append(QColor(QRgb(0x928327))); baseColors.append(QColor(QRgb(0x665423))); baseColors.append(QColor(QRgb(0xa69929))); baseColors.append(QColor(QRgb(0x7c6c25))); - QList baseGradients; baseGradients.append(createGradient(baseColors.at(0), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(1), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(2), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(3), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(4), defaultColorLevel)); - setBackgroundEnabled(true); - setGridEnabled(true); - setFont(QFont(QStringLiteral("Arial"))); - setLabelBackgroundEnabled(true); - setLightColor(Qt::white); - setBaseColors(baseColors); - setBackgroundColor(QColor(QRgb(0x4d4d4f))); - setWindowColor(QColor(QRgb(0x4d4d4f))); - setTextColor(QColor(QRgb(0xffffff))); - setTextBackgroundColor(QColor(0x4d, 0x4d, 0x4f, 0xcd)); - setGridLineColor(QColor(QRgb(0x3e3e40))); - setSingleHighlightColor(QColor(QRgb(0xfbf6d6))); - setMultiHighlightColor(QColor(QRgb(0x442f20))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(true); - setColorStyle(Q3DTheme::ColorStyleUniform); - setBaseGradients(baseGradients); - setSingleHighlightGradient(createGradient(QColor(QRgb(0xfbf6d6)), defaultColorLevel)); - setMultiHighlightGradient(createGradient(QColor(QRgb(0x442f20)), defaultColorLevel)); + setBackgroundEnabled(theme, true); + setGridEnabled(theme, true); + setFont(theme, QFont(QStringLiteral("Arial"))); + setLabelBackgroundEnabled(theme, true); + setLightColor(theme, Qt::white); + setBaseColors(theme, baseColors); + setBackgroundColor(theme, QColor(QRgb(0x4d4d4f))); + setWindowColor(theme, QColor(QRgb(0x4d4d4f))); + setTextColor(theme, QColor(QRgb(0xffffff))); + setTextBackgroundColor(theme, QColor(0x4d, 0x4d, 0x4f, 0xcd)); + setGridLineColor(theme, QColor(QRgb(0x3e3e40))); + setSingleHighlightColor(theme, QColor(QRgb(0xfbf6d6))); + setMultiHighlightColor(theme, QColor(QRgb(0x442f20))); + setLightStrength(theme, 5.0f); + setAmbientLightStrength(theme, 0.5f); + setHighlightLightStrength(theme, 5.0f); + setLabelBorderEnabled(theme, true); + setColorStyle(theme, Q3DTheme::ColorStyleUniform); + setBaseGradients(theme, baseGradients); + setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0xfbf6d6)), + defaultColorLevel)); + setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0x442f20)), + defaultColorLevel)); break; } case Q3DTheme::ThemeArmyBlue: { - QList baseColors; baseColors.append(QColor(QRgb(0x495f76))); baseColors.append(QColor(QRgb(0x81909f))); baseColors.append(QColor(QRgb(0xbec5cd))); baseColors.append(QColor(QRgb(0x687a8d))); baseColors.append(QColor(QRgb(0xa3aeb9))); - QList baseGradients; baseGradients.append(createGradient(baseColors.at(0), defaultBuiltInColorLevel)); baseGradients.append(createGradient(baseColors.at(1), defaultBuiltInColorLevel)); baseGradients.append(createGradient(baseColors.at(2), defaultBuiltInColorLevel)); baseGradients.append(createGradient(baseColors.at(3), defaultBuiltInColorLevel)); baseGradients.append(createGradient(baseColors.at(4), defaultBuiltInColorLevel)); - setBackgroundEnabled(true); - setGridEnabled(true); - setFont(QFont(QStringLiteral("Arial"))); - setLabelBackgroundEnabled(true); - setLightColor(Qt::white); - setBaseColors(baseColors); - setBackgroundColor(QColor(QRgb(0xd5d6d7))); - setWindowColor(QColor(QRgb(0xd5d6d7))); - setTextColor(QColor(QRgb(0x000000))); - setTextBackgroundColor(QColor(0xd5, 0xd6, 0xd7, 0xcd)); - setGridLineColor(QColor(QRgb(0xaeadac))); - setSingleHighlightColor(QColor(QRgb(0x2aa2f9))); - setMultiHighlightColor(QColor(QRgb(0x103753))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(false); - setColorStyle(Q3DTheme::ColorStyleObjectGradient); - setBaseGradients(baseGradients); - setSingleHighlightGradient(createGradient(QColor(QRgb(0x2aa2f9)), defaultBuiltInColorLevel)); - setMultiHighlightGradient(createGradient(QColor(QRgb(0x103753)), defaultBuiltInColorLevel)); + setBackgroundEnabled(theme, true); + setGridEnabled(theme, true); + setFont(theme, QFont(QStringLiteral("Arial"))); + setLabelBackgroundEnabled(theme, true); + setLightColor(theme, Qt::white); + setBaseColors(theme, baseColors); + setBackgroundColor(theme, QColor(QRgb(0xd5d6d7))); + setWindowColor(theme, QColor(QRgb(0xd5d6d7))); + setTextColor(theme, QColor(QRgb(0x000000))); + setTextBackgroundColor(theme, QColor(0xd5, 0xd6, 0xd7, 0xcd)); + setGridLineColor(theme, QColor(QRgb(0xaeadac))); + setSingleHighlightColor(theme, QColor(QRgb(0x2aa2f9))); + setMultiHighlightColor(theme, QColor(QRgb(0x103753))); + setLightStrength(theme, 5.0f); + setAmbientLightStrength(theme, 0.5f); + setHighlightLightStrength(theme, 5.0f); + setLabelBorderEnabled(theme, false); + setColorStyle(theme, Q3DTheme::ColorStyleObjectGradient); + setBaseGradients(theme, baseGradients); + setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0x2aa2f9)), + defaultBuiltInColorLevel)); + setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0x103753)), + defaultBuiltInColorLevel)); break; } case Q3DTheme::ThemeRetro: { - QList baseColors; baseColors.append(QColor(QRgb(0x533b23))); baseColors.append(QColor(QRgb(0x83715a))); baseColors.append(QColor(QRgb(0xb3a690))); baseColors.append(QColor(QRgb(0x6b563e))); baseColors.append(QColor(QRgb(0x9b8b75))); - QList baseGradients; baseGradients.append(createGradient(baseColors.at(0), defaultBuiltInColorLevel)); baseGradients.append(createGradient(baseColors.at(1), defaultBuiltInColorLevel)); baseGradients.append(createGradient(baseColors.at(2), defaultBuiltInColorLevel)); baseGradients.append(createGradient(baseColors.at(3), defaultBuiltInColorLevel)); baseGradients.append(createGradient(baseColors.at(4), defaultBuiltInColorLevel)); - setBackgroundEnabled(true); - setGridEnabled(true); - setFont(QFont(QStringLiteral("Arial"))); - setLabelBackgroundEnabled(true); - setLightColor(Qt::white); - setBaseColors(baseColors); - setBackgroundColor(QColor(QRgb(0xe9e2ce))); - setWindowColor(QColor(QRgb(0xe9e2ce))); - setTextColor(QColor(QRgb(0x000000))); - setTextBackgroundColor(QColor(0xe9, 0xe2, 0xce, 0xc0)); - setGridLineColor(QColor(QRgb(0xd0c0b0))); - setSingleHighlightColor(QColor(QRgb(0x8ea317))); - setMultiHighlightColor(QColor(QRgb(0xc25708))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(false); - setColorStyle(Q3DTheme::ColorStyleObjectGradient); - setBaseGradients(baseGradients); - setSingleHighlightGradient(createGradient(QColor(QRgb(0x8ea317)), defaultBuiltInColorLevel)); - setMultiHighlightGradient(createGradient(QColor(QRgb(0xc25708)), defaultBuiltInColorLevel)); + setBackgroundEnabled(theme, true); + setGridEnabled(theme, true); + setFont(theme, QFont(QStringLiteral("Arial"))); + setLabelBackgroundEnabled(theme, true); + setLightColor(theme, Qt::white); + setBaseColors(theme, baseColors); + setBackgroundColor(theme, QColor(QRgb(0xe9e2ce))); + setWindowColor(theme, QColor(QRgb(0xe9e2ce))); + setTextColor(theme, QColor(QRgb(0x000000))); + setTextBackgroundColor(theme, QColor(0xe9, 0xe2, 0xce, 0xc0)); + setGridLineColor(theme, QColor(QRgb(0xd0c0b0))); + setSingleHighlightColor(theme, QColor(QRgb(0x8ea317))); + setMultiHighlightColor(theme, QColor(QRgb(0xc25708))); + setLightStrength(theme, 5.0f); + setAmbientLightStrength(theme, 0.5f); + setHighlightLightStrength(theme, 5.0f); + setLabelBorderEnabled(theme, false); + setColorStyle(theme, Q3DTheme::ColorStyleObjectGradient); + setBaseGradients(theme, baseGradients); + setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0x8ea317)), + defaultBuiltInColorLevel)); + setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0xc25708)), + defaultBuiltInColorLevel)); break; } case Q3DTheme::ThemeEbony: { - QList baseColors; baseColors.append(QColor(QRgb(0xffffff))); baseColors.append(QColor(QRgb(0x999999))); baseColors.append(QColor(QRgb(0x474747))); baseColors.append(QColor(QRgb(0xc7c7c7))); baseColors.append(QColor(QRgb(0x6b6b6b))); - QList baseGradients; baseGradients.append(createGradient(baseColors.at(0), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(1), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(2), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(3), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(4), defaultColorLevel)); - setBackgroundEnabled(true); - setGridEnabled(true); - setFont(QFont(QStringLiteral("Arial"))); - setLabelBackgroundEnabled(true); - setLightColor(Qt::white); - setBaseColors(baseColors); - setBackgroundColor(QColor(QRgb(0x000000))); - setWindowColor(QColor(QRgb(0x000000))); - setTextColor(QColor(QRgb(0xaeadac))); - setTextBackgroundColor(QColor(0x00, 0x00, 0x00, 0xcd)); - setGridLineColor(QColor(QRgb(0x35322f))); - setSingleHighlightColor(QColor(QRgb(0xf5dc0d))); - setMultiHighlightColor(QColor(QRgb(0xd72222))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(false); - setColorStyle(Q3DTheme::ColorStyleUniform); - setBaseGradients(baseGradients); - setSingleHighlightGradient(createGradient(QColor(QRgb(0xf5dc0d)), defaultColorLevel)); - setMultiHighlightGradient(createGradient(QColor(QRgb(0xd72222)), defaultColorLevel)); + setBackgroundEnabled(theme, true); + setGridEnabled(theme, true); + setFont(theme, QFont(QStringLiteral("Arial"))); + setLabelBackgroundEnabled(theme, true); + setLightColor(theme, Qt::white); + setBaseColors(theme, baseColors); + setBackgroundColor(theme, QColor(QRgb(0x000000))); + setWindowColor(theme, QColor(QRgb(0x000000))); + setTextColor(theme, QColor(QRgb(0xaeadac))); + setTextBackgroundColor(theme, QColor(0x00, 0x00, 0x00, 0xcd)); + setGridLineColor(theme, QColor(QRgb(0x35322f))); + setSingleHighlightColor(theme, QColor(QRgb(0xf5dc0d))); + setMultiHighlightColor(theme, QColor(QRgb(0xd72222))); + setLightStrength(theme, 5.0f); + setAmbientLightStrength(theme, 0.5f); + setHighlightLightStrength(theme, 5.0f); + setLabelBorderEnabled(theme, false); + setColorStyle(theme, Q3DTheme::ColorStyleUniform); + setBaseGradients(theme, baseGradients); + setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0xf5dc0d)), + defaultColorLevel)); + setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0xd72222)), + defaultColorLevel)); break; } case Q3DTheme::ThemeIsabelle: { - QList baseColors; baseColors.append(QColor(QRgb(0xf9d900))); baseColors.append(QColor(QRgb(0xf09603))); baseColors.append(QColor(QRgb(0xe85506))); baseColors.append(QColor(QRgb(0xf5b802))); baseColors.append(QColor(QRgb(0xec7605))); - QList baseGradients; baseGradients.append(createGradient(baseColors.at(0), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(1), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(2), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(3), defaultColorLevel)); baseGradients.append(createGradient(baseColors.at(4), defaultColorLevel)); - setBackgroundEnabled(true); - setGridEnabled(true); - setFont(QFont(QStringLiteral("Arial"))); - setLabelBackgroundEnabled(true); - setLightColor(Qt::white); - setBaseColors(baseColors); - setBackgroundColor(QColor(QRgb(0x000000))); - setWindowColor(QColor(QRgb(0x000000))); - setTextColor(QColor(QRgb(0xaeadac))); - setTextBackgroundColor(QColor(0x00, 0x00, 0x00, 0xc0)); - setGridLineColor(QColor(QRgb(0x35322f))); - setSingleHighlightColor(QColor(QRgb(0xfff7cc))); - setMultiHighlightColor(QColor(QRgb(0xde0a0a))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(false); - setColorStyle(Q3DTheme::ColorStyleUniform); - setBaseGradients(baseGradients); - setSingleHighlightGradient(createGradient(QColor(QRgb(0xfff7cc)), defaultColorLevel)); - setMultiHighlightGradient(createGradient(QColor(QRgb(0xde0a0a)), defaultColorLevel)); + setBackgroundEnabled(theme, true); + setGridEnabled(theme, true); + setFont(theme, QFont(QStringLiteral("Arial"))); + setLabelBackgroundEnabled(theme, true); + setLightColor(theme, Qt::white); + setBaseColors(theme, baseColors); + setBackgroundColor(theme, QColor(QRgb(0x000000))); + setWindowColor(theme, QColor(QRgb(0x000000))); + setTextColor(theme, QColor(QRgb(0xaeadac))); + setTextBackgroundColor(theme, QColor(0x00, 0x00, 0x00, 0xc0)); + setGridLineColor(theme, QColor(QRgb(0x35322f))); + setSingleHighlightColor(theme, QColor(QRgb(0xfff7cc))); + setMultiHighlightColor(theme, QColor(QRgb(0xde0a0a))); + setLightStrength(theme, 5.0f); + setAmbientLightStrength(theme, 0.5f); + setHighlightLightStrength(theme, 5.0f); + setLabelBorderEnabled(theme, false); + setColorStyle(theme, Q3DTheme::ColorStyleUniform); + setBaseGradients(theme, baseGradients); + setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0xfff7cc)), + defaultColorLevel)); + setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0xde0a0a)), + defaultColorLevel)); break; } default: @@ -468,130 +464,130 @@ QLinearGradient ThemeManager::createGradient(const QColor &color, float colorLev return gradient; } -void ThemeManager::setBaseColors(const QList &colors) +void ThemeManager::setBaseColors(Q3DTheme *theme, const QList &colors) { - if (!m_activeTheme->d_ptr->m_dirtyBits.baseColorDirty) - m_activeTheme->setBaseColors(colors); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.baseColorDirty) + theme->setBaseColors(colors); } -void ThemeManager::setBackgroundColor(const QColor &color) +void ThemeManager::setBackgroundColor(Q3DTheme *theme, const QColor &color) { - if (!m_activeTheme->d_ptr->m_dirtyBits.backgroundColorDirty) - m_activeTheme->setBackgroundColor(color); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.backgroundColorDirty) + theme->setBackgroundColor(color); } -void ThemeManager::setWindowColor(const QColor &color) +void ThemeManager::setWindowColor(Q3DTheme *theme, const QColor &color) { - if (!m_activeTheme->d_ptr->m_dirtyBits.windowColorDirty) - m_activeTheme->setWindowColor(color); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.windowColorDirty) + theme->setWindowColor(color); } -void ThemeManager::setTextColor(const QColor &color) +void ThemeManager::setTextColor(Q3DTheme *theme, const QColor &color) { - if (!m_activeTheme->d_ptr->m_dirtyBits.labelTextColorDirty) - m_activeTheme->setLabelTextColor(color); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.labelTextColorDirty) + theme->setLabelTextColor(color); } -void ThemeManager::setTextBackgroundColor(const QColor &color) +void ThemeManager::setTextBackgroundColor(Q3DTheme *theme, const QColor &color) { - if (!m_activeTheme->d_ptr->m_dirtyBits.labelBackgroundColorDirty) - m_activeTheme->setLabelBackgroundColor(color); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.labelBackgroundColorDirty) + theme->setLabelBackgroundColor(color); } -void ThemeManager::setGridLineColor(const QColor &color) +void ThemeManager::setGridLineColor(Q3DTheme *theme, const QColor &color) { - if (!m_activeTheme->d_ptr->m_dirtyBits.gridLineColorDirty) - m_activeTheme->setGridLineColor(color); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.gridLineColorDirty) + theme->setGridLineColor(color); } -void ThemeManager::setSingleHighlightColor(const QColor &color) +void ThemeManager::setSingleHighlightColor(Q3DTheme *theme, const QColor &color) { - if (!m_activeTheme->d_ptr->m_dirtyBits.singleHighlightColorDirty) - m_activeTheme->setSingleHighlightColor(color); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.singleHighlightColorDirty) + theme->setSingleHighlightColor(color); } -void ThemeManager::setMultiHighlightColor(const QColor &color) +void ThemeManager::setMultiHighlightColor(Q3DTheme *theme, const QColor &color) { - if (!m_activeTheme->d_ptr->m_dirtyBits.multiHighlightColorDirty) - m_activeTheme->setMultiHighlightColor(color); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.multiHighlightColorDirty) + theme->setMultiHighlightColor(color); } -void ThemeManager::setLightColor(const QColor &color) +void ThemeManager::setLightColor(Q3DTheme *theme, const QColor &color) { - if (!m_activeTheme->d_ptr->m_dirtyBits.lightColorDirty) - m_activeTheme->setLightColor(color); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.lightColorDirty) + theme->setLightColor(color); } -void ThemeManager::setBaseGradients(const QList &gradients) +void ThemeManager::setBaseGradients(Q3DTheme *theme, const QList &gradients) { - if (!m_activeTheme->d_ptr->m_dirtyBits.baseGradientDirty) - m_activeTheme->setBaseGradients(gradients); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.baseGradientDirty) + theme->setBaseGradients(gradients); } -void ThemeManager::setSingleHighlightGradient(const QLinearGradient &gradient) +void ThemeManager::setSingleHighlightGradient(Q3DTheme *theme, const QLinearGradient &gradient) { - if (!m_activeTheme->d_ptr->m_dirtyBits.singleHighlightGradientDirty) - m_activeTheme->setSingleHighlightGradient(gradient); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.singleHighlightGradientDirty) + theme->setSingleHighlightGradient(gradient); } -void ThemeManager::setMultiHighlightGradient(const QLinearGradient &gradient) +void ThemeManager::setMultiHighlightGradient(Q3DTheme *theme, const QLinearGradient &gradient) { - if (!m_activeTheme->d_ptr->m_dirtyBits.multiHighlightGradientDirty) - m_activeTheme->setMultiHighlightGradient(gradient); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.multiHighlightGradientDirty) + theme->setMultiHighlightGradient(gradient); } -void ThemeManager::setLightStrength(float strength) +void ThemeManager::setLightStrength(Q3DTheme *theme, float strength) { - if (!m_activeTheme->d_ptr->m_dirtyBits.lightStrengthDirty) - m_activeTheme->setLightStrength(strength); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.lightStrengthDirty) + theme->setLightStrength(strength); } -void ThemeManager::setAmbientLightStrength(float strength) +void ThemeManager::setAmbientLightStrength(Q3DTheme *theme, float strength) { - if (!m_activeTheme->d_ptr->m_dirtyBits.ambientLightStrengthDirty) - m_activeTheme->setAmbientLightStrength(strength); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.ambientLightStrengthDirty) + theme->setAmbientLightStrength(strength); } -void ThemeManager::setHighlightLightStrength(float strength) +void ThemeManager::setHighlightLightStrength(Q3DTheme *theme, float strength) { - if (!m_activeTheme->d_ptr->m_dirtyBits.highlightLightStrengthDirty) - m_activeTheme->setHighlightLightStrength(strength); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.highlightLightStrengthDirty) + theme->setHighlightLightStrength(strength); } -void ThemeManager::setLabelBorderEnabled(bool enabled) +void ThemeManager::setLabelBorderEnabled(Q3DTheme *theme, bool enabled) { - if (!m_activeTheme->d_ptr->m_dirtyBits.labelBorderEnabledDirty) - m_activeTheme->setLabelBorderEnabled(enabled); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.labelBorderEnabledDirty) + theme->setLabelBorderEnabled(enabled); } -void ThemeManager::setFont(const QFont &font) +void ThemeManager::setFont(Q3DTheme *theme, const QFont &font) { - if (!m_activeTheme->d_ptr->m_dirtyBits.fontDirty) - m_activeTheme->setFont(font); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.fontDirty) + theme->setFont(font); } -void ThemeManager::setBackgroundEnabled(bool enabled) +void ThemeManager::setBackgroundEnabled(Q3DTheme *theme, bool enabled) { - if (!m_activeTheme->d_ptr->m_dirtyBits.backgroundEnabledDirty) - m_activeTheme->setBackgroundEnabled(enabled); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.backgroundEnabledDirty) + theme->setBackgroundEnabled(enabled); } -void ThemeManager::setGridEnabled(bool enabled) +void ThemeManager::setGridEnabled(Q3DTheme *theme, bool enabled) { - if (!m_activeTheme->d_ptr->m_dirtyBits.gridEnabledDirty) - m_activeTheme->setGridEnabled(enabled); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.gridEnabledDirty) + theme->setGridEnabled(enabled); } -void ThemeManager::setLabelBackgroundEnabled(bool enabled) +void ThemeManager::setLabelBackgroundEnabled(Q3DTheme *theme, bool enabled) { - if (!m_activeTheme->d_ptr->m_dirtyBits.labelBackgroundEnabledDirty) - m_activeTheme->setLabelBackgroundEnabled(enabled); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.labelBackgroundEnabledDirty) + theme->setLabelBackgroundEnabled(enabled); } -void ThemeManager::setColorStyle(Q3DTheme::ColorStyle style) +void ThemeManager::setColorStyle(Q3DTheme *theme, Q3DTheme::ColorStyle style) { - if (!m_activeTheme->d_ptr->m_dirtyBits.colorStyleDirty) - m_activeTheme->setColorStyle(style); + if (theme->d_ptr->isForcePredefinedType() || !theme->d_ptr->m_dirtyBits.colorStyleDirty) + theme->setColorStyle(style); } QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/theme/thememanager_p.h b/src/datavisualization/theme/thememanager_p.h index 254bb7bf..13cbcdc9 100644 --- a/src/datavisualization/theme/thememanager_p.h +++ b/src/datavisualization/theme/thememanager_p.h @@ -48,31 +48,32 @@ public: Q3DTheme *activeTheme() const; QList themes() const; + static void setPredefinedPropertiesToTheme(Q3DTheme *theme, Q3DTheme::Theme type); + protected: void connectThemeSignals(); - void useTheme(Q3DTheme::Theme type); - QLinearGradient createGradient(const QColor &color, float colorLevel); - void setBaseColors(const QList &colors); - void setBackgroundColor(const QColor &color); - void setWindowColor(const QColor &color); - void setTextColor(const QColor &color); - void setTextBackgroundColor(const QColor &color); - void setGridLineColor(const QColor &color); - void setSingleHighlightColor(const QColor &color); - void setMultiHighlightColor(const QColor &color); - void setLightColor(const QColor &color); - void setBaseGradients(const QList &gradients); - void setSingleHighlightGradient(const QLinearGradient &gradient); - void setMultiHighlightGradient(const QLinearGradient &gradient); - void setLightStrength(float strength); - void setAmbientLightStrength(float strength); - void setHighlightLightStrength(float strength); - void setLabelBorderEnabled(bool enabled); - void setFont(const QFont &font); - void setBackgroundEnabled(bool enabled); - void setGridEnabled(bool enabled); - void setLabelBackgroundEnabled(bool enabled); - void setColorStyle(Q3DTheme::ColorStyle style); + static QLinearGradient createGradient(const QColor &color, float colorLevel); + static void setBaseColors(Q3DTheme *theme, const QList &colors); + static void setBackgroundColor(Q3DTheme *theme, const QColor &color); + static void setWindowColor(Q3DTheme *theme, const QColor &color); + static void setTextColor(Q3DTheme *theme, const QColor &color); + static void setTextBackgroundColor(Q3DTheme *theme, const QColor &color); + static void setGridLineColor(Q3DTheme *theme, const QColor &color); + static void setSingleHighlightColor(Q3DTheme *theme, const QColor &color); + static void setMultiHighlightColor(Q3DTheme *theme, const QColor &color); + static void setLightColor(Q3DTheme *theme, const QColor &color); + static void setBaseGradients(Q3DTheme *theme, const QList &gradients); + static void setSingleHighlightGradient(Q3DTheme *theme, const QLinearGradient &gradient); + static void setMultiHighlightGradient(Q3DTheme *theme, const QLinearGradient &gradient); + static void setLightStrength(Q3DTheme *theme, float strength); + static void setAmbientLightStrength(Q3DTheme *theme, float strength); + static void setHighlightLightStrength(Q3DTheme *theme, float strength); + static void setLabelBorderEnabled(Q3DTheme *theme, bool enabled); + static void setFont(Q3DTheme *theme, const QFont &font); + static void setBackgroundEnabled(Q3DTheme *theme, bool enabled); + static void setGridEnabled(Q3DTheme *theme, bool enabled); + static void setLabelBackgroundEnabled(Q3DTheme *theme, bool enabled); + static void setColorStyle(Q3DTheme *theme, Q3DTheme::ColorStyle style); private: Q3DTheme *m_activeTheme; -- cgit v1.2.3 From f8f57fe64c29408a8d3c41c536639e08f84747e4 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 7 Jan 2014 11:09:34 +0200 Subject: Abstract base class for graphs Rename the Q3DWindow -> QAbstract3DGraph Moved common properties and functionality from subclasses to QAbstract3DGraph Task-number: QTRD-2213 Change-Id: Icc1733f7efb1b06bdda024f1cf42b8bc24d96885 Reviewed-by: Mika Salmela --- .../engine/abstract3dcontroller_p.h | 2 +- src/datavisualization/engine/engine.pri | 6 +- src/datavisualization/engine/q3dbars.cpp | 134 +------ src/datavisualization/engine/q3dbars.h | 27 +- src/datavisualization/engine/q3dbars_p.h | 7 +- src/datavisualization/engine/q3dscatter.cpp | 122 +----- src/datavisualization/engine/q3dscatter.h | 29 +- src/datavisualization/engine/q3dscatter_p.h | 7 +- src/datavisualization/engine/q3dscene.h | 2 +- src/datavisualization/engine/q3dsurface.cpp | 108 +----- src/datavisualization/engine/q3dsurface.h | 28 +- src/datavisualization/engine/q3dsurface_p.h | 4 +- src/datavisualization/engine/q3dwindow.cpp | 310 --------------- src/datavisualization/engine/q3dwindow.h | 76 ---- src/datavisualization/engine/q3dwindow_p.h | 71 ---- src/datavisualization/engine/qabstract3dgraph.cpp | 414 +++++++++++++++++++++ src/datavisualization/engine/qabstract3dgraph.h | 100 +++++ src/datavisualization/engine/qabstract3dgraph_p.h | 71 ++++ 18 files changed, 617 insertions(+), 901 deletions(-) delete mode 100644 src/datavisualization/engine/q3dwindow.cpp delete mode 100644 src/datavisualization/engine/q3dwindow.h delete mode 100644 src/datavisualization/engine/q3dwindow_p.h create mode 100644 src/datavisualization/engine/qabstract3dgraph.cpp create mode 100644 src/datavisualization/engine/qabstract3dgraph.h create mode 100644 src/datavisualization/engine/qabstract3dgraph_p.h (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index 66c61a53..b9c99210 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -159,9 +159,9 @@ protected: QList m_seriesList; explicit Abstract3DController(QRect initialViewport, QObject *parent = 0); - virtual ~Abstract3DController(); public: + virtual ~Abstract3DController(); inline bool isInitialized() { return (m_renderer != 0); } virtual void synchDataToRenderer(); diff --git a/src/datavisualization/engine/engine.pri b/src/datavisualization/engine/engine.pri index 899979e1..e13a9a04 100644 --- a/src/datavisualization/engine/engine.pri +++ b/src/datavisualization/engine/engine.pri @@ -1,5 +1,5 @@ -HEADERS += $$PWD/q3dwindow_p.h \ - $$PWD/q3dwindow.h \ +HEADERS += $$PWD/qabstract3dgraph_p.h \ + $$PWD/qabstract3dgraph.h \ $$PWD/q3dbars.h \ $$PWD/q3dbars_p.h \ $$PWD/drawer_p.h \ @@ -28,7 +28,7 @@ HEADERS += $$PWD/q3dwindow_p.h \ $$PWD/q3dobject_p.h \ $$PWD/q3dscene_p.h -SOURCES += $$PWD/q3dwindow.cpp \ +SOURCES += $$PWD/qabstract3dgraph.cpp \ $$PWD/q3dbars.cpp \ $$PWD/drawer.cpp \ $$PWD/bars3dcontroller.cpp \ diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp index 530235f2..0d711359 100644 --- a/src/datavisualization/engine/q3dbars.cpp +++ b/src/datavisualization/engine/q3dbars.cpp @@ -24,9 +24,6 @@ #include "q3dcamera.h" #include "qbar3dseries_p.h" -#include - - QT_DATAVISUALIZATION_BEGIN_NAMESPACE /*! @@ -99,19 +96,11 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * Constructs a new 3D bar graph with optional \a parent window. */ Q3DBars::Q3DBars(QWindow *parent) - : Q3DWindow(new Q3DBarsPrivate(this), parent) + : QAbstract3DGraph(new Q3DBarsPrivate(this), parent) { dptr()->m_shared = new Bars3DController(geometry()); d_ptr->setVisualController(dptr()->m_shared); dptr()->m_shared->initializeOpenGL(); - QObject::connect(dptr()->m_shared, &Abstract3DController::selectionModeChanged, this, - &Q3DBars::selectionModeChanged); - QObject::connect(dptr()->m_shared, &Abstract3DController::shadowQualityChanged, this, - &Q3DBars::shadowQualityChanged); - QObject::connect(dptr()->m_shared, &Abstract3DController::needRender, d_ptr.data(), - &Q3DWindowPrivate::renderLater); - QObject::connect(dptr()->m_shared, &Abstract3DController::shadowQualityChanged, dptr(), - &Q3DBarsPrivate::handleShadowQualityUpdate); } /*! @@ -150,65 +139,6 @@ QList Q3DBars::seriesList() return dptr()->m_shared->barSeriesList(); } -/*! - * \internal - */ -void Q3DBars::mouseDoubleClickEvent(QMouseEvent *event) -{ - dptr()->m_shared->mouseDoubleClickEvent(event); -} - -/*! - * \internal - */ -void Q3DBars::touchEvent(QTouchEvent *event) -{ - dptr()->m_shared->touchEvent(event); -} - -/*! - * \internal - */ -void Q3DBars::mousePressEvent(QMouseEvent *event) -{ - dptr()->m_shared->mousePressEvent(event, event->pos()); -} - -/*! - * \internal - */ -void Q3DBars::mouseReleaseEvent(QMouseEvent *event) -{ - dptr()->m_shared->mouseReleaseEvent(event, event->pos()); -} - -/*! - * \internal - */ -void Q3DBars::mouseMoveEvent(QMouseEvent *event) -{ - dptr()->m_shared->mouseMoveEvent(event, event->pos()); -} - -/*! - * \internal - */ -void Q3DBars::wheelEvent(QWheelEvent *event) -{ - dptr()->m_shared->wheelEvent(event); -} - - -Q3DBarsPrivate *Q3DBars::dptr() -{ - return static_cast(d_ptr.data()); -} - -const Q3DBarsPrivate *Q3DBars::dptrc() const -{ - return static_cast(d_ptr.data()); -} - /*! * \property Q3DBars::barThickness * @@ -269,52 +199,6 @@ bool Q3DBars::isBarSpacingRelative() return dptr()->m_shared->isBarSpecRelative(); } -/*! - * \property Q3DBars::selectionMode - * - * Sets bar selection \a mode to a combination of \c QDataVis::SelectionFlags. It is preset to - * \c QDataVis::SelectionItem by default. - */ -void Q3DBars::setSelectionMode(QDataVis::SelectionFlags mode) -{ - dptr()->m_shared->setSelectionMode(mode); -} - -QDataVis::SelectionFlags Q3DBars::selectionMode() const -{ - return dptrc()->m_shared->selectionMode(); -} - -/*! - * \property Q3DBars::scene - * - * This property contains the read only Q3DScene that can be used to access e.g. camera object. - */ -Q3DScene *Q3DBars::scene() const -{ - return dptrc()->m_shared->scene(); -} - -/*! - * \property Q3DBars::shadowQuality - * - * Sets shadow \a quality to one of \c QDataVis::ShadowQuality. It is preset to - * \c QDataVis::ShadowQualityMedium by default. - * - * \note If setting QDataVis::ShadowQuality of a certain level fails, a level is lowered - * until it is successful and shadowQualityChanged signal is emitted for each time the change is - * done. - */ -void Q3DBars::setShadowQuality(QDataVis::ShadowQuality quality) -{ - dptr()->m_shared->setShadowQuality(quality); -} - -QDataVis::ShadowQuality Q3DBars::shadowQuality() const -{ - return dptrc()->m_shared->shadowQuality(); -} - /*! * Sets a user-defined row \a axis. Implicitly calls addAxis() to transfer ownership of * the \a axis to this graph. @@ -417,19 +301,23 @@ QList Q3DBars::axes() const return dptrc()->m_shared->axes(); } -Q3DBarsPrivate::Q3DBarsPrivate(Q3DBars *q) - : Q3DWindowPrivate(q) +Q3DBarsPrivate *Q3DBars::dptr() { + return static_cast(d_ptr.data()); } -Q3DBarsPrivate::~Q3DBarsPrivate() +const Q3DBarsPrivate *Q3DBars::dptrc() const { - delete m_shared; + return static_cast(d_ptr.data()); } -void Q3DBarsPrivate::handleShadowQualityUpdate(QDataVis::ShadowQuality quality) +Q3DBarsPrivate::Q3DBarsPrivate(Q3DBars *q) + : QAbstract3DGraphPrivate(q) +{ +} + +Q3DBarsPrivate::~Q3DBarsPrivate() { - emit qptr()->shadowQualityChanged(quality); } Q3DBars *Q3DBarsPrivate::qptr() diff --git a/src/datavisualization/engine/q3dbars.h b/src/datavisualization/engine/q3dbars.h index fac9558f..7da446b4 100644 --- a/src/datavisualization/engine/q3dbars.h +++ b/src/datavisualization/engine/q3dbars.h @@ -20,7 +20,7 @@ #define Q3DBARS_H #include -#include +#include #include #include @@ -30,18 +30,14 @@ class Q3DBarsPrivate; class Q3DAbstractAxis; class Q3DCategoryAxis; class Q3DValueAxis; -class Q3DScene; class QBar3DSeries; -class QT_DATAVISUALIZATION_EXPORT Q3DBars : public Q3DWindow +class QT_DATAVISUALIZATION_EXPORT Q3DBars : public QAbstract3DGraph { Q_OBJECT - Q_PROPERTY(QtDataVisualization::QDataVis::SelectionFlags selectionMode READ selectionMode WRITE setSelectionMode NOTIFY selectionModeChanged) - Q_PROPERTY(QtDataVisualization::QDataVis::ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality NOTIFY shadowQualityChanged) Q_PROPERTY(float barThickness READ barThickness WRITE setBarThickness NOTIFY barThicknessChanged) Q_PROPERTY(QSizeF barSpacing READ barSpacing WRITE setBarSpacing NOTIFY barSpacingChanged) Q_PROPERTY(bool barSpacingRelative READ isBarSpacingRelative WRITE setBarSpacingRelative NOTIFY barSpacingRelativeChanged) - Q_PROPERTY(Q3DScene* scene READ scene) public: explicit Q3DBars(QWindow *parent = 0); @@ -60,14 +56,6 @@ public: void setBarSpacingRelative(bool relative); bool isBarSpacingRelative(); - void setSelectionMode(QDataVis::SelectionFlags mode); - QDataVis::SelectionFlags selectionMode() const; - - Q3DScene *scene() const; - - void setShadowQuality(QDataVis::ShadowQuality quality); - QDataVis::ShadowQuality shadowQuality() const; - void setRowAxis(Q3DCategoryAxis *axis); Q3DCategoryAxis *rowAxis() const; void setColumnAxis(Q3DCategoryAxis *axis); @@ -79,21 +67,10 @@ public: QList axes() const; signals: - void selectionModeChanged(QDataVis::SelectionFlags mode); - void shadowQualityChanged(QDataVis::ShadowQuality quality); void barThicknessChanged(float thicknessRatio); void barSpacingChanged(QSizeF spacing); void barSpacingRelativeChanged(bool relative); -protected: - - void mouseDoubleClickEvent(QMouseEvent *event); - void touchEvent(QTouchEvent *event); - void mousePressEvent(QMouseEvent *event); - void mouseReleaseEvent(QMouseEvent *event); - void mouseMoveEvent(QMouseEvent *event); - void wheelEvent(QWheelEvent *event); - private: Q3DBarsPrivate *dptr(); const Q3DBarsPrivate *dptrc() const; diff --git a/src/datavisualization/engine/q3dbars_p.h b/src/datavisualization/engine/q3dbars_p.h index 9a059d8d..6bb90b40 100644 --- a/src/datavisualization/engine/q3dbars_p.h +++ b/src/datavisualization/engine/q3dbars_p.h @@ -31,22 +31,19 @@ #include "bars3dcontroller_p.h" #include "qdatavisualizationenums.h" -#include "q3dwindow_p.h" +#include "qabstract3dgraph_p.h" QT_DATAVISUALIZATION_BEGIN_NAMESPACE class Q3DBars; -class Q3DBarsPrivate : public Q3DWindowPrivate +class Q3DBarsPrivate : public QAbstract3DGraphPrivate { Q_OBJECT public: Q3DBarsPrivate(Q3DBars *q); ~Q3DBarsPrivate(); - // Used to detect when shadow quality changes autonomously due to e.g. resizing. - void handleShadowQualityUpdate(QDataVis::ShadowQuality quality); - Q3DBars *qptr(); Bars3DController *m_shared; diff --git a/src/datavisualization/engine/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp index 13b22df4..aef1e89e 100644 --- a/src/datavisualization/engine/q3dscatter.cpp +++ b/src/datavisualization/engine/q3dscatter.cpp @@ -23,8 +23,6 @@ #include "q3dcamera.h" #include "qscatter3dseries_p.h" -#include - QT_DATAVISUALIZATION_BEGIN_NAMESPACE /*! @@ -83,19 +81,11 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * Constructs a new 3D scatter graph with optional \a parent window. */ Q3DScatter::Q3DScatter(QWindow *parent) - : Q3DWindow(new Q3DScatterPrivate(this), parent) + : QAbstract3DGraph(new Q3DScatterPrivate(this), parent) { dptr()->m_shared = new Scatter3DController(geometry()); d_ptr->setVisualController(dptr()->m_shared); dptr()->m_shared->initializeOpenGL(); - QObject::connect(dptr()->m_shared, &Abstract3DController::selectionModeChanged, this, - &Q3DScatter::selectionModeChanged); - QObject::connect(dptr()->m_shared, &Abstract3DController::shadowQualityChanged, this, - &Q3DScatter::shadowQualityChanged); - QObject::connect(dptr()->m_shared, &Abstract3DController::needRender, d_ptr.data(), - &Q3DWindowPrivate::renderLater); - QObject::connect(dptr()->m_shared, &Abstract3DController::shadowQualityChanged, dptr(), - &Q3DScatterPrivate::handleShadowQualityUpdate); } /*! @@ -131,54 +121,6 @@ QList Q3DScatter::seriesList() return dptr()->m_shared->scatterSeriesList(); } -/*! - * \internal - */ -void Q3DScatter::mouseDoubleClickEvent(QMouseEvent *event) -{ - dptr()->m_shared->mouseDoubleClickEvent(event); -} - -/*! - * \internal - */ -void Q3DScatter::touchEvent(QTouchEvent *event) -{ - dptr()->m_shared->touchEvent(event); -} - -/*! - * \internal - */ -void Q3DScatter::mousePressEvent(QMouseEvent *event) -{ - dptr()->m_shared->mousePressEvent(event, event->pos()); -} - -/*! - * \internal - */ -void Q3DScatter::mouseReleaseEvent(QMouseEvent *event) -{ - dptr()->m_shared->mouseReleaseEvent(event, event->pos()); -} - -/*! - * \internal - */ -void Q3DScatter::mouseMoveEvent(QMouseEvent *event) -{ - dptr()->m_shared->mouseMoveEvent(event, event->pos()); -} - -/*! - * \internal - */ -void Q3DScatter::wheelEvent(QWheelEvent *event) -{ - dptr()->m_shared->wheelEvent(event); -} - Q3DScatterPrivate *Q3DScatter::dptr() { return static_cast(d_ptr.data()); @@ -189,54 +131,6 @@ const Q3DScatterPrivate *Q3DScatter::dptrc() const return static_cast(d_ptr.data()); } -/*! - * \property Q3DScatter::selectionMode - * - * Sets item selection \a mode to a combination of \c QDataVis::SelectionFlags. It is preset to - * \c QDataVis::SelectionItem by default. - * - * \note Only \c QDataVis::SelectionItem and \c QDataVis::SelectionNone are supported. - */ -void Q3DScatter::setSelectionMode(QDataVis::SelectionFlags mode) -{ - dptr()->m_shared->setSelectionMode(mode); -} - -QDataVis::SelectionFlags Q3DScatter::selectionMode() const -{ - return dptrc()->m_shared->selectionMode(); -} - -/*! - * \property Q3DScatter::scene - * - * This property contains the read only Q3DScene that can be used to access e.g. camera object. - */ -Q3DScene *Q3DScatter::scene() const -{ - return dptrc()->m_shared->scene(); -} - -/*! - * \property Q3DScatter::shadowQuality - * - * Sets shadow \a quality to one of \c QDataVis::ShadowQuality. It is preset to - * \c QDataVis::ShadowQualityMedium by default. - * - * \note If setting QDataVis::ShadowQuality of a certain level fails, a level is lowered - * until it is successful and shadowQualityChanged signal is emitted for each time the change is - * done. - */ -void Q3DScatter::setShadowQuality(QDataVis::ShadowQuality quality) -{ - return dptr()->m_shared->setShadowQuality(quality); -} - -QDataVis::ShadowQuality Q3DScatter::shadowQuality() const -{ - return dptrc()->m_shared->shadowQuality(); -} - /*! * Sets a user-defined X-axis. Implicitly calls addAxis() to transfer ownership * of the \a axis to this graph. @@ -346,25 +240,13 @@ QList Q3DScatter::axes() const return retList; } -/*! - * \fn void Q3DScatter::shadowQualityChanged(QDataVis::ShadowQuality quality) - * - * This signal is emitted when shadow \a quality changes. - */ - Q3DScatterPrivate::Q3DScatterPrivate(Q3DScatter *q) - : Q3DWindowPrivate(q) + : QAbstract3DGraphPrivate(q) { } Q3DScatterPrivate::~Q3DScatterPrivate() { - delete m_shared; -} - -void Q3DScatterPrivate::handleShadowQualityUpdate(QDataVis::ShadowQuality quality) -{ - emit qptr()->shadowQualityChanged(quality); } Q3DScatter *Q3DScatterPrivate::qptr() diff --git a/src/datavisualization/engine/q3dscatter.h b/src/datavisualization/engine/q3dscatter.h index f71b469e..f6f3dd2f 100644 --- a/src/datavisualization/engine/q3dscatter.h +++ b/src/datavisualization/engine/q3dscatter.h @@ -20,7 +20,7 @@ #define Q3DSCATTER_H #include -#include +#include #include #include #include @@ -28,18 +28,13 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE class Q3DScatterPrivate; -class LabelItem; class Q3DValueAxis; class Q3DCategoryAxis; class QScatter3DSeries; -class QT_DATAVISUALIZATION_EXPORT Q3DScatter : public Q3DWindow +class QT_DATAVISUALIZATION_EXPORT Q3DScatter : public QAbstract3DGraph { Q_OBJECT - Q_PROPERTY(QtDataVisualization::QDataVis::SelectionFlags selectionMode READ selectionMode WRITE setSelectionMode NOTIFY selectionModeChanged) - Q_PROPERTY(QtDataVisualization::QDataVis::ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality NOTIFY shadowQualityChanged) - Q_PROPERTY(Q3DScene* scene READ scene) - public: explicit Q3DScatter(QWindow *parent = 0); virtual ~Q3DScatter(); @@ -48,14 +43,6 @@ public: void removeSeries(QScatter3DSeries *series); QList seriesList(); - void setSelectionMode(QDataVis::SelectionFlags mode); - QDataVis::SelectionFlags selectionMode() const; - - Q3DScene *scene() const; - - void setShadowQuality(QDataVis::ShadowQuality quality); - QDataVis::ShadowQuality shadowQuality() const; - void setAxisX(Q3DValueAxis *axis); Q3DValueAxis *axisX() const; void setAxisY(Q3DValueAxis *axis); @@ -66,18 +53,6 @@ public: void releaseAxis(Q3DValueAxis *axis); QList axes() const; -signals: - void selectionModeChanged(QDataVis::SelectionFlags mode); - void shadowQualityChanged(QDataVis::ShadowQuality quality); - -protected: - void mouseDoubleClickEvent(QMouseEvent *event); - void touchEvent(QTouchEvent *event); - void mousePressEvent(QMouseEvent *event); - void mouseReleaseEvent(QMouseEvent *event); - void mouseMoveEvent(QMouseEvent *event); - void wheelEvent(QWheelEvent *event); - private: Q3DScatterPrivate *dptr(); const Q3DScatterPrivate *dptrc() const; diff --git a/src/datavisualization/engine/q3dscatter_p.h b/src/datavisualization/engine/q3dscatter_p.h index d65776c5..e8140c04 100644 --- a/src/datavisualization/engine/q3dscatter_p.h +++ b/src/datavisualization/engine/q3dscatter_p.h @@ -31,22 +31,19 @@ #include "scatter3dcontroller_p.h" #include "qdatavisualizationenums.h" -#include "q3dwindow_p.h" +#include "qabstract3dgraph_p.h" QT_DATAVISUALIZATION_BEGIN_NAMESPACE class Q3DScatter; -class Q3DScatterPrivate : public Q3DWindowPrivate +class Q3DScatterPrivate : public QAbstract3DGraphPrivate { Q_OBJECT public: Q3DScatterPrivate(Q3DScatter *q); ~Q3DScatterPrivate(); - // Used to detect when shadow quality changes autonomously due to e.g. resizing. - void handleShadowQualityUpdate(QDataVis::ShadowQuality quality); - Q3DScatter *qptr(); Scatter3DController *m_shared; diff --git a/src/datavisualization/engine/q3dscene.h b/src/datavisualization/engine/q3dscene.h index b0dadff9..27e09ab0 100644 --- a/src/datavisualization/engine/q3dscene.h +++ b/src/datavisualization/engine/q3dscene.h @@ -96,7 +96,7 @@ private: Q_DISABLE_COPY(Q3DScene) friend class AbstractDeclarative; - friend class Q3DWindow; + friend class QAbstract3DGraph; friend class Abstract3DController; friend class Q3DScenePrivate; friend class Abstract3DRenderer; diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp index feb2ef22..0df5a9bb 100644 --- a/src/datavisualization/engine/q3dsurface.cpp +++ b/src/datavisualization/engine/q3dsurface.cpp @@ -23,8 +23,6 @@ #include "q3dcamera.h" #include "qsurface3dseries_p.h" -#include - QT_DATAVISUALIZATION_BEGIN_NAMESPACE /*! @@ -96,17 +94,11 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * Constructs a new 3D surface graph with optional \a parent window. */ Q3DSurface::Q3DSurface(QWindow *parent) - : Q3DWindow(new Q3DSurfacePrivate(this), parent) + : QAbstract3DGraph(new Q3DSurfacePrivate(this), parent) { dptr()->m_shared = new Surface3DController(geometry()); d_ptr->setVisualController(dptr()->m_shared); dptr()->m_shared->initializeOpenGL(); - QObject::connect(dptr()->m_shared, &Abstract3DController::selectionModeChanged, this, - &Q3DSurface::selectionModeChanged); - QObject::connect(dptr()->m_shared, &Abstract3DController::shadowQualityChanged, this, - &Q3DSurface::shadowQualityChanged); - QObject::connect(dptr()->m_shared, &Abstract3DController::needRender, d_ptr.data(), - &Q3DWindowPrivate::renderLater); } /*! @@ -144,54 +136,6 @@ QList Q3DSurface::seriesList() return dptr()->m_shared->surfaceSeriesList(); } -/*! - * \internal - */ -void Q3DSurface::mouseDoubleClickEvent(QMouseEvent *event) -{ - dptr()->m_shared->mouseDoubleClickEvent(event); -} - -/*! - * \internal - */ -void Q3DSurface::touchEvent(QTouchEvent *event) -{ - dptr()->m_shared->touchEvent(event); -} - -/*! - * \internal - */ -void Q3DSurface::mousePressEvent(QMouseEvent *event) -{ - dptr()->m_shared->mousePressEvent(event, event->pos()); -} - -/*! - * \internal - */ -void Q3DSurface::mouseReleaseEvent(QMouseEvent *event) -{ - dptr()->m_shared->mouseReleaseEvent(event, event->pos()); -} - -/*! - * \internal - */ -void Q3DSurface::mouseMoveEvent(QMouseEvent *event) -{ - dptr()->m_shared->mouseMoveEvent(event, event->pos()); -} - -/*! - * \internal - */ -void Q3DSurface::wheelEvent(QWheelEvent *event) -{ - dptr()->m_shared->wheelEvent(event); -} - Q3DSurfacePrivate *Q3DSurface::dptr() { return static_cast(d_ptr.data()); @@ -202,53 +146,6 @@ const Q3DSurfacePrivate *Q3DSurface::dptrc() const return static_cast(d_ptr.data()); } -/*! - * \property Q3DSurface::shadowQuality - * - * Sets shadow \a quality to one of \c QDataVis::ShadowQuality. It is preset to - * \c QDataVis::ShadowQualityMedium by default. - * - * \note If setting QDataVis::ShadowQuality of a certain level fails, a level is lowered - * until it is successful and shadowQualityChanged signal is emitted for each time the change is - * done. - */ -void Q3DSurface::setShadowQuality(QDataVis::ShadowQuality quality) -{ - return dptr()->m_shared->setShadowQuality(quality); -} - -QDataVis::ShadowQuality Q3DSurface::shadowQuality() const -{ - return dptrc()->m_shared->shadowQuality(); -} - -/*! - * \property Q3DSurface::selectionMode - * - * Sets point selection \a mode to a combination of \c QDataVis::SelectionFlags. Surface supports - * \c SelectionItem and \c SelectionSlice with either \c SelectionRow or \c SelectionColumn. - * It is preset to \c SelectionItem by default. - */ -void Q3DSurface::setSelectionMode(QDataVis::SelectionFlags mode) -{ - dptr()->m_shared->setSelectionMode(mode); -} - -QDataVis::SelectionFlags Q3DSurface::selectionMode() const -{ - return dptrc()->m_shared->selectionMode(); -} - -/*! - * \property Q3DSurface::scene - * - * This property contains the read only Q3DScene that can be used to access, for example, a camera object. - */ -Q3DScene *Q3DSurface::scene() const -{ - return dptrc()->m_shared->scene(); -} - /*! * Sets a user-defined X-axis. Implicitly calls addAxis() to transfer ownership * of the \a axis to this graph. @@ -361,13 +258,12 @@ QList Q3DSurface::axes() const /////////////////// PRIVATE /////////////////////////////////// Q3DSurfacePrivate::Q3DSurfacePrivate(Q3DSurface *q) - : Q3DWindowPrivate(q) + : QAbstract3DGraphPrivate(q) { } Q3DSurfacePrivate::~Q3DSurfacePrivate() { - delete m_shared; } Q3DSurface *Q3DSurfacePrivate::qptr() diff --git a/src/datavisualization/engine/q3dsurface.h b/src/datavisualization/engine/q3dsurface.h index b91854d5..822e9d7c 100644 --- a/src/datavisualization/engine/q3dsurface.h +++ b/src/datavisualization/engine/q3dsurface.h @@ -20,7 +20,7 @@ #define Q3DSURFACE_H #include -#include +#include #include #include @@ -30,13 +30,9 @@ class Q3DSurfacePrivate; class Q3DValueAxis; class QSurface3DSeries; -class QT_DATAVISUALIZATION_EXPORT Q3DSurface : public Q3DWindow +class QT_DATAVISUALIZATION_EXPORT Q3DSurface : public QAbstract3DGraph { Q_OBJECT - Q_PROPERTY(QtDataVisualization::QDataVis::SelectionFlags selectionMode READ selectionMode WRITE setSelectionMode NOTIFY selectionModeChanged) - Q_PROPERTY(QtDataVisualization::QDataVis::ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality NOTIFY shadowQualityChanged) - Q_PROPERTY(Q3DScene* scene READ scene) - public: explicit Q3DSurface(QWindow *parent = 0); virtual ~Q3DSurface(); @@ -45,12 +41,6 @@ public: void removeSeries(QSurface3DSeries *series); QList seriesList(); - void setShadowQuality(QDataVis::ShadowQuality quality); - QDataVis::ShadowQuality shadowQuality() const; - - void setSelectionMode(QDataVis::SelectionFlags mode); - QDataVis::SelectionFlags selectionMode() const; - // Axes void setAxisX(Q3DValueAxis *axis); Q3DValueAxis *axisX() const; @@ -62,20 +52,6 @@ public: void releaseAxis(Q3DValueAxis *axis); QList axes() const; - Q3DScene *scene() const; - -signals: - void selectionModeChanged(QDataVis::SelectionFlags mode); - void shadowQualityChanged(QDataVis::ShadowQuality quality); - -protected: - void mouseDoubleClickEvent(QMouseEvent *event); - void touchEvent(QTouchEvent *event); - void mousePressEvent(QMouseEvent *event); - void mouseReleaseEvent(QMouseEvent *event); - void mouseMoveEvent(QMouseEvent *event); - void wheelEvent(QWheelEvent *event); - private: Q3DSurfacePrivate *dptr(); const Q3DSurfacePrivate *dptrc() const; diff --git a/src/datavisualization/engine/q3dsurface_p.h b/src/datavisualization/engine/q3dsurface_p.h index de2a518c..b1284453 100644 --- a/src/datavisualization/engine/q3dsurface_p.h +++ b/src/datavisualization/engine/q3dsurface_p.h @@ -31,7 +31,7 @@ #include "surface3dcontroller_p.h" #include "qdatavisualizationenums.h" -#include "q3dwindow_p.h" +#include "qabstract3dgraph_p.h" #include @@ -39,7 +39,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE class Q3DSurface; -class Q3DSurfacePrivate : public Q3DWindowPrivate +class Q3DSurfacePrivate : public QAbstract3DGraphPrivate { Q_OBJECT public: diff --git a/src/datavisualization/engine/q3dwindow.cpp b/src/datavisualization/engine/q3dwindow.cpp deleted file mode 100644 index 6bf7da5e..00000000 --- a/src/datavisualization/engine/q3dwindow.cpp +++ /dev/null @@ -1,310 +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 "q3dwindow.h" -#include "q3dwindow_p.h" -#include "abstract3dcontroller_p.h" -#include "qabstract3dinputhandler_p.h" -#include "q3dscene_p.h" - -#include -#include -#include -#include - - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE - -/*! - * \class Q3DWindow - * \inmodule QtDataVisualization - * \brief The Q3DWindow class provides a window and render loop. - * \since Qt Data Visualization 1.0 - * - * This class creates a QWindow and provides render loop for visualization types inheriting it. - * - * You should not need to use this class directly, but one of its subclasses instead. - * - * \note Q3DWindow sets window flag \c{Qt::FramelessWindowHint} on by default. If you want to display - * graph windows as standalone windows with regular window frame, clear this flag after constructing - * the graph. For example: - * - * \code - * Q3DBars *graphWindow = new Q3DBars; - * graphWindow->setFlags(graphWindow->flags() ^ Qt::FramelessWindowHint); - * \endcode - * - * \sa Q3DBars, Q3DScatter, Q3DSurface, {Qt Data Visualization C++ Classes} - */ - -/*! - * \internal - */ -Q3DWindow::Q3DWindow(Q3DWindowPrivate *d, QWindow *parent) - : QWindow(parent), - d_ptr(d) -{ - d_ptr->m_context = new QOpenGLContext(this); - - setFlags(flags() | Qt::FramelessWindowHint); - setSurfaceType(QWindow::OpenGLSurface); - QSurfaceFormat surfaceFormat; - surfaceFormat.setDepthBufferSize(24); -#if !defined(QT_OPENGL_ES_2) - surfaceFormat.setSamples(8); - surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL); -#else - surfaceFormat.setRenderableType(QSurfaceFormat::OpenGLES); -#endif - surfaceFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer); - setFormat(surfaceFormat); - - create(); - - d_ptr->m_context->setFormat(requestedFormat()); - d_ptr->m_context->create(); - d_ptr->m_context->makeCurrent(this); - - initializeOpenGLFunctions(); - - const GLubyte *version = glGetString(GL_VERSION); - qDebug() << "OpenGL version:" << (const char *)version; - version = glGetString(GL_SHADING_LANGUAGE_VERSION); - qDebug() << "GLSL version:" << (const char *)version; -#if !defined(QT_OPENGL_ES_2) - // If we have real OpenGL, GLSL version must be 1.2 or over. Quit if not. - QStringList splitversionstr = QString::fromLatin1((const char *)version).split(QChar::fromLatin1(' ')); - if (splitversionstr[0].toFloat() < 1.2) - qFatal("GLSL version must be 1.20 or higher. Try installing latest display drivers."); -#endif - - QObject::connect(d_ptr->m_visualController, &Abstract3DController::activeThemeChanged, this, - &Q3DWindow::activeThemeChanged); - - d_ptr->renderLater(); -} - -/*! - * Destroys Q3DWindow. - */ -Q3DWindow::~Q3DWindow() -{ -} - -/*! - * Adds the given \a inputHandler to the graph. The input handlers added via addInputHandler - * are not taken in to use directly. Only the ownership of the a\ inputHandler is given to the graph. - * The \a inputHandler must not be null or already added to another graph. - * - * \sa releaseInputHandler(), setActiveInputHandler() - */ -void Q3DWindow::addInputHandler(QAbstract3DInputHandler *inputHandler) -{ - d_ptr->m_visualController->addInputHandler(inputHandler); -} - -/*! - * Releases the ownership of the \a inputHandler back to the caller, if it was added to this graph. - * If the released \a inputHandler is in use there will be no input handler active after this call. - * - * If the default input handler is released and added back later, it behaves as any other input handler would. - * - * \sa addInputHandler(), setActiveInputHandler() - */ -void Q3DWindow::releaseInputHandler(QAbstract3DInputHandler *inputHandler) -{ - d_ptr->m_visualController->releaseInputHandler(inputHandler); -} - -/*! - * Sets the active \a inputHandler. Implicitly calls addInputHandler() to transfer ownership of - * the \a inputHandler to this graph. - * - * If the \a inputHandler is null, no input handler will be active after this call. - * - * \sa addInputHandler(), releaseInputHandler() - */ -void Q3DWindow::setActiveInputHandler(QAbstract3DInputHandler *inputHandler) -{ - d_ptr->m_visualController->setActiveInputHandler(inputHandler); -} - -/*! - * \return currently active input handler. - */ -QAbstract3DInputHandler *Q3DWindow::activeInputHandler() -{ - return d_ptr->m_visualController->activeInputHandler(); -} - -/*! - * Adds the given \a theme to the graph. The themes added via addTheme are not taken in to use - * directly. Only the ownership of the a\ theme is given to the graph. - * The \a theme must not be null or already added to another graph. - * - * \sa releaseTheme(), setActiveTheme() - */ -void Q3DWindow::addTheme(Q3DTheme *theme) -{ - d_ptr->m_visualController->addTheme(theme); -} - -/*! - * Releases the ownership of the \a theme back to the caller, if it was added to this graph. - * If the released \a theme is in use, a new default theme will be created and set active. - * - * If the default theme is released and added back later, it behaves as any other theme would. - * - * \sa addTheme(), setActiveTheme() - */ -void Q3DWindow::releaseTheme(Q3DTheme *theme) -{ - d_ptr->m_visualController->releaseTheme(theme); -} - -/*! - * \property Q3DWindow::activeTheme - * - * The active \a theme to be used for the graph. Implicitly calls addTheme() to transfer ownership - * of the \a theme to this graph. - * If the \a theme is null, a temporary default theme is created. This temporary theme is destroyed - * if any theme is explicitly set later. - * Properties of the \a theme can be modified even after setting it, and the modifications take - * effect immediately. - */ -void Q3DWindow::setActiveTheme(Q3DTheme *theme) -{ - d_ptr->m_visualController->setActiveTheme(theme); -} - - -Q3DTheme *Q3DWindow::activeTheme() const -{ - return d_ptr->m_visualController->activeTheme(); -} - -/*! - * \return list of all added themes. - * - * \sa addTheme() - */ -QList Q3DWindow::themes() const -{ - return d_ptr->m_visualController->themes(); -} - -/*! - * \internal - */ -bool Q3DWindow::event(QEvent *event) -{ - switch (event->type()) { - case QEvent::UpdateRequest: - d_ptr->renderNow(); - return true; - case QEvent::TouchBegin: - case QEvent::TouchCancel: - case QEvent::TouchUpdate: - case QEvent::TouchEnd: - d_ptr->m_visualController->touchEvent(static_cast(event)); - return true; - default: - return QWindow::event(event); - } -} - -/*! - * \internal - */ -void Q3DWindow::resizeEvent(QResizeEvent *event) -{ - Q_UNUSED(event); - - Q3DScene *scene = d_ptr->m_visualController->scene(); - scene->d_ptr->setWindowSize(QSize(width(), height())); - scene->d_ptr->setViewport(QRect(0, 0, width(), height())); -} - -/*! - * \internal - */ -void Q3DWindow::exposeEvent(QExposeEvent *event) -{ - Q_UNUSED(event); - - if (isExposed()) - d_ptr->renderNow(); -} - -Q3DWindowPrivate::Q3DWindowPrivate(Q3DWindow *q) - : QObject(0), - q_ptr(q), - m_updatePending(false), - m_visualController(0), - m_devicePixelRatio(1.f) -{ -} - -Q3DWindowPrivate::~Q3DWindowPrivate() -{ -} - -void Q3DWindowPrivate::render() -{ - handleDevicePixelRatioChange(); - m_visualController->synchDataToRenderer(); - m_visualController->render(); -} - -void Q3DWindowPrivate::renderLater() -{ - if (!m_updatePending) { - m_updatePending = true; - QCoreApplication::postEvent(q_ptr, new QEvent(QEvent::UpdateRequest)); - } -} - -void Q3DWindowPrivate::renderNow() -{ - if (!q_ptr->isExposed()) - return; - - m_updatePending = false; - - m_context->makeCurrent(q_ptr); - - render(); - - m_context->swapBuffers(q_ptr); -} - -void Q3DWindowPrivate::setVisualController(Abstract3DController *controller) -{ - m_visualController = controller; -} - -void Q3DWindowPrivate::handleDevicePixelRatioChange() -{ - if (q_ptr->devicePixelRatio() == m_devicePixelRatio || !m_visualController) - return; - - m_devicePixelRatio = q_ptr->devicePixelRatio(); - m_visualController->scene()->setDevicePixelRatio(m_devicePixelRatio); -} - -QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/engine/q3dwindow.h b/src/datavisualization/engine/q3dwindow.h deleted file mode 100644 index 18542868..00000000 --- a/src/datavisualization/engine/q3dwindow.h +++ /dev/null @@ -1,76 +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 Q3DWINDOW_H -#define Q3DWINDOW_H - -#include - -#include -#include -#include - -class QPainter; - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE - -class Q3DWindowPrivate; -class Abstract3DController; -class QAbstract3DInputHandler; -class Q3DTheme; - -class QT_DATAVISUALIZATION_EXPORT Q3DWindow : public QWindow, protected QOpenGLFunctions -{ - Q_OBJECT - Q_PROPERTY(Q3DTheme* activeTheme READ activeTheme WRITE setActiveTheme NOTIFY activeThemeChanged) - -protected: - explicit Q3DWindow(Q3DWindowPrivate *d, QWindow *parent = 0); -public: - virtual ~Q3DWindow(); - - void addInputHandler(QAbstract3DInputHandler *inputHandler); - void releaseInputHandler(QAbstract3DInputHandler *inputHandler); - void setActiveInputHandler(QAbstract3DInputHandler *inputHandler); - QAbstract3DInputHandler *activeInputHandler(); - - void addTheme(Q3DTheme *theme); - void releaseTheme(Q3DTheme *theme); - void setActiveTheme(Q3DTheme *theme); - Q3DTheme *activeTheme() const; - QList themes() const; - -protected: - bool event(QEvent *event); - void resizeEvent(QResizeEvent *event); - void exposeEvent(QExposeEvent *event); - -signals: - void activeThemeChanged(Q3DTheme *theme); - -private: - QScopedPointer d_ptr; - - friend class Q3DBars; - friend class Q3DScatter; - friend class Q3DSurface; -}; - -QT_DATAVISUALIZATION_END_NAMESPACE - -#endif diff --git a/src/datavisualization/engine/q3dwindow_p.h b/src/datavisualization/engine/q3dwindow_p.h deleted file mode 100644 index ba8c67da..00000000 --- a/src/datavisualization/engine/q3dwindow_p.h +++ /dev/null @@ -1,71 +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 -** -****************************************************************************/ - -// -// W A R N I N G -// ------------- -// -// This file is not part of the QtDataVisualization API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. - -#ifndef Q3DWINDOW_P_H -#define Q3DWINDOW_P_H - -#include "datavisualizationglobal_p.h" - -#include - -class QOpenGLContext; -class QOpenGLPaintDevice; - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE - -class Q3DWindow; -class Abstract3DController; - -class Q3DWindowPrivate : public QObject -{ - Q_OBJECT -public: - Q3DWindowPrivate(Q3DWindow *q); - ~Q3DWindowPrivate(); - - void render(); - - void setVisualController(Abstract3DController *controller); - void handleDevicePixelRatioChange(); - -public slots: - void renderLater(); - void renderNow(); - -public: - Q3DWindow *q_ptr; - - bool m_updatePending; - QOpenGLContext *m_context; - Abstract3DController *m_visualController; - float m_devicePixelRatio; -}; - -QT_DATAVISUALIZATION_END_NAMESPACE - -#endif diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp new file mode 100644 index 00000000..8968ebb0 --- /dev/null +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -0,0 +1,414 @@ +/**************************************************************************** +** +** 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 "qabstract3dgraph.h" +#include "qabstract3dgraph_p.h" +#include "abstract3dcontroller_p.h" +#include "qabstract3dinputhandler_p.h" +#include "q3dscene_p.h" + +#include +#include +#include +#include + + +QT_DATAVISUALIZATION_BEGIN_NAMESPACE + +/*! + * \class QAbstract3DGraph + * \inmodule QtDataVisualization + * \brief The QAbstract3DGraph class provides a window and render loop for graphs. + * \since Qt Data Visualization 1.0 + * + * This class subclasses a QWindow and provides render loop for graphs inheriting it. + * + * You should not need to use this class directly, but one of its subclasses instead. + * + * \note QAbstract3DGraph sets window flag \c{Qt::FramelessWindowHint} on by default. If you want to display + * graph windows as standalone windows with regular window frame, clear this flag after constructing + * the graph. For example: + * + * \code + * Q3DBars *graphWindow = new Q3DBars; + * graphWindow->setFlags(graphWindow->flags() ^ Qt::FramelessWindowHint); + * \endcode + * + * \sa Q3DBars, Q3DScatter, Q3DSurface, {Qt Data Visualization C++ Classes} + */ + +/*! + * \internal + */ +QAbstract3DGraph::QAbstract3DGraph(QAbstract3DGraphPrivate *d, QWindow *parent) + : QWindow(parent), + d_ptr(d) +{ + d_ptr->m_context = new QOpenGLContext(this); + + setFlags(flags() | Qt::FramelessWindowHint); + setSurfaceType(QWindow::OpenGLSurface); + QSurfaceFormat surfaceFormat; + surfaceFormat.setDepthBufferSize(24); +#if !defined(QT_OPENGL_ES_2) + surfaceFormat.setSamples(8); + surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL); +#else + surfaceFormat.setRenderableType(QSurfaceFormat::OpenGLES); +#endif + surfaceFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer); + setFormat(surfaceFormat); + + create(); + + d_ptr->m_context->setFormat(requestedFormat()); + d_ptr->m_context->create(); + d_ptr->m_context->makeCurrent(this); + + initializeOpenGLFunctions(); + + const GLubyte *version = glGetString(GL_VERSION); + qDebug() << "OpenGL version:" << (const char *)version; + version = glGetString(GL_SHADING_LANGUAGE_VERSION); + qDebug() << "GLSL version:" << (const char *)version; +#if !defined(QT_OPENGL_ES_2) + // If we have real OpenGL, GLSL version must be 1.2 or over. Quit if not. + QStringList splitversionstr = QString::fromLatin1((const char *)version).split(QChar::fromLatin1(' ')); + if (splitversionstr[0].toFloat() < 1.2) + qFatal("GLSL version must be 1.20 or higher. Try installing latest display drivers."); +#endif + + d_ptr->renderLater(); +} + +/*! + * Destroys QAbstract3DGraph. + */ +QAbstract3DGraph::~QAbstract3DGraph() +{ +} + +/*! + * Adds the given \a inputHandler to the graph. The input handlers added via addInputHandler + * are not taken in to use directly. Only the ownership of the a\ inputHandler is given to the graph. + * The \a inputHandler must not be null or already added to another graph. + * + * \sa releaseInputHandler(), setActiveInputHandler() + */ +void QAbstract3DGraph::addInputHandler(QAbstract3DInputHandler *inputHandler) +{ + d_ptr->m_visualController->addInputHandler(inputHandler); +} + +/*! + * Releases the ownership of the \a inputHandler back to the caller, if it was added to this graph. + * If the released \a inputHandler is in use there will be no input handler active after this call. + * + * If the default input handler is released and added back later, it behaves as any other input handler would. + * + * \sa addInputHandler(), setActiveInputHandler() + */ +void QAbstract3DGraph::releaseInputHandler(QAbstract3DInputHandler *inputHandler) +{ + d_ptr->m_visualController->releaseInputHandler(inputHandler); +} + +/*! + * \property QAbstract3DGraph::activeInputHandler + * + * The active \a inputHandler used in the graph. Implicitly calls addInputHandler() to transfer + * ownership of the \a inputHandler to this graph. + * + * If the \a inputHandler is null, no input handler will be active after this call. + * + * \sa addInputHandler(), releaseInputHandler() + */ +void QAbstract3DGraph::setActiveInputHandler(QAbstract3DInputHandler *inputHandler) +{ + d_ptr->m_visualController->setActiveInputHandler(inputHandler); +} + +QAbstract3DInputHandler *QAbstract3DGraph::activeInputHandler() +{ + return d_ptr->m_visualController->activeInputHandler(); +} + +/*! + * Adds the given \a theme to the graph. The themes added via addTheme are not taken in to use + * directly. Only the ownership of the a\ theme is given to the graph. + * The \a theme must not be null or already added to another graph. + * + * \sa releaseTheme(), setActiveTheme() + */ +void QAbstract3DGraph::addTheme(Q3DTheme *theme) +{ + d_ptr->m_visualController->addTheme(theme); +} + +/*! + * Releases the ownership of the \a theme back to the caller, if it was added to this graph. + * If the released \a theme is in use, a new default theme will be created and set active. + * + * If the default theme is released and added back later, it behaves as any other theme would. + * + * \sa addTheme(), setActiveTheme() + */ +void QAbstract3DGraph::releaseTheme(Q3DTheme *theme) +{ + d_ptr->m_visualController->releaseTheme(theme); +} + +/*! + * \property QAbstract3DGraph::activeTheme + * + * The active \a theme to be used for the graph. Implicitly calls addTheme() to transfer ownership + * of the \a theme to this graph. + * If the \a theme is null, a temporary default theme is created. This temporary theme is destroyed + * if any theme is explicitly set later. + * Properties of the \a theme can be modified even after setting it, and the modifications take + * effect immediately. + */ +void QAbstract3DGraph::setActiveTheme(Q3DTheme *theme) +{ + d_ptr->m_visualController->setActiveTheme(theme); +} + + +Q3DTheme *QAbstract3DGraph::activeTheme() const +{ + return d_ptr->m_visualController->activeTheme(); +} + +/*! + * \return list of all added themes. + * + * \sa addTheme() + */ +QList QAbstract3DGraph::themes() const +{ + return d_ptr->m_visualController->themes(); +} + +/*! + * \property QAbstract3DGraph::selectionMode + * + * Sets selection \a mode to a combination of \c QDataVis::SelectionFlags. It is preset to + * \c QDataVis::SelectionItem by default. + * Different graph types support different selection modes. See \c QDataVis::SelectionFlags + * documentation for details. + */ +void QAbstract3DGraph::setSelectionMode(QDataVis::SelectionFlags mode) +{ + d_ptr->m_visualController->setSelectionMode(mode); +} + +QDataVis::SelectionFlags QAbstract3DGraph::selectionMode() const +{ + return d_ptr->m_visualController->selectionMode(); +} + +/*! + * \property QAbstract3DGraph::shadowQuality + * + * Sets shadow \a quality to one of \c QDataVis::ShadowQuality. It is preset to + * \c QDataVis::ShadowQualityMedium by default. + * + * \note If setting QDataVis::ShadowQuality of a certain level fails, a level is lowered + * until it is successful and shadowQualityChanged signal is emitted for each time the change is + * done. + */ +void QAbstract3DGraph::setShadowQuality(QDataVis::ShadowQuality quality) +{ + d_ptr->m_visualController->setShadowQuality(quality); +} + +QDataVis::ShadowQuality QAbstract3DGraph::shadowQuality() const +{ + return d_ptr->m_visualController->shadowQuality(); +} + +/*! + * \property QAbstract3DGraph::scene + * + * This property contains the read only Q3DScene that can be used to access e.g. camera object. + */ +Q3DScene *QAbstract3DGraph::scene() const +{ + return d_ptr->m_visualController->scene(); +} + +/*! + * \internal + */ +bool QAbstract3DGraph::event(QEvent *event) +{ + switch (event->type()) { + case QEvent::UpdateRequest: + d_ptr->renderNow(); + return true; + case QEvent::TouchBegin: + case QEvent::TouchCancel: + case QEvent::TouchUpdate: + case QEvent::TouchEnd: + d_ptr->m_visualController->touchEvent(static_cast(event)); + return true; + default: + return QWindow::event(event); + } +} + +/*! + * \internal + */ +void QAbstract3DGraph::resizeEvent(QResizeEvent *event) +{ + Q_UNUSED(event); + + Q3DScene *scene = d_ptr->m_visualController->scene(); + scene->d_ptr->setWindowSize(QSize(width(), height())); + scene->d_ptr->setViewport(QRect(0, 0, width(), height())); +} + +/*! + * \internal + */ +void QAbstract3DGraph::exposeEvent(QExposeEvent *event) +{ + Q_UNUSED(event); + + if (isExposed()) + d_ptr->renderNow(); +} + +/*! + * \internal + */ +void QAbstract3DGraph::mouseDoubleClickEvent(QMouseEvent *event) +{ + d_ptr->m_visualController->mouseDoubleClickEvent(event); +} + +/*! + * \internal + */ +void QAbstract3DGraph::touchEvent(QTouchEvent *event) +{ + d_ptr->m_visualController->touchEvent(event); +} + +/*! + * \internal + */ +void QAbstract3DGraph::mousePressEvent(QMouseEvent *event) +{ + d_ptr->m_visualController->mousePressEvent(event, event->pos()); +} + +/*! + * \internal + */ +void QAbstract3DGraph::mouseReleaseEvent(QMouseEvent *event) +{ + d_ptr->m_visualController->mouseReleaseEvent(event, event->pos()); +} + +/*! + * \internal + */ +void QAbstract3DGraph::mouseMoveEvent(QMouseEvent *event) +{ + d_ptr->m_visualController->mouseMoveEvent(event, event->pos()); +} + +/*! + * \internal + */ +void QAbstract3DGraph::wheelEvent(QWheelEvent *event) +{ + d_ptr->m_visualController->wheelEvent(event); +} + +QAbstract3DGraphPrivate::QAbstract3DGraphPrivate(QAbstract3DGraph *q) + : QObject(0), + q_ptr(q), + m_updatePending(false), + m_visualController(0), + m_devicePixelRatio(1.f) +{ +} + +QAbstract3DGraphPrivate::~QAbstract3DGraphPrivate() +{ + delete m_visualController; +} + +void QAbstract3DGraphPrivate::render() +{ + handleDevicePixelRatioChange(); + m_visualController->synchDataToRenderer(); + m_visualController->render(); +} + +void QAbstract3DGraphPrivate::renderLater() +{ + if (!m_updatePending) { + m_updatePending = true; + QCoreApplication::postEvent(q_ptr, new QEvent(QEvent::UpdateRequest)); + } +} + +void QAbstract3DGraphPrivate::renderNow() +{ + if (!q_ptr->isExposed()) + return; + + m_updatePending = false; + + m_context->makeCurrent(q_ptr); + + render(); + + m_context->swapBuffers(q_ptr); +} + +void QAbstract3DGraphPrivate::setVisualController(Abstract3DController *controller) +{ + m_visualController = controller; + + QObject::connect(m_visualController, &Abstract3DController::activeInputHandlerChanged, q_ptr, + &QAbstract3DGraph::activeInputHandlerChanged); + QObject::connect(m_visualController, &Abstract3DController::activeThemeChanged, q_ptr, + &QAbstract3DGraph::activeThemeChanged); + QObject::connect(m_visualController, &Abstract3DController::selectionModeChanged, q_ptr, + &QAbstract3DGraph::selectionModeChanged); + QObject::connect(m_visualController, &Abstract3DController::shadowQualityChanged, q_ptr, + &QAbstract3DGraph::shadowQualityChanged); + QObject::connect(m_visualController, &Abstract3DController::needRender, this, + &QAbstract3DGraphPrivate::renderLater); +} + +void QAbstract3DGraphPrivate::handleDevicePixelRatioChange() +{ + if (q_ptr->devicePixelRatio() == m_devicePixelRatio || !m_visualController) + return; + + m_devicePixelRatio = q_ptr->devicePixelRatio(); + m_visualController->scene()->setDevicePixelRatio(m_devicePixelRatio); +} + +QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/engine/qabstract3dgraph.h b/src/datavisualization/engine/qabstract3dgraph.h new file mode 100644 index 00000000..f2d7eb48 --- /dev/null +++ b/src/datavisualization/engine/qabstract3dgraph.h @@ -0,0 +1,100 @@ +/**************************************************************************** +** +** 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 QABSTRACT3DGRAPH_H +#define QABSTRACT3DGRAPH_H + +#include + +#include +#include +#include + +class QPainter; + +QT_DATAVISUALIZATION_BEGIN_NAMESPACE + +class QAbstract3DGraphPrivate; +class Abstract3DController; +class QAbstract3DInputHandler; +class Q3DTheme; +class Q3DScene; + +class QT_DATAVISUALIZATION_EXPORT QAbstract3DGraph : public QWindow, protected QOpenGLFunctions +{ + Q_OBJECT + Q_PROPERTY(QAbstract3DInputHandler* activeInputHandler READ activeInputHandler WRITE setActiveInputHandler NOTIFY activeInputHandlerChanged) + Q_PROPERTY(Q3DTheme* activeTheme READ activeTheme WRITE setActiveTheme NOTIFY activeThemeChanged) + Q_PROPERTY(QtDataVisualization::QDataVis::SelectionFlags selectionMode READ selectionMode WRITE setSelectionMode NOTIFY selectionModeChanged) + Q_PROPERTY(QtDataVisualization::QDataVis::ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality NOTIFY shadowQualityChanged) + Q_PROPERTY(Q3DScene* scene READ scene) + +protected: + explicit QAbstract3DGraph(QAbstract3DGraphPrivate *d, QWindow *parent = 0); +public: + virtual ~QAbstract3DGraph(); + + void addInputHandler(QAbstract3DInputHandler *inputHandler); + void releaseInputHandler(QAbstract3DInputHandler *inputHandler); + void setActiveInputHandler(QAbstract3DInputHandler *inputHandler); + QAbstract3DInputHandler *activeInputHandler(); + + void addTheme(Q3DTheme *theme); + void releaseTheme(Q3DTheme *theme); + void setActiveTheme(Q3DTheme *theme); + Q3DTheme *activeTheme() const; + QList themes() const; + + void setSelectionMode(QDataVis::SelectionFlags mode); + QDataVis::SelectionFlags selectionMode() const; + + void setShadowQuality(QDataVis::ShadowQuality quality); + QDataVis::ShadowQuality shadowQuality() const; + + Q3DScene *scene() const; + +protected: + bool event(QEvent *event); + void resizeEvent(QResizeEvent *event); + void exposeEvent(QExposeEvent *event); + + void mouseDoubleClickEvent(QMouseEvent *event); + void touchEvent(QTouchEvent *event); + void mousePressEvent(QMouseEvent *event); + void mouseReleaseEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); + void wheelEvent(QWheelEvent *event); + + +signals: + void activeInputHandlerChanged(QAbstract3DInputHandler *inputHandler); + void activeThemeChanged(Q3DTheme *theme); + void selectionModeChanged(QDataVis::SelectionFlags mode); + void shadowQualityChanged(QDataVis::ShadowQuality quality); + +private: + QScopedPointer d_ptr; + + friend class Q3DBars; + friend class Q3DScatter; + friend class Q3DSurface; +}; + +QT_DATAVISUALIZATION_END_NAMESPACE + +#endif diff --git a/src/datavisualization/engine/qabstract3dgraph_p.h b/src/datavisualization/engine/qabstract3dgraph_p.h new file mode 100644 index 00000000..18e88c92 --- /dev/null +++ b/src/datavisualization/engine/qabstract3dgraph_p.h @@ -0,0 +1,71 @@ +/**************************************************************************** +** +** 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 +** +****************************************************************************/ + +// +// W A R N I N G +// ------------- +// +// This file is not part of the QtDataVisualization API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. + +#ifndef QABSTRACT3DGRAPH_P_H +#define QABSTRACT3DGRAPH_P_H + +#include "datavisualizationglobal_p.h" + +#include + +class QOpenGLContext; +class QOpenGLPaintDevice; + +QT_DATAVISUALIZATION_BEGIN_NAMESPACE + +class QAbstract3DGraph; +class Abstract3DController; + +class QAbstract3DGraphPrivate : public QObject +{ + Q_OBJECT +public: + QAbstract3DGraphPrivate(QAbstract3DGraph *q); + ~QAbstract3DGraphPrivate(); + + void render(); + + void setVisualController(Abstract3DController *controller); + void handleDevicePixelRatioChange(); + +public slots: + void renderLater(); + void renderNow(); + +public: + QAbstract3DGraph *q_ptr; + + bool m_updatePending; + QOpenGLContext *m_context; + Abstract3DController *m_visualController; + float m_devicePixelRatio; +}; + +QT_DATAVISUALIZATION_END_NAMESPACE + +#endif -- cgit v1.2.3 From 467e729eabece018cd42eeee0160f932983561b0 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 7 Jan 2014 13:11:34 +0200 Subject: Rename axis classes Moved the '3D' in axis class names so that the classes would be in line with other '3D' classes. Task-number: QTRD-2674 Change-Id: Ie4f8a10babe3bf1b0b30b366863f55ed02ec66ba Reviewed-by: Mika Salmela --- src/datavisualization/axis/axis.pri | 18 +- src/datavisualization/axis/q3dabstractaxis.cpp | 404 --------------------- src/datavisualization/axis/q3dabstractaxis.h | 107 ------ src/datavisualization/axis/q3dabstractaxis_p.h | 77 ---- src/datavisualization/axis/q3dcategoryaxis.cpp | 156 -------- src/datavisualization/axis/q3dcategoryaxis.h | 53 --- src/datavisualization/axis/q3dcategoryaxis_p.h | 57 --- src/datavisualization/axis/q3dvalueaxis.cpp | 270 -------------- src/datavisualization/axis/q3dvalueaxis.h | 65 ---- src/datavisualization/axis/q3dvalueaxis_p.h | 66 ---- src/datavisualization/axis/qabstract3daxis.cpp | 404 +++++++++++++++++++++ src/datavisualization/axis/qabstract3daxis.h | 107 ++++++ src/datavisualization/axis/qabstract3daxis_p.h | 77 ++++ src/datavisualization/axis/qcategory3daxis.cpp | 156 ++++++++ src/datavisualization/axis/qcategory3daxis.h | 53 +++ src/datavisualization/axis/qcategory3daxis_p.h | 57 +++ src/datavisualization/axis/qvalue3daxis.cpp | 270 ++++++++++++++ src/datavisualization/axis/qvalue3daxis.h | 65 ++++ src/datavisualization/axis/qvalue3daxis_p.h | 66 ++++ src/datavisualization/data/qbar3dseries.cpp | 2 +- src/datavisualization/data/qbardataproxy.cpp | 2 +- src/datavisualization/data/qscatter3dseries.cpp | 6 +- src/datavisualization/data/qsurface3dseries.cpp | 6 +- .../engine/abstract3dcontroller.cpp | 160 ++++---- .../engine/abstract3dcontroller_p.h | 40 +- .../engine/abstract3drenderer.cpp | 30 +- .../engine/abstract3drenderer_p.h | 16 +- src/datavisualization/engine/axisrendercache.cpp | 4 +- src/datavisualization/engine/axisrendercache_p.h | 8 +- src/datavisualization/engine/bars3dcontroller.cpp | 28 +- src/datavisualization/engine/bars3dcontroller_p.h | 8 +- src/datavisualization/engine/bars3drenderer.cpp | 4 +- src/datavisualization/engine/bars3drenderer_p.h | 2 +- src/datavisualization/engine/q3dbars.cpp | 28 +- src/datavisualization/engine/q3dbars.h | 24 +- src/datavisualization/engine/q3dscatter.cpp | 34 +- src/datavisualization/engine/q3dscatter.h | 22 +- src/datavisualization/engine/q3dsurface.cpp | 36 +- src/datavisualization/engine/q3dsurface.h | 20 +- .../engine/scatter3dcontroller.cpp | 12 +- .../engine/scatter3dcontroller_p.h | 2 +- src/datavisualization/engine/scatter3drenderer.cpp | 2 +- src/datavisualization/engine/scatter3drenderer_p.h | 2 +- .../engine/surface3dcontroller.cpp | 14 +- .../engine/surface3dcontroller_p.h | 2 +- 45 files changed, 1521 insertions(+), 1521 deletions(-) delete mode 100644 src/datavisualization/axis/q3dabstractaxis.cpp delete mode 100644 src/datavisualization/axis/q3dabstractaxis.h delete mode 100644 src/datavisualization/axis/q3dabstractaxis_p.h delete mode 100644 src/datavisualization/axis/q3dcategoryaxis.cpp delete mode 100644 src/datavisualization/axis/q3dcategoryaxis.h delete mode 100644 src/datavisualization/axis/q3dcategoryaxis_p.h delete mode 100644 src/datavisualization/axis/q3dvalueaxis.cpp delete mode 100644 src/datavisualization/axis/q3dvalueaxis.h delete mode 100644 src/datavisualization/axis/q3dvalueaxis_p.h create mode 100644 src/datavisualization/axis/qabstract3daxis.cpp create mode 100644 src/datavisualization/axis/qabstract3daxis.h create mode 100644 src/datavisualization/axis/qabstract3daxis_p.h create mode 100644 src/datavisualization/axis/qcategory3daxis.cpp create mode 100644 src/datavisualization/axis/qcategory3daxis.h create mode 100644 src/datavisualization/axis/qcategory3daxis_p.h create mode 100644 src/datavisualization/axis/qvalue3daxis.cpp create mode 100644 src/datavisualization/axis/qvalue3daxis.h create mode 100644 src/datavisualization/axis/qvalue3daxis_p.h (limited to 'src/datavisualization') diff --git a/src/datavisualization/axis/axis.pri b/src/datavisualization/axis/axis.pri index 4e96618b..2c8bf70e 100644 --- a/src/datavisualization/axis/axis.pri +++ b/src/datavisualization/axis/axis.pri @@ -1,12 +1,12 @@ HEADERS += \ - $$PWD/q3dabstractaxis.h \ - $$PWD/q3dabstractaxis_p.h \ - $$PWD/q3dvalueaxis.h \ - $$PWD/q3dvalueaxis_p.h \ - $$PWD/q3dcategoryaxis.h \ - $$PWD/q3dcategoryaxis_p.h + $$PWD/qabstract3daxis.h \ + $$PWD/qabstract3daxis_p.h \ + $$PWD/qvalue3daxis.h \ + $$PWD/qvalue3daxis_p.h \ + $$PWD/qcategory3daxis.h \ + $$PWD/qcategory3daxis_p.h SOURCES += \ - $$PWD/q3dabstractaxis.cpp \ - $$PWD/q3dvalueaxis.cpp \ - $$PWD/q3dcategoryaxis.cpp + $$PWD/qabstract3daxis.cpp \ + $$PWD/qvalue3daxis.cpp \ + $$PWD/qcategory3daxis.cpp diff --git a/src/datavisualization/axis/q3dabstractaxis.cpp b/src/datavisualization/axis/q3dabstractaxis.cpp deleted file mode 100644 index 0b284947..00000000 --- a/src/datavisualization/axis/q3dabstractaxis.cpp +++ /dev/null @@ -1,404 +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 "q3dabstractaxis.h" -#include "q3dabstractaxis_p.h" - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE - -/*! - * \class Q3DAbstractAxis - * \inmodule QtDataVisualization - * \brief Q3DAbstractAxis is base class for axes of a graph. - * \since Qt Data Visualization 1.0 - * - * You should not need to use this class directly, but one of its subclasses instead. - * - * \sa Q3DCategoryAxis, Q3DValueAxis - */ - -/*! - * \qmltype AbstractAxis3D - * \inqmlmodule QtDataVisualization - * \since QtDataVisualization 1.0 - * \ingroup datavisualization_qml - * \instantiates Q3DAbstractAxis - * \brief AbstractAxis3D is base type for axes of a graph. - * - * This type is uncreatable, but contains properties that are exposed via subtypes. - */ - -/*! - * \qmlproperty string AbstractAxis3D::title - * Defines the title for the axis. - */ - -/*! - * \qmlproperty list AbstractAxis3D::labels - * Defines the labels for the axis. - * \note Setting this property for ValueAxis3D does nothing, as it generates labels automatically. - */ - -/*! - * \qmlproperty AbstractAxis3D.AxisOrientation AbstractAxis3D::orientation - * Defines the orientation of the axis. - */ - -/*! - * \qmlproperty AbstractAxis3D.AxisType AbstractAxis3D::type - * Defines the type of the axis. - */ - -/*! - * \qmlproperty real AbstractAxis3D::min - * - * Defines the minimum value on the axis. - * When setting this property the max is adjusted if necessary, to ensure that the range remains - * valid. - */ - -/*! - * \qmlproperty real AbstractAxis3D::max - * - * Defines the maximum value on the axis. - * When setting this property the min is adjusted if necessary, to ensure that the range remains - * valid. - */ - -/*! - * \qmlproperty bool AbstractAxis3D::autoAdjustRange - * - * If set, the axis will automatically adjust the range so that all data fits in it. - */ - - -/*! - * \enum Q3DAbstractAxis::AxisOrientation - * - * The orientation of the axis object. - * - * \value AxisOrientationNone - * \value AxisOrientationX - * \value AxisOrientationY - * \value AxisOrientationZ - */ - -/*! - * \enum Q3DAbstractAxis::AxisType - * - * The type of the axis object. - * - * \value AxisTypeNone - * \value AxisTypeCategory - * \value AxisTypeValue - */ - -/*! - * \internal - */ -Q3DAbstractAxis::Q3DAbstractAxis(Q3DAbstractAxisPrivate *d, QObject *parent) : - QObject(parent), - d_ptr(d) -{ -} - -/*! - * Destroys Q3DAbstractAxis. - */ -Q3DAbstractAxis::~Q3DAbstractAxis() -{ -} - -/*! - * \property Q3DAbstractAxis::orientation - * - * Defines the orientation of the axis, one of \c Q3DAbstractAxis::AxisOrientation. - */ -Q3DAbstractAxis::AxisOrientation Q3DAbstractAxis::orientation() const -{ - return d_ptr->m_orientation; -} - -/*! - * \property Q3DAbstractAxis::type - * - * Defines the type of the axis, one of \c Q3DAbstractAxis::AxisType. - */ -Q3DAbstractAxis::AxisType Q3DAbstractAxis::type() const -{ - return d_ptr->m_type; -} - -/*! - * \property Q3DAbstractAxis::title - * - * Defines the title for the axis. - */ -void Q3DAbstractAxis::setTitle(QString title) -{ - if (d_ptr->m_title != title) { - d_ptr->m_title = title; - emit titleChanged(title); - } -} - -QString Q3DAbstractAxis::title() const -{ - return d_ptr->m_title; -} - -/*! - * \property Q3DAbstractAxis::labels - * - * Defines the labels for the axis. - * \note Setting this property for Q3DValueAxis does nothing, as it generates labels automatically. - */ -void Q3DAbstractAxis::setLabels(const QStringList &labels) -{ - Q_UNUSED(labels) -} - -QStringList Q3DAbstractAxis::labels() const -{ - d_ptr->updateLabels(); - return d_ptr->m_labels; -} - -/*! - * Sets value range of the axis from \a min to \a max. - * When setting the range, the max is adjusted if necessary, to ensure that the range remains valid. - * \note For Q3DCategoryAxis this specifies the index range of rows or columns to show. - */ -void Q3DAbstractAxis::setRange(float min, float max) -{ - d_ptr->setRange(min, max); - setAutoAdjustRange(false); -} - -/*! - * \property Q3DAbstractAxis::min - * - * Defines the minimum value on the axis. - * When setting this property the max is adjusted if necessary, to ensure that the range remains - * valid. - * \note For Q3DCategoryAxis this specifies the index of the first row or column to show. - */ -void Q3DAbstractAxis::setMin(float min) -{ - d_ptr->setMin(min); - setAutoAdjustRange(false); -} - -/*! - * \property Q3DAbstractAxis::max - * - * Defines the maximum value on the axis. - * When setting this property the min is adjusted if necessary, to ensure that the range remains - * valid. - * \note For Q3DCategoryAxis this specifies the index of the last row or column to show. - */ -void Q3DAbstractAxis::setMax(float max) -{ - d_ptr->setMax(max); - setAutoAdjustRange(false); -} - -float Q3DAbstractAxis::min() const -{ - return d_ptr->m_min; -} - -float Q3DAbstractAxis::max() const -{ - return d_ptr->m_max; -} - -/*! - * \property Q3DAbstractAxis::autoAdjustRange - * - * If set, the axis will automatically adjust the range so that all data fits in it. - * - * \sa setRange(), setMin(), setMax() - */ -void Q3DAbstractAxis::setAutoAdjustRange(bool autoAdjust) -{ - if (d_ptr->m_autoAdjust != autoAdjust) { - d_ptr->m_autoAdjust = autoAdjust; - emit autoAdjustRangeChanged(autoAdjust); - } -} - -bool Q3DAbstractAxis::isAutoAdjustRange() const -{ - return d_ptr->m_autoAdjust; -} - -/*! - * \fn Q3DAbstractAxis::rangeChanged(float min, float max) - * - * Emits range \a min and \a max values when range changes. - */ - -// Q3DAbstractAxisPrivate - -Q3DAbstractAxisPrivate::Q3DAbstractAxisPrivate(Q3DAbstractAxis *q, Q3DAbstractAxis::AxisType type) - : QObject(0), - q_ptr(q), - m_orientation(Q3DAbstractAxis::AxisOrientationNone), - m_type(type), - m_isDefaultAxis(false), - m_min(0.0f), - m_max(10.0f), - m_autoAdjust(true), - m_onlyPositiveValues(false), - m_allowMinMaxSame(false) -{ -} - -Q3DAbstractAxisPrivate::~Q3DAbstractAxisPrivate() -{ -} - -void Q3DAbstractAxisPrivate::setOrientation(Q3DAbstractAxis::AxisOrientation orientation) -{ - if (m_orientation == Q3DAbstractAxis::AxisOrientationNone) { - m_orientation = orientation; - emit q_ptr->orientationChanged(orientation); - } else { - Q_ASSERT("Attempted to reset axis orientation."); - } -} - -void Q3DAbstractAxisPrivate::updateLabels() -{ - // Default implementation does nothing -} - -void Q3DAbstractAxisPrivate::setRange(float min, float max) -{ - bool adjusted = false; - if (m_onlyPositiveValues) { - if (min < 0.0f) { - min = 0.0f; - adjusted = true; - } - if (max < 0.0f) { - max = 0.0f; - adjusted = true; - } - } - // If min >= max, we adjust ranges so that - // m_max becomes (min + 1.0f) - // as axes need some kind of valid range. - bool minDirty = false; - bool maxDirty = false; - if (m_min != min) { - m_min = min; - minDirty = true; - } - if (m_max != max || min > max || (!m_allowMinMaxSame && min == max)) { - if (min > max || (!m_allowMinMaxSame && min == max)) { - m_max = min + 1.0f; - adjusted = true; - } else { - m_max = max; - } - maxDirty = true; - } - - if (minDirty || maxDirty) { - if (adjusted) { - qWarning() << "Warning: Tried to set invalid range for axis." - " Range automatically adjusted to a valid one:" - << min << "-" << max << "-->" << m_min << "-" << m_max; - } - emit q_ptr->rangeChanged(m_min, m_max); - } - - if (minDirty) - emit q_ptr->minChanged(m_min); - if (maxDirty) - emit q_ptr->maxChanged(m_max); -} - -void Q3DAbstractAxisPrivate::setMin(float min) -{ - if (m_onlyPositiveValues) { - if (min < 0.0f) { - min = 0.0f; - qWarning() << "Warning: Tried to set negative minimum for an axis that only supports" - " positive values:" << min; - } - } - - if (m_min != min) { - bool maxChanged = false; - if (min > m_max || (!m_allowMinMaxSame && min == m_max)) { - float oldMax = m_max; - m_max = min + 1.0f; - qWarning() << "Warning: Tried to set minimum to equal or larger than maximum for" - " value axis. Maximum automatically adjusted to a valid one:" - << oldMax << "-->" << m_max; - maxChanged = true; - } - m_min = min; - - emit q_ptr->rangeChanged(m_min, m_max); - emit q_ptr->minChanged(m_min); - if (maxChanged) - emit q_ptr->maxChanged(m_max); - } -} - -void Q3DAbstractAxisPrivate::setMax(float max) -{ - if (m_onlyPositiveValues) { - if (max < 0.0f) { - max = 0.0f; - qWarning() << "Warning: Tried to set negative maximum for an axis that only supports" - " positive values:" << max; - } - } - - if (m_max != max) { - bool minChanged = false; - if (m_min > max || (!m_allowMinMaxSame && m_min == max)) { - float oldMin = m_min; - m_min = max - 1.0f; - if (m_onlyPositiveValues && m_min < 0.0f) { - m_min = 0.0f; - if (!m_allowMinMaxSame && max == 0.0f) { - m_min = oldMin; - qWarning() << "Unable to set maximum value to zero."; - return; - } - } - qWarning() << "Warning: Tried to set maximum to equal or smaller than minimum for" - " value axis. Minimum automatically adjusted to a valid one:" - << oldMin << "-->" << m_min; - minChanged = true; - } - m_max = max; - emit q_ptr->rangeChanged(m_min, m_max); - emit q_ptr->maxChanged(m_max); - if (minChanged) - emit q_ptr->minChanged(m_min); - } -} - -QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/axis/q3dabstractaxis.h b/src/datavisualization/axis/q3dabstractaxis.h deleted file mode 100644 index 825290f5..00000000 --- a/src/datavisualization/axis/q3dabstractaxis.h +++ /dev/null @@ -1,107 +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 Q3DABSTRACTAXIS_H -#define Q3DABSTRACTAXIS_H - -#include -#include -#include -#include -#include - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE - -class Q3DAbstractAxisPrivate; - -class QT_DATAVISUALIZATION_EXPORT Q3DAbstractAxis : public QObject -{ - Q_OBJECT - Q_ENUMS(AxisOrientation) - Q_ENUMS(AxisType) - Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged) - Q_PROPERTY(QStringList labels READ labels WRITE setLabels NOTIFY labelsChanged) - Q_PROPERTY(AxisOrientation orientation READ orientation NOTIFY orientationChanged) - Q_PROPERTY(AxisType type READ type CONSTANT) - Q_PROPERTY(float min READ min WRITE setMin NOTIFY minChanged) - Q_PROPERTY(float max READ max WRITE setMax NOTIFY maxChanged) - Q_PROPERTY(bool autoAdjustRange READ isAutoAdjustRange WRITE setAutoAdjustRange NOTIFY autoAdjustRangeChanged) - -public: - enum AxisOrientation { - AxisOrientationNone = 0, - AxisOrientationX = 1, - AxisOrientationY = 2, - AxisOrientationZ = 4 - }; - - enum AxisType { - AxisTypeNone = 0, - AxisTypeCategory = 1, - AxisTypeValue = 2 - //AxisTypeLogValue = 6 // inherits valueaxis (4 + 2) // TODO - }; - -protected: - explicit Q3DAbstractAxis(Q3DAbstractAxisPrivate *d, QObject *parent = 0); - -public: - virtual ~Q3DAbstractAxis(); - - void setTitle(QString title); - QString title() const; - - void setLabels(const QStringList &labels); - QStringList labels() const; - - AxisOrientation orientation() const; - AxisType type() const; - - void setMin(float min); - float min() const; - - void setMax(float max); - float max() const; - - void setAutoAdjustRange(bool autoAdjust); - bool isAutoAdjustRange() const; - - void setRange(float min, float max); - -signals: - void titleChanged(QString newTitle); - void labelsChanged(); - void orientationChanged(AxisOrientation orientation); - void minChanged(float value); - void maxChanged(float value); - void rangeChanged(float min, float max); - void autoAdjustRangeChanged(bool autoAdjust); - -protected: - QScopedPointer d_ptr; - -private: - Q_DISABLE_COPY(Q3DAbstractAxis) - - friend class Abstract3DController; - friend class Bars3DController; -}; - -QT_DATAVISUALIZATION_END_NAMESPACE - -#endif // QABSTRACTAXIS_H diff --git a/src/datavisualization/axis/q3dabstractaxis_p.h b/src/datavisualization/axis/q3dabstractaxis_p.h deleted file mode 100644 index 3293e41e..00000000 --- a/src/datavisualization/axis/q3dabstractaxis_p.h +++ /dev/null @@ -1,77 +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 -** -****************************************************************************/ - -// -// W A R N I N G -// ------------- -// -// This file is not part of the QtDataVisualization API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. - -#include "datavisualizationglobal_p.h" -#include "q3dabstractaxis.h" -#include "abstract3dcontroller_p.h" - -#ifndef Q3DABSTRACTAXIS_P_H -#define Q3DABSTRACTAXIS_P_H - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE - -class Q3DAbstractAxisPrivate : public QObject -{ - Q_OBJECT -public: - Q3DAbstractAxisPrivate(Q3DAbstractAxis *q, Q3DAbstractAxis::AxisType type); - virtual ~Q3DAbstractAxisPrivate(); - - void setOrientation(Q3DAbstractAxis::AxisOrientation orientation); - - inline bool isDefaultAxis() { return m_isDefaultAxis; } - inline void setDefaultAxis(bool isDefault) { m_isDefaultAxis = isDefault; } - - virtual void setRange(float min, float max); - virtual void setMin(float min); - virtual void setMax (float max); - -protected: - virtual void updateLabels(); - - Q3DAbstractAxis *q_ptr; - - QString m_title; - QStringList m_labels; - Q3DAbstractAxis::AxisOrientation m_orientation; - Q3DAbstractAxis::AxisType m_type; - bool m_isDefaultAxis; - float m_min; - float m_max; - bool m_autoAdjust; - bool m_onlyPositiveValues; - bool m_allowMinMaxSame; - - friend class Q3DAbstractAxis; - friend class Q3DValueAxis; - friend class Q3DCategoryAxis; -}; - -QT_DATAVISUALIZATION_END_NAMESPACE - -#endif // QABSTRACTAXIS_P_H diff --git a/src/datavisualization/axis/q3dcategoryaxis.cpp b/src/datavisualization/axis/q3dcategoryaxis.cpp deleted file mode 100644 index 26a75f93..00000000 --- a/src/datavisualization/axis/q3dcategoryaxis.cpp +++ /dev/null @@ -1,156 +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 "q3dcategoryaxis.h" -#include "q3dcategoryaxis_p.h" -#include "bars3dcontroller_p.h" -#include "qbardataproxy.h" - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE - -/*! - * \class Q3DCategoryAxis - * \inmodule QtDataVisualization - * \brief The Q3DCategoryAxis class is used for manipulating an axis of a graph. - * \since Qt Data Visualization 1.0 - * - * Q3DCategoryAxis provides an axis that can be given labels. The axis is divided into equal-sized - * categories based on the data window size defined by setting the axis range. - * - * Grid lines are drawn between categories, if visible. Labels are drawn to positions of categories - * if provided. - */ - -/*! - * \qmltype CategoryAxis3D - * \inqmlmodule QtDataVisualization - * \since QtDataVisualization 1.0 - * \ingroup datavisualization_qml - * \instantiates Q3DCategoryAxis - * \inherits AbstractAxis3D - * \brief The CategoryAxis3D type is used for manipulating an axis of a graph. - * - * This type provides an axis that can be given labels. - */ - -/*! - * \qmlproperty list CategoryAxis3D::labels - * - * Defines labels for axis applied to categories. If there are fewer labels than categories, the - * remaining ones do not have a label. If category labels are not defined explicitly, labels are - * generated from the data row (or column) labels. - * - * \note If the graph has multiple visible series and category labels are not defined explicitly, - * changing the rows (or columns) on any of the attached series will regenerate the labels. - */ - -/*! - * Constructs Q3DCategoryAxis with \a parent. - */ -Q3DCategoryAxis::Q3DCategoryAxis(QObject *parent) : - Q3DAbstractAxis(new Q3DCategoryAxisPrivate(this), parent) -{ - connect(this, &Q3DCategoryAxis::labelsChanged, this, &Q3DAbstractAxis::labelsChanged); -} - -/*! - * Destroys Q3DCategoryAxis. - */ -Q3DCategoryAxis::~Q3DCategoryAxis() -{ -} - -/*! - * \property Q3DCategoryAxis::labels - * - * Defines labels for axis applied to categories. If there are fewer labels than categories, the - * remaining ones do not have a label. If category labels are not defined explicitly, labels are - * generated from the data row (or column) labels. - * - * \note If the graph has multiple visible series and category labels are not defined explicitly, - * changing the rows (or columns) on any of the attached series will regenerate the labels. - */ -QStringList Q3DCategoryAxis::labels() const -{ - return Q3DAbstractAxis::labels(); -} - -void Q3DCategoryAxis::setLabels(const QStringList &labels) -{ - dptr()->m_labelsExplicitlySet = !labels.isEmpty(); - bool labelsFromData = false; - - // Get labels from data proxy if axis is attached to a bar controller and an active axis there - if (labels.isEmpty()) { - Bars3DController *controller = qobject_cast(parent()); - if (controller) { - if (controller->axisX() == this) { - controller->handleDataRowLabelsChanged(); - labelsFromData = true; - } else if (controller->axisZ() == this) { - controller->handleDataColumnLabelsChanged(); - labelsFromData = true; - } - } - } - - if (!labelsFromData && d_ptr->m_labels != labels) { - d_ptr->m_labels = labels; - emit labelsChanged(); - } -} - -/*! - * \internal - */ -Q3DCategoryAxisPrivate *Q3DCategoryAxis::dptr() -{ - return static_cast(d_ptr.data()); -} - -Q3DCategoryAxisPrivate::Q3DCategoryAxisPrivate(Q3DCategoryAxis *q) - : Q3DAbstractAxisPrivate(q, Q3DAbstractAxis::AxisTypeCategory), - m_labelsExplicitlySet(false) -{ - m_onlyPositiveValues = true; - m_allowMinMaxSame = true; -} - -Q3DCategoryAxisPrivate::~Q3DCategoryAxisPrivate() -{ -} - -/*! - * \internal - * Controller uses this function to set labels from data proxy as category labels. - * If the labels have been set explicitly by the user, data proxy labels are not used. - */ -void Q3DCategoryAxisPrivate::setDataLabels(const QStringList &labels) -{ - if (!m_labelsExplicitlySet && m_labels != labels) { - m_labels = labels; - emit qptr()->labelsChanged(); - } -} - -Q3DCategoryAxis *Q3DCategoryAxisPrivate::qptr() -{ - return static_cast(q_ptr); -} - -QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/axis/q3dcategoryaxis.h b/src/datavisualization/axis/q3dcategoryaxis.h deleted file mode 100644 index 7b2b4744..00000000 --- a/src/datavisualization/axis/q3dcategoryaxis.h +++ /dev/null @@ -1,53 +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 Q3DCATEGORYAXIS_H -#define Q3DCATEGORYAXIS_H - -#include - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE - -class Q3DCategoryAxisPrivate; - -class QT_DATAVISUALIZATION_EXPORT Q3DCategoryAxis : public Q3DAbstractAxis -{ - Q_OBJECT - Q_PROPERTY(QStringList labels READ labels WRITE setLabels NOTIFY labelsChanged) - -public: - explicit Q3DCategoryAxis(QObject *parent = 0); - virtual ~Q3DCategoryAxis(); - - void setLabels(const QStringList &labels); - QStringList labels() const; - -signals: - void labelsChanged(); - -protected: - Q3DCategoryAxisPrivate *dptr(); - -private: - Q_DISABLE_COPY(Q3DCategoryAxis) - friend class Bars3DController; -}; - -QT_DATAVISUALIZATION_END_NAMESPACE - -#endif // QCATEGORYAXIS_H diff --git a/src/datavisualization/axis/q3dcategoryaxis_p.h b/src/datavisualization/axis/q3dcategoryaxis_p.h deleted file mode 100644 index 9b66e48a..00000000 --- a/src/datavisualization/axis/q3dcategoryaxis_p.h +++ /dev/null @@ -1,57 +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 -** -****************************************************************************/ - -// -// W A R N I N G -// ------------- -// -// This file is not part of the QtDataVisualization API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. - -#include "q3dcategoryaxis.h" -#include "q3dabstractaxis_p.h" -#include "qbardataitem.h" - -#ifndef QCATEGORYAXIS_P_H -#define QCATEGORYAXIS_P_H - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE - -class Q3DCategoryAxisPrivate : public Q3DAbstractAxisPrivate -{ - Q_OBJECT - -public: - Q3DCategoryAxisPrivate(Q3DCategoryAxis *q); - virtual ~Q3DCategoryAxisPrivate(); - - void setDataLabels(const QStringList &labels); - -private: - Q3DCategoryAxis *qptr(); - - bool m_labelsExplicitlySet; - friend class Q3DCategoryAxis; -}; - -QT_DATAVISUALIZATION_END_NAMESPACE - -#endif // QCATEGORYAXIS_P_H diff --git a/src/datavisualization/axis/q3dvalueaxis.cpp b/src/datavisualization/axis/q3dvalueaxis.cpp deleted file mode 100644 index 746c8617..00000000 --- a/src/datavisualization/axis/q3dvalueaxis.cpp +++ /dev/null @@ -1,270 +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 "q3dvalueaxis.h" -#include "q3dvalueaxis_p.h" -#include "utils_p.h" - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE - -/*! - * \class Q3DValueAxis - * \inmodule QtDataVisualization - * \brief The Q3DValueAxis class is used for manipulating an axis of a graph. - * \since Qt Data Visualization 1.0 - * - * Q3DValueAxis provides an axis that can be given a range of values and segment and subsegment - * counts to divide the range into. - * - * Labels are drawn between each segment. Grid lines are drawn between each segment and each - * subsegment. \note If visible, there will always be at least two grid lines and labels indicating - * the minimum and the maximum values of the range, as there is always at least one segment. - */ - -/*! - * \qmltype ValueAxis3D - * \inqmlmodule QtDataVisualization - * \since QtDataVisualization 1.0 - * \ingroup datavisualization_qml - * \instantiates Q3DValueAxis - * \inherits AbstractAxis3D - * \brief The ValueAxis3D type is used for manipulating an axis of a graph. - * - * This type provides an axis that can be given a range of values and segment and subsegment - * counts to divide the range into. - */ - - -/*! - * \qmlproperty int ValueAxis3D::segmentCount - * - * Defines the number of segments on the axis. This indicates how many labels are drawn. The number - * of grid lines to be drawn is calculated with formula: \c {segments * subsegments + 1}. - * The preset default is \c 5, and it can not be below \c 1. - */ - -/*! - * \qmlproperty int ValueAxis3D::subSegmentCount - * - * Defines the number of subsegments inside each segment on the axis. Grid lines are drawn between - * each subsegment, in addition to each segment. - * The preset default is \c 1, and it can not be below \c 1. - */ - -/*! - * \qmlproperty string ValueAxis3D::labelFormat - * - * Defines the label format to be used for the labels on this axis. Supported specifiers are: - * \c {d, i, o, x, X, f, F, e, E, g, G, c}. See QString::sprintf() for additional details. - */ - -/*! - * Constructs Q3DValueAxis with the given \a parent. - */ -Q3DValueAxis::Q3DValueAxis(QObject *parent) : - Q3DAbstractAxis(new Q3DValueAxisPrivate(this), parent) -{ -} - -/*! - * Destroys Q3DValueAxis. - */ -Q3DValueAxis::~Q3DValueAxis() -{ -} - - -/*! - * \property Q3DValueAxis::segmentCount - * - * Defines the number of segments on the axis. This indicates how many labels are drawn. The number - * of grid lines to be drawn is calculated with formula: \c {segments * subsegments + 1}. - * The preset default is \c 5, and it can not be below \c 1. - * - * \sa setSubSegmentCount() - */ -void Q3DValueAxis::setSegmentCount(int count) -{ - if (count <= 0) { - qWarning() << "Warning: Illegal segment count automatically adjusted to a legal one:" - << count << "-> 1"; - count = 1; - } - if (dptr()->m_segmentCount != count){ - dptr()->m_segmentCount = count; - dptr()->emitLabelsChanged(); - emit segmentCountChanged(count); - } -} - -int Q3DValueAxis::segmentCount() const -{ - return dptrc()->m_segmentCount; -} - -/*! - * \property Q3DValueAxis::subSegmentCount - * - * Defines the number of subsegments inside each segment on the axis. Grid lines are drawn between - * each subsegment, in addition to each segment. - * The preset default is \c 1, and it can not be below \c 1. - * - * \sa setSegmentCount() - */ -void Q3DValueAxis::setSubSegmentCount(int count) -{ - if (count <= 0) { - qWarning() << "Warning: Illegal subsegment count automatically adjusted to a legal one:" - << count << "-> 1"; - count = 1; - } - if (dptr()->m_subSegmentCount != count) { - dptr()->m_subSegmentCount = count; - emit subSegmentCountChanged(count); - } -} - -int Q3DValueAxis::subSegmentCount() const -{ - return dptrc()->m_subSegmentCount; -} - -/*! - * \property Q3DValueAxis::labelFormat - * - * Defines the label format to be used for the labels on this axis. Supported specifiers are: - * \c {d, i, o, x, X, f, F, e, E, g, G, c}. See QString::sprintf() for additional details. - * - * Usage example: - * - * \c {axis->setLabelFormat("%.2f mm");} - */ -void Q3DValueAxis::setLabelFormat(const QString &format) -{ - if (dptr()->m_labelFormat != format) { - dptr()->m_labelFormat = format; - dptr()->emitLabelsChanged(); - emit labelFormatChanged(format); - } -} - -QString Q3DValueAxis::labelFormat() const -{ - return dptrc()->m_labelFormat; -} - -/*! - * \internal - */ -Q3DValueAxisPrivate *Q3DValueAxis::dptr() -{ - return static_cast(d_ptr.data()); -} - -/*! - * \internal - */ -const Q3DValueAxisPrivate *Q3DValueAxis::dptrc() const -{ - return static_cast(d_ptr.data()); -} - -Q3DValueAxisPrivate::Q3DValueAxisPrivate(Q3DValueAxis *q) - : Q3DAbstractAxisPrivate(q, Q3DAbstractAxis::AxisTypeValue), - m_segmentCount(5), - m_subSegmentCount(1), - m_labelFormat(Utils::defaultLabelFormat()), - m_labelsDirty(true) -{ -} - -Q3DValueAxisPrivate::~Q3DValueAxisPrivate() -{ -} - -void Q3DValueAxisPrivate::setRange(float min, float max) -{ - bool dirty = (min != m_min || max != m_max); - - Q3DAbstractAxisPrivate::setRange(min, max); - - if (dirty) - emitLabelsChanged(); -} - -void Q3DValueAxisPrivate::setMin(float min) -{ - bool dirty = (min != m_min); - - Q3DAbstractAxisPrivate::setMin(min); - - if (dirty) - emitLabelsChanged(); -} - -void Q3DValueAxisPrivate::setMax(float max) -{ - bool dirty = (max != m_max); - - Q3DAbstractAxisPrivate::setMax(max); - - if (dirty) - emitLabelsChanged(); -} - -void Q3DValueAxisPrivate::emitLabelsChanged() -{ - m_labelsDirty = true; - emit q_ptr->labelsChanged(); -} - -void Q3DValueAxisPrivate::updateLabels() -{ - if (!m_labelsDirty) - return; - - m_labelsDirty = false; - - QStringList newLabels; - newLabels.reserve(m_segmentCount + 1); - - // First label is at axis min, which is an extra segment - float segmentStep = (m_max - m_min) / m_segmentCount; - - QString formatString(m_labelFormat); - Utils::ParamType paramType = Utils::findFormatParamType(formatString); - QByteArray formatArray = formatString.toUtf8(); - - for (int i = 0; i < m_segmentCount; i++) { - float value = m_min + (segmentStep * i); - newLabels.append(Utils::formatLabel(formatArray, paramType, value)); - } - - // Ensure max label doesn't suffer from any rounding errors - newLabels.append(Utils::formatLabel(formatArray, paramType, m_max)); - - if (m_labels != newLabels) - m_labels = newLabels; -} - -Q3DValueAxis *Q3DValueAxisPrivate::qptr() -{ - return static_cast(q_ptr); -} - -QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/axis/q3dvalueaxis.h b/src/datavisualization/axis/q3dvalueaxis.h deleted file mode 100644 index f1280e25..00000000 --- a/src/datavisualization/axis/q3dvalueaxis.h +++ /dev/null @@ -1,65 +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 QVALUEAXIS_H -#define QVALUEAXIS_H - -#include - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE - -class Q3DValueAxisPrivate; - -class QT_DATAVISUALIZATION_EXPORT Q3DValueAxis : public Q3DAbstractAxis -{ - Q_OBJECT - Q_PROPERTY(int segmentCount READ segmentCount WRITE setSegmentCount NOTIFY segmentCountChanged) - Q_PROPERTY(int subSegmentCount READ subSegmentCount WRITE setSubSegmentCount NOTIFY subSegmentCountChanged) - Q_PROPERTY(QString labelFormat READ labelFormat WRITE setLabelFormat NOTIFY labelFormatChanged) - -public: - explicit Q3DValueAxis(QObject *parent = 0); - virtual ~Q3DValueAxis(); - - int segmentCount() const; - int subSegmentCount() const; - QString labelFormat() const; - - void setSegmentCount(int count); - void setSubSegmentCount(int count); - void setLabelFormat(const QString &format); - -signals: - void segmentCountChanged(int count); - void subSegmentCountChanged(int count); - void labelFormatChanged(QString format); - -protected: - Q3DValueAxisPrivate *dptr(); - const Q3DValueAxisPrivate *dptrc() const; - -private: - Q_DISABLE_COPY(Q3DValueAxis) - friend class Bars3DController; - friend class Scatter3DController; - friend class Surface3DController; -}; - -QT_DATAVISUALIZATION_END_NAMESPACE - -#endif // QVALUEAXIS_H diff --git a/src/datavisualization/axis/q3dvalueaxis_p.h b/src/datavisualization/axis/q3dvalueaxis_p.h deleted file mode 100644 index 0a98bb04..00000000 --- a/src/datavisualization/axis/q3dvalueaxis_p.h +++ /dev/null @@ -1,66 +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 -** -****************************************************************************/ - -// -// W A R N I N G -// ------------- -// -// This file is not part of the QtDataVisualization API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. - -#include "q3dvalueaxis.h" -#include "q3dabstractaxis_p.h" - -#ifndef QVALUEAXIS_P_H -#define QVALUEAXIS_P_H - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE - -class Q3DValueAxisPrivate : public Q3DAbstractAxisPrivate -{ - Q_OBJECT - -public: - Q3DValueAxisPrivate(Q3DValueAxis *q); - virtual ~Q3DValueAxisPrivate(); - - virtual void setRange(float min, float max); - virtual void setMin(float min); - virtual void setMax (float max); - -protected: - void emitLabelsChanged(); - virtual void updateLabels(); - - int m_segmentCount; - int m_subSegmentCount; - QString m_labelFormat; - bool m_labelsDirty; - -private: - Q3DValueAxis *qptr(); - - friend class Q3DValueAxis; -}; - -QT_DATAVISUALIZATION_END_NAMESPACE - -#endif // QVALUEAXIS_P_H diff --git a/src/datavisualization/axis/qabstract3daxis.cpp b/src/datavisualization/axis/qabstract3daxis.cpp new file mode 100644 index 00000000..5f1121c4 --- /dev/null +++ b/src/datavisualization/axis/qabstract3daxis.cpp @@ -0,0 +1,404 @@ +/**************************************************************************** +** +** 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 "qabstract3daxis.h" +#include "qabstract3daxis_p.h" + +QT_DATAVISUALIZATION_BEGIN_NAMESPACE + +/*! + * \class QAbstract3DAxis + * \inmodule QtDataVisualization + * \brief QAbstract3DAxis is base class for axes of a graph. + * \since Qt Data Visualization 1.0 + * + * You should not need to use this class directly, but one of its subclasses instead. + * + * \sa QCategory3DAxis, QValue3DAxis + */ + +/*! + * \qmltype AbstractAxis3D + * \inqmlmodule QtDataVisualization + * \since QtDataVisualization 1.0 + * \ingroup datavisualization_qml + * \instantiates QAbstract3DAxis + * \brief AbstractAxis3D is base type for axes of a graph. + * + * This type is uncreatable, but contains properties that are exposed via subtypes. + */ + +/*! + * \qmlproperty string AbstractAxis3D::title + * Defines the title for the axis. + */ + +/*! + * \qmlproperty list AbstractAxis3D::labels + * Defines the labels for the axis. + * \note Setting this property for ValueAxis3D does nothing, as it generates labels automatically. + */ + +/*! + * \qmlproperty AbstractAxis3D.AxisOrientation AbstractAxis3D::orientation + * Defines the orientation of the axis. + */ + +/*! + * \qmlproperty AbstractAxis3D.AxisType AbstractAxis3D::type + * Defines the type of the axis. + */ + +/*! + * \qmlproperty real AbstractAxis3D::min + * + * Defines the minimum value on the axis. + * When setting this property the max is adjusted if necessary, to ensure that the range remains + * valid. + */ + +/*! + * \qmlproperty real AbstractAxis3D::max + * + * Defines the maximum value on the axis. + * When setting this property the min is adjusted if necessary, to ensure that the range remains + * valid. + */ + +/*! + * \qmlproperty bool AbstractAxis3D::autoAdjustRange + * + * If set, the axis will automatically adjust the range so that all data fits in it. + */ + + +/*! + * \enum QAbstract3DAxis::AxisOrientation + * + * The orientation of the axis object. + * + * \value AxisOrientationNone + * \value AxisOrientationX + * \value AxisOrientationY + * \value AxisOrientationZ + */ + +/*! + * \enum QAbstract3DAxis::AxisType + * + * The type of the axis object. + * + * \value AxisTypeNone + * \value AxisTypeCategory + * \value AxisTypeValue + */ + +/*! + * \internal + */ +QAbstract3DAxis::QAbstract3DAxis(QAbstract3DAxisPrivate *d, QObject *parent) : + QObject(parent), + d_ptr(d) +{ +} + +/*! + * Destroys QAbstract3DAxis. + */ +QAbstract3DAxis::~QAbstract3DAxis() +{ +} + +/*! + * \property QAbstract3DAxis::orientation + * + * Defines the orientation of the axis, one of \c QAbstract3DAxis::AxisOrientation. + */ +QAbstract3DAxis::AxisOrientation QAbstract3DAxis::orientation() const +{ + return d_ptr->m_orientation; +} + +/*! + * \property QAbstract3DAxis::type + * + * Defines the type of the axis, one of \c QAbstract3DAxis::AxisType. + */ +QAbstract3DAxis::AxisType QAbstract3DAxis::type() const +{ + return d_ptr->m_type; +} + +/*! + * \property QAbstract3DAxis::title + * + * Defines the title for the axis. + */ +void QAbstract3DAxis::setTitle(QString title) +{ + if (d_ptr->m_title != title) { + d_ptr->m_title = title; + emit titleChanged(title); + } +} + +QString QAbstract3DAxis::title() const +{ + return d_ptr->m_title; +} + +/*! + * \property QAbstract3DAxis::labels + * + * Defines the labels for the axis. + * \note Setting this property for QValue3DAxis does nothing, as it generates labels automatically. + */ +void QAbstract3DAxis::setLabels(const QStringList &labels) +{ + Q_UNUSED(labels) +} + +QStringList QAbstract3DAxis::labels() const +{ + d_ptr->updateLabels(); + return d_ptr->m_labels; +} + +/*! + * Sets value range of the axis from \a min to \a max. + * When setting the range, the max is adjusted if necessary, to ensure that the range remains valid. + * \note For QCategory3DAxis this specifies the index range of rows or columns to show. + */ +void QAbstract3DAxis::setRange(float min, float max) +{ + d_ptr->setRange(min, max); + setAutoAdjustRange(false); +} + +/*! + * \property QAbstract3DAxis::min + * + * Defines the minimum value on the axis. + * When setting this property the max is adjusted if necessary, to ensure that the range remains + * valid. + * \note For QCategory3DAxis this specifies the index of the first row or column to show. + */ +void QAbstract3DAxis::setMin(float min) +{ + d_ptr->setMin(min); + setAutoAdjustRange(false); +} + +/*! + * \property QAbstract3DAxis::max + * + * Defines the maximum value on the axis. + * When setting this property the min is adjusted if necessary, to ensure that the range remains + * valid. + * \note For QCategory3DAxis this specifies the index of the last row or column to show. + */ +void QAbstract3DAxis::setMax(float max) +{ + d_ptr->setMax(max); + setAutoAdjustRange(false); +} + +float QAbstract3DAxis::min() const +{ + return d_ptr->m_min; +} + +float QAbstract3DAxis::max() const +{ + return d_ptr->m_max; +} + +/*! + * \property QAbstract3DAxis::autoAdjustRange + * + * If set, the axis will automatically adjust the range so that all data fits in it. + * + * \sa setRange(), setMin(), setMax() + */ +void QAbstract3DAxis::setAutoAdjustRange(bool autoAdjust) +{ + if (d_ptr->m_autoAdjust != autoAdjust) { + d_ptr->m_autoAdjust = autoAdjust; + emit autoAdjustRangeChanged(autoAdjust); + } +} + +bool QAbstract3DAxis::isAutoAdjustRange() const +{ + return d_ptr->m_autoAdjust; +} + +/*! + * \fn QAbstract3DAxis::rangeChanged(float min, float max) + * + * Emits range \a min and \a max values when range changes. + */ + +// QAbstract3DAxisPrivate + +QAbstract3DAxisPrivate::QAbstract3DAxisPrivate(QAbstract3DAxis *q, QAbstract3DAxis::AxisType type) + : QObject(0), + q_ptr(q), + m_orientation(QAbstract3DAxis::AxisOrientationNone), + m_type(type), + m_isDefaultAxis(false), + m_min(0.0f), + m_max(10.0f), + m_autoAdjust(true), + m_onlyPositiveValues(false), + m_allowMinMaxSame(false) +{ +} + +QAbstract3DAxisPrivate::~QAbstract3DAxisPrivate() +{ +} + +void QAbstract3DAxisPrivate::setOrientation(QAbstract3DAxis::AxisOrientation orientation) +{ + if (m_orientation == QAbstract3DAxis::AxisOrientationNone) { + m_orientation = orientation; + emit q_ptr->orientationChanged(orientation); + } else { + Q_ASSERT("Attempted to reset axis orientation."); + } +} + +void QAbstract3DAxisPrivate::updateLabels() +{ + // Default implementation does nothing +} + +void QAbstract3DAxisPrivate::setRange(float min, float max) +{ + bool adjusted = false; + if (m_onlyPositiveValues) { + if (min < 0.0f) { + min = 0.0f; + adjusted = true; + } + if (max < 0.0f) { + max = 0.0f; + adjusted = true; + } + } + // If min >= max, we adjust ranges so that + // m_max becomes (min + 1.0f) + // as axes need some kind of valid range. + bool minDirty = false; + bool maxDirty = false; + if (m_min != min) { + m_min = min; + minDirty = true; + } + if (m_max != max || min > max || (!m_allowMinMaxSame && min == max)) { + if (min > max || (!m_allowMinMaxSame && min == max)) { + m_max = min + 1.0f; + adjusted = true; + } else { + m_max = max; + } + maxDirty = true; + } + + if (minDirty || maxDirty) { + if (adjusted) { + qWarning() << "Warning: Tried to set invalid range for axis." + " Range automatically adjusted to a valid one:" + << min << "-" << max << "-->" << m_min << "-" << m_max; + } + emit q_ptr->rangeChanged(m_min, m_max); + } + + if (minDirty) + emit q_ptr->minChanged(m_min); + if (maxDirty) + emit q_ptr->maxChanged(m_max); +} + +void QAbstract3DAxisPrivate::setMin(float min) +{ + if (m_onlyPositiveValues) { + if (min < 0.0f) { + min = 0.0f; + qWarning() << "Warning: Tried to set negative minimum for an axis that only supports" + " positive values:" << min; + } + } + + if (m_min != min) { + bool maxChanged = false; + if (min > m_max || (!m_allowMinMaxSame && min == m_max)) { + float oldMax = m_max; + m_max = min + 1.0f; + qWarning() << "Warning: Tried to set minimum to equal or larger than maximum for" + " value axis. Maximum automatically adjusted to a valid one:" + << oldMax << "-->" << m_max; + maxChanged = true; + } + m_min = min; + + emit q_ptr->rangeChanged(m_min, m_max); + emit q_ptr->minChanged(m_min); + if (maxChanged) + emit q_ptr->maxChanged(m_max); + } +} + +void QAbstract3DAxisPrivate::setMax(float max) +{ + if (m_onlyPositiveValues) { + if (max < 0.0f) { + max = 0.0f; + qWarning() << "Warning: Tried to set negative maximum for an axis that only supports" + " positive values:" << max; + } + } + + if (m_max != max) { + bool minChanged = false; + if (m_min > max || (!m_allowMinMaxSame && m_min == max)) { + float oldMin = m_min; + m_min = max - 1.0f; + if (m_onlyPositiveValues && m_min < 0.0f) { + m_min = 0.0f; + if (!m_allowMinMaxSame && max == 0.0f) { + m_min = oldMin; + qWarning() << "Unable to set maximum value to zero."; + return; + } + } + qWarning() << "Warning: Tried to set maximum to equal or smaller than minimum for" + " value axis. Minimum automatically adjusted to a valid one:" + << oldMin << "-->" << m_min; + minChanged = true; + } + m_max = max; + emit q_ptr->rangeChanged(m_min, m_max); + emit q_ptr->maxChanged(m_max); + if (minChanged) + emit q_ptr->minChanged(m_min); + } +} + +QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/axis/qabstract3daxis.h b/src/datavisualization/axis/qabstract3daxis.h new file mode 100644 index 00000000..ef9f9c78 --- /dev/null +++ b/src/datavisualization/axis/qabstract3daxis.h @@ -0,0 +1,107 @@ +/**************************************************************************** +** +** 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 QABSTRACT3DAXIS_H +#define QABSTRACT3DAXIS_H + +#include +#include +#include +#include +#include + +QT_DATAVISUALIZATION_BEGIN_NAMESPACE + +class QAbstract3DAxisPrivate; + +class QT_DATAVISUALIZATION_EXPORT QAbstract3DAxis : public QObject +{ + Q_OBJECT + Q_ENUMS(AxisOrientation) + Q_ENUMS(AxisType) + Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged) + Q_PROPERTY(QStringList labels READ labels WRITE setLabels NOTIFY labelsChanged) + Q_PROPERTY(AxisOrientation orientation READ orientation NOTIFY orientationChanged) + Q_PROPERTY(AxisType type READ type CONSTANT) + Q_PROPERTY(float min READ min WRITE setMin NOTIFY minChanged) + Q_PROPERTY(float max READ max WRITE setMax NOTIFY maxChanged) + Q_PROPERTY(bool autoAdjustRange READ isAutoAdjustRange WRITE setAutoAdjustRange NOTIFY autoAdjustRangeChanged) + +public: + enum AxisOrientation { + AxisOrientationNone = 0, + AxisOrientationX = 1, + AxisOrientationY = 2, + AxisOrientationZ = 4 + }; + + enum AxisType { + AxisTypeNone = 0, + AxisTypeCategory = 1, + AxisTypeValue = 2 + //AxisTypeLogValue = 6 // inherits valueaxis (4 + 2) // TODO + }; + +protected: + explicit QAbstract3DAxis(QAbstract3DAxisPrivate *d, QObject *parent = 0); + +public: + virtual ~QAbstract3DAxis(); + + void setTitle(QString title); + QString title() const; + + void setLabels(const QStringList &labels); + QStringList labels() const; + + AxisOrientation orientation() const; + AxisType type() const; + + void setMin(float min); + float min() const; + + void setMax(float max); + float max() const; + + void setAutoAdjustRange(bool autoAdjust); + bool isAutoAdjustRange() const; + + void setRange(float min, float max); + +signals: + void titleChanged(QString newTitle); + void labelsChanged(); + void orientationChanged(AxisOrientation orientation); + void minChanged(float value); + void maxChanged(float value); + void rangeChanged(float min, float max); + void autoAdjustRangeChanged(bool autoAdjust); + +protected: + QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QAbstract3DAxis) + + friend class Abstract3DController; + friend class Bars3DController; +}; + +QT_DATAVISUALIZATION_END_NAMESPACE + +#endif diff --git a/src/datavisualization/axis/qabstract3daxis_p.h b/src/datavisualization/axis/qabstract3daxis_p.h new file mode 100644 index 00000000..da6964ad --- /dev/null +++ b/src/datavisualization/axis/qabstract3daxis_p.h @@ -0,0 +1,77 @@ +/**************************************************************************** +** +** 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 +** +****************************************************************************/ + +// +// W A R N I N G +// ------------- +// +// This file is not part of the QtDataVisualization API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. + +#include "datavisualizationglobal_p.h" +#include "qabstract3daxis.h" +#include "abstract3dcontroller_p.h" + +#ifndef QABSTRACT3DAXIS_P_H +#define QABSTRACT3DAXIS_P_H + +QT_DATAVISUALIZATION_BEGIN_NAMESPACE + +class QAbstract3DAxisPrivate : public QObject +{ + Q_OBJECT +public: + QAbstract3DAxisPrivate(QAbstract3DAxis *q, QAbstract3DAxis::AxisType type); + virtual ~QAbstract3DAxisPrivate(); + + void setOrientation(QAbstract3DAxis::AxisOrientation orientation); + + inline bool isDefaultAxis() { return m_isDefaultAxis; } + inline void setDefaultAxis(bool isDefault) { m_isDefaultAxis = isDefault; } + + virtual void setRange(float min, float max); + virtual void setMin(float min); + virtual void setMax (float max); + +protected: + virtual void updateLabels(); + + QAbstract3DAxis *q_ptr; + + QString m_title; + QStringList m_labels; + QAbstract3DAxis::AxisOrientation m_orientation; + QAbstract3DAxis::AxisType m_type; + bool m_isDefaultAxis; + float m_min; + float m_max; + bool m_autoAdjust; + bool m_onlyPositiveValues; + bool m_allowMinMaxSame; + + friend class QAbstract3DAxis; + friend class QValue3DAxis; + friend class QCategory3DAxis; +}; + +QT_DATAVISUALIZATION_END_NAMESPACE + +#endif diff --git a/src/datavisualization/axis/qcategory3daxis.cpp b/src/datavisualization/axis/qcategory3daxis.cpp new file mode 100644 index 00000000..b5999aaa --- /dev/null +++ b/src/datavisualization/axis/qcategory3daxis.cpp @@ -0,0 +1,156 @@ +/**************************************************************************** +** +** 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 "qcategory3daxis.h" +#include "qcategory3daxis_p.h" +#include "bars3dcontroller_p.h" +#include "qbardataproxy.h" + +QT_DATAVISUALIZATION_BEGIN_NAMESPACE + +/*! + * \class QCategory3DAxis + * \inmodule QtDataVisualization + * \brief The QCategory3DAxis class is used for manipulating an axis of a graph. + * \since Qt Data Visualization 1.0 + * + * QCategory3DAxis provides an axis that can be given labels. The axis is divided into equal-sized + * categories based on the data window size defined by setting the axis range. + * + * Grid lines are drawn between categories, if visible. Labels are drawn to positions of categories + * if provided. + */ + +/*! + * \qmltype CategoryAxis3D + * \inqmlmodule QtDataVisualization + * \since QtDataVisualization 1.0 + * \ingroup datavisualization_qml + * \instantiates QCategory3DAxis + * \inherits AbstractAxis3D + * \brief The CategoryAxis3D type is used for manipulating an axis of a graph. + * + * This type provides an axis that can be given labels. + */ + +/*! + * \qmlproperty list CategoryAxis3D::labels + * + * Defines labels for axis applied to categories. If there are fewer labels than categories, the + * remaining ones do not have a label. If category labels are not defined explicitly, labels are + * generated from the data row (or column) labels. + * + * \note If the graph has multiple visible series and category labels are not defined explicitly, + * changing the rows (or columns) on any of the attached series will regenerate the labels. + */ + +/*! + * Constructs QCategory3DAxis with \a parent. + */ +QCategory3DAxis::QCategory3DAxis(QObject *parent) : + QAbstract3DAxis(new QCategory3DAxisPrivate(this), parent) +{ + connect(this, &QCategory3DAxis::labelsChanged, this, &QAbstract3DAxis::labelsChanged); +} + +/*! + * Destroys QCategory3DAxis. + */ +QCategory3DAxis::~QCategory3DAxis() +{ +} + +/*! + * \property QCategory3DAxis::labels + * + * Defines labels for axis applied to categories. If there are fewer labels than categories, the + * remaining ones do not have a label. If category labels are not defined explicitly, labels are + * generated from the data row (or column) labels. + * + * \note If the graph has multiple visible series and category labels are not defined explicitly, + * changing the rows (or columns) on any of the attached series will regenerate the labels. + */ +QStringList QCategory3DAxis::labels() const +{ + return QAbstract3DAxis::labels(); +} + +void QCategory3DAxis::setLabels(const QStringList &labels) +{ + dptr()->m_labelsExplicitlySet = !labels.isEmpty(); + bool labelsFromData = false; + + // Get labels from data proxy if axis is attached to a bar controller and an active axis there + if (labels.isEmpty()) { + Bars3DController *controller = qobject_cast(parent()); + if (controller) { + if (controller->axisX() == this) { + controller->handleDataRowLabelsChanged(); + labelsFromData = true; + } else if (controller->axisZ() == this) { + controller->handleDataColumnLabelsChanged(); + labelsFromData = true; + } + } + } + + if (!labelsFromData && d_ptr->m_labels != labels) { + d_ptr->m_labels = labels; + emit labelsChanged(); + } +} + +/*! + * \internal + */ +QCategory3DAxisPrivate *QCategory3DAxis::dptr() +{ + return static_cast(d_ptr.data()); +} + +QCategory3DAxisPrivate::QCategory3DAxisPrivate(QCategory3DAxis *q) + : QAbstract3DAxisPrivate(q, QAbstract3DAxis::AxisTypeCategory), + m_labelsExplicitlySet(false) +{ + m_onlyPositiveValues = true; + m_allowMinMaxSame = true; +} + +QCategory3DAxisPrivate::~QCategory3DAxisPrivate() +{ +} + +/*! + * \internal + * Controller uses this function to set labels from data proxy as category labels. + * If the labels have been set explicitly by the user, data proxy labels are not used. + */ +void QCategory3DAxisPrivate::setDataLabels(const QStringList &labels) +{ + if (!m_labelsExplicitlySet && m_labels != labels) { + m_labels = labels; + emit qptr()->labelsChanged(); + } +} + +QCategory3DAxis *QCategory3DAxisPrivate::qptr() +{ + return static_cast(q_ptr); +} + +QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/axis/qcategory3daxis.h b/src/datavisualization/axis/qcategory3daxis.h new file mode 100644 index 00000000..fdedf795 --- /dev/null +++ b/src/datavisualization/axis/qcategory3daxis.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** 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 QCATEGORY3DAXIS_H +#define QCATEGORY3DAXIS_H + +#include + +QT_DATAVISUALIZATION_BEGIN_NAMESPACE + +class QCategory3DAxisPrivate; + +class QT_DATAVISUALIZATION_EXPORT QCategory3DAxis : public QAbstract3DAxis +{ + Q_OBJECT + Q_PROPERTY(QStringList labels READ labels WRITE setLabels NOTIFY labelsChanged) + +public: + explicit QCategory3DAxis(QObject *parent = 0); + virtual ~QCategory3DAxis(); + + void setLabels(const QStringList &labels); + QStringList labels() const; + +signals: + void labelsChanged(); + +protected: + QCategory3DAxisPrivate *dptr(); + +private: + Q_DISABLE_COPY(QCategory3DAxis) + friend class Bars3DController; +}; + +QT_DATAVISUALIZATION_END_NAMESPACE + +#endif diff --git a/src/datavisualization/axis/qcategory3daxis_p.h b/src/datavisualization/axis/qcategory3daxis_p.h new file mode 100644 index 00000000..dfcc9961 --- /dev/null +++ b/src/datavisualization/axis/qcategory3daxis_p.h @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** 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 +** +****************************************************************************/ + +// +// W A R N I N G +// ------------- +// +// This file is not part of the QtDataVisualization API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. + +#include "qcategory3daxis.h" +#include "qabstract3daxis_p.h" +#include "qbardataitem.h" + +#ifndef QCATEGORY3DAXIS_P_H +#define QCATEGORY3DAXIS_P_H + +QT_DATAVISUALIZATION_BEGIN_NAMESPACE + +class QCategory3DAxisPrivate : public QAbstract3DAxisPrivate +{ + Q_OBJECT + +public: + QCategory3DAxisPrivate(QCategory3DAxis *q); + virtual ~QCategory3DAxisPrivate(); + + void setDataLabels(const QStringList &labels); + +private: + QCategory3DAxis *qptr(); + + bool m_labelsExplicitlySet; + friend class QCategory3DAxis; +}; + +QT_DATAVISUALIZATION_END_NAMESPACE + +#endif diff --git a/src/datavisualization/axis/qvalue3daxis.cpp b/src/datavisualization/axis/qvalue3daxis.cpp new file mode 100644 index 00000000..a88a9ef5 --- /dev/null +++ b/src/datavisualization/axis/qvalue3daxis.cpp @@ -0,0 +1,270 @@ +/**************************************************************************** +** +** 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 "qvalue3daxis.h" +#include "qvalue3daxis_p.h" +#include "utils_p.h" + +QT_DATAVISUALIZATION_BEGIN_NAMESPACE + +/*! + * \class QValue3DAxis + * \inmodule QtDataVisualization + * \brief The QValue3DAxis class is used for manipulating an axis of a graph. + * \since Qt Data Visualization 1.0 + * + * QValue3DAxis provides an axis that can be given a range of values and segment and subsegment + * counts to divide the range into. + * + * Labels are drawn between each segment. Grid lines are drawn between each segment and each + * subsegment. \note If visible, there will always be at least two grid lines and labels indicating + * the minimum and the maximum values of the range, as there is always at least one segment. + */ + +/*! + * \qmltype ValueAxis3D + * \inqmlmodule QtDataVisualization + * \since QtDataVisualization 1.0 + * \ingroup datavisualization_qml + * \instantiates QValue3DAxis + * \inherits AbstractAxis3D + * \brief The ValueAxis3D type is used for manipulating an axis of a graph. + * + * This type provides an axis that can be given a range of values and segment and subsegment + * counts to divide the range into. + */ + + +/*! + * \qmlproperty int ValueAxis3D::segmentCount + * + * Defines the number of segments on the axis. This indicates how many labels are drawn. The number + * of grid lines to be drawn is calculated with formula: \c {segments * subsegments + 1}. + * The preset default is \c 5, and it can not be below \c 1. + */ + +/*! + * \qmlproperty int ValueAxis3D::subSegmentCount + * + * Defines the number of subsegments inside each segment on the axis. Grid lines are drawn between + * each subsegment, in addition to each segment. + * The preset default is \c 1, and it can not be below \c 1. + */ + +/*! + * \qmlproperty string ValueAxis3D::labelFormat + * + * Defines the label format to be used for the labels on this axis. Supported specifiers are: + * \c {d, i, o, x, X, f, F, e, E, g, G, c}. See QString::sprintf() for additional details. + */ + +/*! + * Constructs QValue3DAxis with the given \a parent. + */ +QValue3DAxis::QValue3DAxis(QObject *parent) : + QAbstract3DAxis(new QValue3DAxisPrivate(this), parent) +{ +} + +/*! + * Destroys QValue3DAxis. + */ +QValue3DAxis::~QValue3DAxis() +{ +} + + +/*! + * \property QValue3DAxis::segmentCount + * + * Defines the number of segments on the axis. This indicates how many labels are drawn. The number + * of grid lines to be drawn is calculated with formula: \c {segments * subsegments + 1}. + * The preset default is \c 5, and it can not be below \c 1. + * + * \sa setSubSegmentCount() + */ +void QValue3DAxis::setSegmentCount(int count) +{ + if (count <= 0) { + qWarning() << "Warning: Illegal segment count automatically adjusted to a legal one:" + << count << "-> 1"; + count = 1; + } + if (dptr()->m_segmentCount != count){ + dptr()->m_segmentCount = count; + dptr()->emitLabelsChanged(); + emit segmentCountChanged(count); + } +} + +int QValue3DAxis::segmentCount() const +{ + return dptrc()->m_segmentCount; +} + +/*! + * \property QValue3DAxis::subSegmentCount + * + * Defines the number of subsegments inside each segment on the axis. Grid lines are drawn between + * each subsegment, in addition to each segment. + * The preset default is \c 1, and it can not be below \c 1. + * + * \sa setSegmentCount() + */ +void QValue3DAxis::setSubSegmentCount(int count) +{ + if (count <= 0) { + qWarning() << "Warning: Illegal subsegment count automatically adjusted to a legal one:" + << count << "-> 1"; + count = 1; + } + if (dptr()->m_subSegmentCount != count) { + dptr()->m_subSegmentCount = count; + emit subSegmentCountChanged(count); + } +} + +int QValue3DAxis::subSegmentCount() const +{ + return dptrc()->m_subSegmentCount; +} + +/*! + * \property QValue3DAxis::labelFormat + * + * Defines the label format to be used for the labels on this axis. Supported specifiers are: + * \c {d, i, o, x, X, f, F, e, E, g, G, c}. See QString::sprintf() for additional details. + * + * Usage example: + * + * \c {axis->setLabelFormat("%.2f mm");} + */ +void QValue3DAxis::setLabelFormat(const QString &format) +{ + if (dptr()->m_labelFormat != format) { + dptr()->m_labelFormat = format; + dptr()->emitLabelsChanged(); + emit labelFormatChanged(format); + } +} + +QString QValue3DAxis::labelFormat() const +{ + return dptrc()->m_labelFormat; +} + +/*! + * \internal + */ +QValue3DAxisPrivate *QValue3DAxis::dptr() +{ + return static_cast(d_ptr.data()); +} + +/*! + * \internal + */ +const QValue3DAxisPrivate *QValue3DAxis::dptrc() const +{ + return static_cast(d_ptr.data()); +} + +QValue3DAxisPrivate::QValue3DAxisPrivate(QValue3DAxis *q) + : QAbstract3DAxisPrivate(q, QAbstract3DAxis::AxisTypeValue), + m_segmentCount(5), + m_subSegmentCount(1), + m_labelFormat(Utils::defaultLabelFormat()), + m_labelsDirty(true) +{ +} + +QValue3DAxisPrivate::~QValue3DAxisPrivate() +{ +} + +void QValue3DAxisPrivate::setRange(float min, float max) +{ + bool dirty = (min != m_min || max != m_max); + + QAbstract3DAxisPrivate::setRange(min, max); + + if (dirty) + emitLabelsChanged(); +} + +void QValue3DAxisPrivate::setMin(float min) +{ + bool dirty = (min != m_min); + + QAbstract3DAxisPrivate::setMin(min); + + if (dirty) + emitLabelsChanged(); +} + +void QValue3DAxisPrivate::setMax(float max) +{ + bool dirty = (max != m_max); + + QAbstract3DAxisPrivate::setMax(max); + + if (dirty) + emitLabelsChanged(); +} + +void QValue3DAxisPrivate::emitLabelsChanged() +{ + m_labelsDirty = true; + emit q_ptr->labelsChanged(); +} + +void QValue3DAxisPrivate::updateLabels() +{ + if (!m_labelsDirty) + return; + + m_labelsDirty = false; + + QStringList newLabels; + newLabels.reserve(m_segmentCount + 1); + + // First label is at axis min, which is an extra segment + float segmentStep = (m_max - m_min) / m_segmentCount; + + QString formatString(m_labelFormat); + Utils::ParamType paramType = Utils::findFormatParamType(formatString); + QByteArray formatArray = formatString.toUtf8(); + + for (int i = 0; i < m_segmentCount; i++) { + float value = m_min + (segmentStep * i); + newLabels.append(Utils::formatLabel(formatArray, paramType, value)); + } + + // Ensure max label doesn't suffer from any rounding errors + newLabels.append(Utils::formatLabel(formatArray, paramType, m_max)); + + if (m_labels != newLabels) + m_labels = newLabels; +} + +QValue3DAxis *QValue3DAxisPrivate::qptr() +{ + return static_cast(q_ptr); +} + +QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/axis/qvalue3daxis.h b/src/datavisualization/axis/qvalue3daxis.h new file mode 100644 index 00000000..3bdeb678 --- /dev/null +++ b/src/datavisualization/axis/qvalue3daxis.h @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** 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 QVALUE3DAXIS_H +#define QVALUE3DAXIS_H + +#include + +QT_DATAVISUALIZATION_BEGIN_NAMESPACE + +class QValue3DAxisPrivate; + +class QT_DATAVISUALIZATION_EXPORT QValue3DAxis : public QAbstract3DAxis +{ + Q_OBJECT + Q_PROPERTY(int segmentCount READ segmentCount WRITE setSegmentCount NOTIFY segmentCountChanged) + Q_PROPERTY(int subSegmentCount READ subSegmentCount WRITE setSubSegmentCount NOTIFY subSegmentCountChanged) + Q_PROPERTY(QString labelFormat READ labelFormat WRITE setLabelFormat NOTIFY labelFormatChanged) + +public: + explicit QValue3DAxis(QObject *parent = 0); + virtual ~QValue3DAxis(); + + int segmentCount() const; + int subSegmentCount() const; + QString labelFormat() const; + + void setSegmentCount(int count); + void setSubSegmentCount(int count); + void setLabelFormat(const QString &format); + +signals: + void segmentCountChanged(int count); + void subSegmentCountChanged(int count); + void labelFormatChanged(QString format); + +protected: + QValue3DAxisPrivate *dptr(); + const QValue3DAxisPrivate *dptrc() const; + +private: + Q_DISABLE_COPY(QValue3DAxis) + friend class Bars3DController; + friend class Scatter3DController; + friend class Surface3DController; +}; + +QT_DATAVISUALIZATION_END_NAMESPACE + +#endif diff --git a/src/datavisualization/axis/qvalue3daxis_p.h b/src/datavisualization/axis/qvalue3daxis_p.h new file mode 100644 index 00000000..508453e8 --- /dev/null +++ b/src/datavisualization/axis/qvalue3daxis_p.h @@ -0,0 +1,66 @@ +/**************************************************************************** +** +** 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 +** +****************************************************************************/ + +// +// W A R N I N G +// ------------- +// +// This file is not part of the QtDataVisualization API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. + +#include "qvalue3daxis.h" +#include "qabstract3daxis_p.h" + +#ifndef QVALUE3DAXIS_P_H +#define QVALUE3DAXIS_P_H + +QT_DATAVISUALIZATION_BEGIN_NAMESPACE + +class QValue3DAxisPrivate : public QAbstract3DAxisPrivate +{ + Q_OBJECT + +public: + QValue3DAxisPrivate(QValue3DAxis *q); + virtual ~QValue3DAxisPrivate(); + + virtual void setRange(float min, float max); + virtual void setMin(float min); + virtual void setMax (float max); + +protected: + void emitLabelsChanged(); + virtual void updateLabels(); + + int m_segmentCount; + int m_subSegmentCount; + QString m_labelFormat; + bool m_labelsDirty; + +private: + QValue3DAxis *qptr(); + + friend class QValue3DAxis; +}; + +QT_DATAVISUALIZATION_END_NAMESPACE + +#endif diff --git a/src/datavisualization/data/qbar3dseries.cpp b/src/datavisualization/data/qbar3dseries.cpp index 18e8b2ed..357feca6 100644 --- a/src/datavisualization/data/qbar3dseries.cpp +++ b/src/datavisualization/data/qbar3dseries.cpp @@ -51,7 +51,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * \li @colLabel \li Label from column axis * \row * \li @valueLabel \li Item value formatted using the same format the value axis attached to the graph uses, - * see \l{Q3DValueAxis::setLabelFormat()} for more information. + * see \l{QValue3DAxis::setLabelFormat()} for more information. * \row * \li % \li Item value in specified format. * \endtable diff --git a/src/datavisualization/data/qbardataproxy.cpp b/src/datavisualization/data/qbardataproxy.cpp index 80768059..71680ff2 100644 --- a/src/datavisualization/data/qbardataproxy.cpp +++ b/src/datavisualization/data/qbardataproxy.cpp @@ -38,7 +38,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * If you use QBarDataRow pointers to directly modify data after adding the array to the proxy, * you must also emit proper signal to make the graph update. * - * QBarDataProxy optionally keeps track of row and column labels, which Q3DCategoryAxis can utilize + * QBarDataProxy optionally keeps track of row and column labels, which QCategory3DAxis can utilize * to show axis labels. The row and column labels are stored in separate array from the data and * row manipulation methods provide an alternate versions that don't affect the row labels. * This enables the option of having row labels that relate to the position of the data in the diff --git a/src/datavisualization/data/qscatter3dseries.cpp b/src/datavisualization/data/qscatter3dseries.cpp index 47971f5f..8604c3f0 100644 --- a/src/datavisualization/data/qscatter3dseries.cpp +++ b/src/datavisualization/data/qscatter3dseries.cpp @@ -43,13 +43,13 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * \li @zTitle \li Title from Z axis * \row * \li @xLabel \li Item value formatted using the same format the X axis attached to the graph uses, - * see \l{Q3DValueAxis::setLabelFormat()} for more information. + * see \l{QValue3DAxis::setLabelFormat()} for more information. * \row * \li @yLabel \li Item value formatted using the same format the Y axis attached to the graph uses, - * see \l{Q3DValueAxis::setLabelFormat()} for more information. + * see \l{QValue3DAxis::setLabelFormat()} for more information. * \row * \li @zLabel \li Item value formatted using the same format the Z axis attached to the graph uses, - * see \l{Q3DValueAxis::setLabelFormat()} for more information. + * see \l{QValue3DAxis::setLabelFormat()} for more information. * \endtable * * For example: diff --git a/src/datavisualization/data/qsurface3dseries.cpp b/src/datavisualization/data/qsurface3dseries.cpp index cf794077..1d456243 100644 --- a/src/datavisualization/data/qsurface3dseries.cpp +++ b/src/datavisualization/data/qsurface3dseries.cpp @@ -46,13 +46,13 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * \li @zTitle \li Title from Z axis * \row * \li @xLabel \li Item value formatted using the same format as the X axis attached to the graph uses, - * see \l{Q3DValueAxis::setLabelFormat()} for more information. + * see \l{QValue3DAxis::setLabelFormat()} for more information. * \row * \li @yLabel \li Item value formatted using the same format as the Y axis attached to the graph uses, - * see \l{Q3DValueAxis::setLabelFormat()} for more information. + * see \l{QValue3DAxis::setLabelFormat()} for more information. * \row * \li @zLabel \li Item value formatted using the same format as the Z axis attached to the graph uses, - * see \l{Q3DValueAxis::setLabelFormat()} for more information. + * see \l{QValue3DAxis::setLabelFormat()} for more information. * \endtable * * For example: diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index fb732139..09c75ceb 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -18,9 +18,9 @@ #include "abstract3dcontroller_p.h" #include "camerahelper_p.h" -#include "q3dabstractaxis_p.h" -#include "q3dvalueaxis.h" -#include "q3dcategoryaxis.h" +#include "qabstract3daxis_p.h" +#include "qvalue3daxis.h" +#include "qcategory3daxis.h" #include "abstract3drenderer_p.h" #include "q3dcamera.h" #include "q3dlight.h" @@ -148,144 +148,144 @@ void Abstract3DController::synchDataToRenderer() } if (m_changeTracker.axisXTypeChanged) { - m_renderer->updateAxisType(Q3DAbstractAxis::AxisOrientationX, m_axisX->type()); + m_renderer->updateAxisType(QAbstract3DAxis::AxisOrientationX, m_axisX->type()); m_changeTracker.axisXTypeChanged = false; } if (m_changeTracker.axisYTypeChanged) { - m_renderer->updateAxisType(Q3DAbstractAxis::AxisOrientationY, m_axisY->type()); + m_renderer->updateAxisType(QAbstract3DAxis::AxisOrientationY, m_axisY->type()); m_changeTracker.axisYTypeChanged = false; } if (m_changeTracker.axisZTypeChanged) { - m_renderer->updateAxisType(Q3DAbstractAxis::AxisOrientationZ, m_axisZ->type()); + m_renderer->updateAxisType(QAbstract3DAxis::AxisOrientationZ, m_axisZ->type()); m_changeTracker.axisZTypeChanged = false; } if (m_changeTracker.axisXTitleChanged) { - m_renderer->updateAxisTitle(Q3DAbstractAxis::AxisOrientationX, m_axisX->title()); + m_renderer->updateAxisTitle(QAbstract3DAxis::AxisOrientationX, m_axisX->title()); m_changeTracker.axisXTitleChanged = false; } if (m_changeTracker.axisYTitleChanged) { - m_renderer->updateAxisTitle(Q3DAbstractAxis::AxisOrientationY, m_axisY->title()); + m_renderer->updateAxisTitle(QAbstract3DAxis::AxisOrientationY, m_axisY->title()); m_changeTracker.axisYTitleChanged = false; } if (m_changeTracker.axisZTitleChanged) { - m_renderer->updateAxisTitle(Q3DAbstractAxis::AxisOrientationZ, m_axisZ->title()); + m_renderer->updateAxisTitle(QAbstract3DAxis::AxisOrientationZ, m_axisZ->title()); m_changeTracker.axisZTitleChanged = false; } if (m_changeTracker.axisXLabelsChanged) { - m_renderer->updateAxisLabels(Q3DAbstractAxis::AxisOrientationX, m_axisX->labels()); + m_renderer->updateAxisLabels(QAbstract3DAxis::AxisOrientationX, m_axisX->labels()); m_changeTracker.axisXLabelsChanged = false; } if (m_changeTracker.axisYLabelsChanged) { - m_renderer->updateAxisLabels(Q3DAbstractAxis::AxisOrientationY, m_axisY->labels()); + m_renderer->updateAxisLabels(QAbstract3DAxis::AxisOrientationY, m_axisY->labels()); m_changeTracker.axisYLabelsChanged = false; } if (m_changeTracker.axisZLabelsChanged) { - m_renderer->updateAxisLabels(Q3DAbstractAxis::AxisOrientationZ, m_axisZ->labels()); + m_renderer->updateAxisLabels(QAbstract3DAxis::AxisOrientationZ, m_axisZ->labels()); m_changeTracker.axisZLabelsChanged = false; } if (m_changeTracker.axisXRangeChanged) { - m_renderer->updateAxisRange(Q3DAbstractAxis::AxisOrientationX, m_axisX->min(), + m_renderer->updateAxisRange(QAbstract3DAxis::AxisOrientationX, m_axisX->min(), m_axisX->max()); m_changeTracker.axisXRangeChanged = false; } if (m_changeTracker.axisYRangeChanged) { - m_renderer->updateAxisRange(Q3DAbstractAxis::AxisOrientationY, m_axisY->min(), + m_renderer->updateAxisRange(QAbstract3DAxis::AxisOrientationY, m_axisY->min(), m_axisY->max()); m_changeTracker.axisYRangeChanged = false; } if (m_changeTracker.axisZRangeChanged) { - m_renderer->updateAxisRange(Q3DAbstractAxis::AxisOrientationZ, m_axisZ->min(), + m_renderer->updateAxisRange(QAbstract3DAxis::AxisOrientationZ, m_axisZ->min(), m_axisZ->max()); m_changeTracker.axisZRangeChanged = false; } if (m_changeTracker.axisXSegmentCountChanged) { m_changeTracker.axisXSegmentCountChanged = false; - if (m_axisX->type() & Q3DAbstractAxis::AxisTypeValue) { - Q3DValueAxis *valueAxisX = static_cast(m_axisX); - m_renderer->updateAxisSegmentCount(Q3DAbstractAxis::AxisOrientationX, + if (m_axisX->type() & QAbstract3DAxis::AxisTypeValue) { + QValue3DAxis *valueAxisX = static_cast(m_axisX); + m_renderer->updateAxisSegmentCount(QAbstract3DAxis::AxisOrientationX, valueAxisX->segmentCount()); } } if (m_changeTracker.axisYSegmentCountChanged) { m_changeTracker.axisYSegmentCountChanged = false; - if (m_axisY->type() & Q3DAbstractAxis::AxisTypeValue) { - Q3DValueAxis *valueAxisY = static_cast(m_axisY); - m_renderer->updateAxisSegmentCount(Q3DAbstractAxis::AxisOrientationY, + if (m_axisY->type() & QAbstract3DAxis::AxisTypeValue) { + QValue3DAxis *valueAxisY = static_cast(m_axisY); + m_renderer->updateAxisSegmentCount(QAbstract3DAxis::AxisOrientationY, valueAxisY->segmentCount()); } } if (m_changeTracker.axisZSegmentCountChanged) { m_changeTracker.axisZSegmentCountChanged = false; - if (m_axisZ->type() & Q3DAbstractAxis::AxisTypeValue) { - Q3DValueAxis *valueAxisZ = static_cast(m_axisZ); - m_renderer->updateAxisSegmentCount(Q3DAbstractAxis::AxisOrientationZ, + if (m_axisZ->type() & QAbstract3DAxis::AxisTypeValue) { + QValue3DAxis *valueAxisZ = static_cast(m_axisZ); + m_renderer->updateAxisSegmentCount(QAbstract3DAxis::AxisOrientationZ, valueAxisZ->segmentCount()); } } if (m_changeTracker.axisXSubSegmentCountChanged) { m_changeTracker.axisXSubSegmentCountChanged = false; - if (m_axisX->type() & Q3DAbstractAxis::AxisTypeValue) { - Q3DValueAxis *valueAxisX = static_cast(m_axisX); - m_renderer->updateAxisSubSegmentCount(Q3DAbstractAxis::AxisOrientationX, + if (m_axisX->type() & QAbstract3DAxis::AxisTypeValue) { + QValue3DAxis *valueAxisX = static_cast(m_axisX); + m_renderer->updateAxisSubSegmentCount(QAbstract3DAxis::AxisOrientationX, valueAxisX->subSegmentCount()); } } if (m_changeTracker.axisYSubSegmentCountChanged) { m_changeTracker.axisYSubSegmentCountChanged = false; - if (m_axisY->type() & Q3DAbstractAxis::AxisTypeValue) { - Q3DValueAxis *valueAxisY = static_cast(m_axisY); - m_renderer->updateAxisSubSegmentCount(Q3DAbstractAxis::AxisOrientationY, + if (m_axisY->type() & QAbstract3DAxis::AxisTypeValue) { + QValue3DAxis *valueAxisY = static_cast(m_axisY); + m_renderer->updateAxisSubSegmentCount(QAbstract3DAxis::AxisOrientationY, valueAxisY->subSegmentCount()); } } if (m_changeTracker.axisZSubSegmentCountChanged) { m_changeTracker.axisZSubSegmentCountChanged = false; - if (m_axisZ->type() & Q3DAbstractAxis::AxisTypeValue) { - Q3DValueAxis *valueAxisZ = static_cast(m_axisZ); - m_renderer->updateAxisSubSegmentCount(Q3DAbstractAxis::AxisOrientationZ, + if (m_axisZ->type() & QAbstract3DAxis::AxisTypeValue) { + QValue3DAxis *valueAxisZ = static_cast(m_axisZ); + m_renderer->updateAxisSubSegmentCount(QAbstract3DAxis::AxisOrientationZ, valueAxisZ->subSegmentCount()); } } if (m_changeTracker.axisXLabelFormatChanged) { m_changeTracker.axisXLabelFormatChanged = false; - if (m_axisX->type() & Q3DAbstractAxis::AxisTypeValue) { - Q3DValueAxis *valueAxisX = static_cast(m_axisX); - m_renderer->updateAxisLabelFormat(Q3DAbstractAxis::AxisOrientationX, + if (m_axisX->type() & QAbstract3DAxis::AxisTypeValue) { + QValue3DAxis *valueAxisX = static_cast(m_axisX); + m_renderer->updateAxisLabelFormat(QAbstract3DAxis::AxisOrientationX, valueAxisX->labelFormat()); } } if (m_changeTracker.axisYLabelFormatChanged) { m_changeTracker.axisYLabelFormatChanged = false; - if (m_axisY->type() & Q3DAbstractAxis::AxisTypeValue) { - Q3DValueAxis *valueAxisY = static_cast(m_axisY); - m_renderer->updateAxisLabelFormat(Q3DAbstractAxis::AxisOrientationY, + if (m_axisY->type() & QAbstract3DAxis::AxisTypeValue) { + QValue3DAxis *valueAxisY = static_cast(m_axisY); + m_renderer->updateAxisLabelFormat(QAbstract3DAxis::AxisOrientationY, valueAxisY->labelFormat()); } } if (m_changeTracker.axisZLabelFormatChanged) { m_changeTracker.axisZLabelFormatChanged = false; - if (m_axisZ->type() & Q3DAbstractAxis::AxisTypeValue) { - Q3DValueAxis *valueAxisZ = static_cast(m_axisZ); - m_renderer->updateAxisLabelFormat(Q3DAbstractAxis::AxisOrientationZ, + if (m_axisZ->type() & QAbstract3DAxis::AxisTypeValue) { + QValue3DAxis *valueAxisZ = static_cast(m_axisZ); + m_renderer->updateAxisLabelFormat(QAbstract3DAxis::AxisOrientationZ, valueAxisZ->labelFormat()); } } @@ -459,37 +459,37 @@ void Abstract3DController::handleThemeTypeChanged(Q3DTheme::Theme theme) markSeriesVisualsDirty(); } -void Abstract3DController::setAxisX(Q3DAbstractAxis *axis) +void Abstract3DController::setAxisX(QAbstract3DAxis *axis) { - setAxisHelper(Q3DAbstractAxis::AxisOrientationX, axis, &m_axisX); + setAxisHelper(QAbstract3DAxis::AxisOrientationX, axis, &m_axisX); } -Q3DAbstractAxis *Abstract3DController::axisX() +QAbstract3DAxis *Abstract3DController::axisX() { return m_axisX; } -void Abstract3DController::setAxisY(Q3DAbstractAxis *axis) +void Abstract3DController::setAxisY(QAbstract3DAxis *axis) { - setAxisHelper(Q3DAbstractAxis::AxisOrientationY, axis, &m_axisY); + setAxisHelper(QAbstract3DAxis::AxisOrientationY, axis, &m_axisY); } -Q3DAbstractAxis *Abstract3DController::axisY() +QAbstract3DAxis *Abstract3DController::axisY() { return m_axisY; } -void Abstract3DController::setAxisZ(Q3DAbstractAxis *axis) +void Abstract3DController::setAxisZ(QAbstract3DAxis *axis) { - setAxisHelper(Q3DAbstractAxis::AxisOrientationZ, axis, &m_axisZ); + setAxisHelper(QAbstract3DAxis::AxisOrientationZ, axis, &m_axisZ); } -Q3DAbstractAxis *Abstract3DController::axisZ() +QAbstract3DAxis *Abstract3DController::axisZ() { return m_axisZ; } -void Abstract3DController::addAxis(Q3DAbstractAxis *axis) +void Abstract3DController::addAxis(QAbstract3DAxis *axis) { Q_ASSERT(axis); Abstract3DController *owner = qobject_cast(axis->parent()); @@ -501,7 +501,7 @@ void Abstract3DController::addAxis(Q3DAbstractAxis *axis) m_axes.append(axis); } -void Abstract3DController::releaseAxis(Q3DAbstractAxis *axis) +void Abstract3DController::releaseAxis(QAbstract3DAxis *axis) { if (axis && m_axes.contains(axis)) { // Clear the default status from released default axes @@ -510,13 +510,13 @@ void Abstract3DController::releaseAxis(Q3DAbstractAxis *axis) // If the axis is in use, replace it with a temporary one switch (axis->orientation()) { - case Q3DAbstractAxis::AxisOrientationX: + case QAbstract3DAxis::AxisOrientationX: setAxisX(0); break; - case Q3DAbstractAxis::AxisOrientationY: + case QAbstract3DAxis::AxisOrientationY: setAxisY(0); break; - case Q3DAbstractAxis::AxisOrientationZ: + case QAbstract3DAxis::AxisOrientationZ: setAxisZ(0); break; default: @@ -528,7 +528,7 @@ void Abstract3DController::releaseAxis(Q3DAbstractAxis *axis) } } -QList Abstract3DController::axes() const +QList Abstract3DController::axes() const { return m_axes; } @@ -810,7 +810,7 @@ void Abstract3DController::handleAxisAutoAdjustRangeChanged(bool autoAdjust) if (sender != m_axisX && sender != m_axisY && sender != m_axisZ) return; - Q3DAbstractAxis *axis = static_cast(sender); + QAbstract3DAxis *axis = static_cast(sender); handleAxisAutoAdjustRangeChangedInOrientation(axis->orientation(), autoAdjust); } @@ -879,15 +879,15 @@ void Abstract3DController::handleSeriesVisibilityChangedBySender(QObject *sender emitNeedRender(); } -void Abstract3DController::setAxisHelper(Q3DAbstractAxis::AxisOrientation orientation, - Q3DAbstractAxis *axis, Q3DAbstractAxis **axisPtr) +void Abstract3DController::setAxisHelper(QAbstract3DAxis::AxisOrientation orientation, + QAbstract3DAxis *axis, QAbstract3DAxis **axisPtr) { // Setting null axis indicates using default axis if (!axis) axis = createDefaultAxis(orientation); // If old axis is default axis, delete it - Q3DAbstractAxis *oldAxis = *axisPtr; + QAbstract3DAxis *oldAxis = *axisPtr; if (oldAxis) { if (oldAxis->d_ptr->isDefaultAxis()) { m_axes.removeAll(oldAxis); @@ -896,7 +896,7 @@ void Abstract3DController::setAxisHelper(Q3DAbstractAxis::AxisOrientation orient } else { // Disconnect the old axis from use QObject::disconnect(oldAxis, 0, this, 0); - oldAxis->d_ptr->setOrientation(Q3DAbstractAxis::AxisOrientationNone); + oldAxis->d_ptr->setOrientation(QAbstract3DAxis::AxisOrientationNone); } } @@ -908,20 +908,20 @@ void Abstract3DController::setAxisHelper(Q3DAbstractAxis::AxisOrientation orient axis->d_ptr->setOrientation(orientation); - QObject::connect(axis, &Q3DAbstractAxis::titleChanged, + QObject::connect(axis, &QAbstract3DAxis::titleChanged, this, &Abstract3DController::handleAxisTitleChanged); - QObject::connect(axis, &Q3DAbstractAxis::labelsChanged, + QObject::connect(axis, &QAbstract3DAxis::labelsChanged, this, &Abstract3DController::handleAxisLabelsChanged); - QObject::connect(axis, &Q3DAbstractAxis::rangeChanged, + QObject::connect(axis, &QAbstract3DAxis::rangeChanged, this, &Abstract3DController::handleAxisRangeChanged); - QObject::connect(axis, &Q3DAbstractAxis::autoAdjustRangeChanged, + QObject::connect(axis, &QAbstract3DAxis::autoAdjustRangeChanged, this, &Abstract3DController::handleAxisAutoAdjustRangeChanged); - if (orientation == Q3DAbstractAxis::AxisOrientationX) + if (orientation == QAbstract3DAxis::AxisOrientationX) m_changeTracker.axisXTypeChanged = true; - else if (orientation == Q3DAbstractAxis::AxisOrientationY) + else if (orientation == QAbstract3DAxis::AxisOrientationY) m_changeTracker.axisYTypeChanged = true; - else if (orientation == Q3DAbstractAxis::AxisOrientationZ) + else if (orientation == QAbstract3DAxis::AxisOrientationZ) m_changeTracker.axisZTypeChanged = true; handleAxisTitleChangedBySender(axis); @@ -930,13 +930,13 @@ void Abstract3DController::setAxisHelper(Q3DAbstractAxis::AxisOrientation orient handleAxisAutoAdjustRangeChangedInOrientation(axis->orientation(), axis->isAutoAdjustRange()); - if (axis->type() & Q3DAbstractAxis::AxisTypeValue) { - Q3DValueAxis *valueAxis = static_cast(axis); - QObject::connect(valueAxis, &Q3DValueAxis::segmentCountChanged, + if (axis->type() & QAbstract3DAxis::AxisTypeValue) { + QValue3DAxis *valueAxis = static_cast(axis); + QObject::connect(valueAxis, &QValue3DAxis::segmentCountChanged, this, &Abstract3DController::handleAxisSegmentCountChanged); - QObject::connect(valueAxis, &Q3DValueAxis::subSegmentCountChanged, + QObject::connect(valueAxis, &QValue3DAxis::subSegmentCountChanged, this, &Abstract3DController::handleAxisSubSegmentCountChanged); - QObject::connect(valueAxis, &Q3DValueAxis::labelFormatChanged, + QObject::connect(valueAxis, &QValue3DAxis::labelFormatChanged, this, &Abstract3DController::handleAxisLabelFormatChanged); handleAxisSegmentCountChangedBySender(valueAxis); @@ -945,29 +945,29 @@ void Abstract3DController::setAxisHelper(Q3DAbstractAxis::AxisOrientation orient } } -Q3DAbstractAxis *Abstract3DController::createDefaultAxis(Q3DAbstractAxis::AxisOrientation orientation) +QAbstract3DAxis *Abstract3DController::createDefaultAxis(QAbstract3DAxis::AxisOrientation orientation) { Q_UNUSED(orientation) // The default default axis is a value axis. If the graph type has a different default axis // for some orientation, this function needs to be overridden. - Q3DAbstractAxis *defaultAxis = createDefaultValueAxis(); + QAbstract3DAxis *defaultAxis = createDefaultValueAxis(); return defaultAxis; } -Q3DValueAxis *Abstract3DController::createDefaultValueAxis() +QValue3DAxis *Abstract3DController::createDefaultValueAxis() { // Default value axis has single segment, empty label format, and auto scaling - Q3DValueAxis *defaultAxis = new Q3DValueAxis; + QValue3DAxis *defaultAxis = new QValue3DAxis; defaultAxis->d_ptr->setDefaultAxis(true); return defaultAxis; } -Q3DCategoryAxis *Abstract3DController::createDefaultCategoryAxis() +QCategory3DAxis *Abstract3DController::createDefaultCategoryAxis() { // Default category axis has no labels - Q3DCategoryAxis *defaultAxis = new Q3DCategoryAxis; + QCategory3DAxis *defaultAxis = new QCategory3DAxis; defaultAxis->d_ptr->setDefaultAxis(true); return defaultAxis; } diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index b9c99210..91083eb9 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -30,7 +30,7 @@ #define ABSTRACT3DCONTROLLER_P_H #include "datavisualizationglobal_p.h" -#include "q3dabstractaxis.h" +#include "qabstract3daxis.h" #include "drawer_p.h" #include "qabstract3dinputhandler.h" #include "qabstractdataproxy.h" @@ -145,11 +145,11 @@ protected: QAbstract3DInputHandler *m_activeInputHandler; CameraHelper *m_cameraHelper; // Active axes - Q3DAbstractAxis *m_axisX; - Q3DAbstractAxis *m_axisY; - Q3DAbstractAxis *m_axisZ; + QAbstract3DAxis *m_axisX; + QAbstract3DAxis *m_axisY; + QAbstract3DAxis *m_axisZ; - QList m_axes; // List of all added axes + QList m_axes; // List of all added axes Abstract3DRenderer *m_renderer; bool m_isDataDirty; bool m_isSeriesVisibilityDirty; @@ -173,15 +173,15 @@ public: virtual void removeSeries(QAbstract3DSeries *series); QList seriesList(); - virtual void setAxisX(Q3DAbstractAxis *axis); - virtual Q3DAbstractAxis *axisX(); - virtual void setAxisY(Q3DAbstractAxis *axis); - virtual Q3DAbstractAxis *axisY(); - virtual void setAxisZ(Q3DAbstractAxis *axis); - virtual Q3DAbstractAxis *axisZ(); - virtual void addAxis(Q3DAbstractAxis *axis); - virtual void releaseAxis(Q3DAbstractAxis *axis); - virtual QList axes() const; // Omits default axes + virtual void setAxisX(QAbstract3DAxis *axis); + virtual QAbstract3DAxis *axisX(); + virtual void setAxisY(QAbstract3DAxis *axis); + virtual QAbstract3DAxis *axisY(); + virtual void setAxisZ(QAbstract3DAxis *axis); + virtual QAbstract3DAxis *axisZ(); + virtual void addAxis(QAbstract3DAxis *axis); + virtual void releaseAxis(QAbstract3DAxis *axis); + virtual QList axes() const; // Omits default axes virtual void addInputHandler(QAbstract3DInputHandler *inputHandler); virtual void releaseInputHandler(QAbstract3DInputHandler *inputHandler); @@ -226,7 +226,7 @@ public: virtual void handleAxisSegmentCountChangedBySender(QObject *sender); virtual void handleAxisSubSegmentCountChangedBySender(QObject *sender); virtual void handleAxisAutoAdjustRangeChangedInOrientation( - Q3DAbstractAxis::AxisOrientation orientation, bool autoAdjust) = 0; + QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust) = 0; virtual void handleAxisLabelFormatChangedBySender(QObject *sender); virtual void handleSeriesVisibilityChangedBySender(QObject *sender); @@ -262,13 +262,13 @@ signals: void needRender(); protected: - virtual Q3DAbstractAxis *createDefaultAxis(Q3DAbstractAxis::AxisOrientation orientation); - Q3DValueAxis *createDefaultValueAxis(); - Q3DCategoryAxis *createDefaultCategoryAxis(); + virtual QAbstract3DAxis *createDefaultAxis(QAbstract3DAxis::AxisOrientation orientation); + QValue3DAxis *createDefaultValueAxis(); + QCategory3DAxis *createDefaultCategoryAxis(); private: - void setAxisHelper(Q3DAbstractAxis::AxisOrientation orientation, Q3DAbstractAxis *axis, - Q3DAbstractAxis **axisPtr); + void setAxisHelper(QAbstract3DAxis::AxisOrientation orientation, QAbstract3DAxis *axis, + QAbstract3DAxis **axisPtr); friend class Bars3DController; }; diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 74088b7c..32435946 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -17,7 +17,7 @@ ****************************************************************************/ #include "abstract3drenderer_p.h" -#include "q3dvalueaxis.h" +#include "qvalue3daxis.h" #include "texturehelper_p.h" #include "utils_p.h" #include "q3dscene_p.h" @@ -85,9 +85,9 @@ void Abstract3DRenderer::initializeOpenGL() m_textureHelper = new TextureHelper(); m_drawer->initializeOpenGL(); - axisCacheForOrientation(Q3DAbstractAxis::AxisOrientationX).setDrawer(m_drawer); - axisCacheForOrientation(Q3DAbstractAxis::AxisOrientationY).setDrawer(m_drawer); - axisCacheForOrientation(Q3DAbstractAxis::AxisOrientationZ).setDrawer(m_drawer); + axisCacheForOrientation(QAbstract3DAxis::AxisOrientationX).setDrawer(m_drawer); + axisCacheForOrientation(QAbstract3DAxis::AxisOrientationY).setDrawer(m_drawer); + axisCacheForOrientation(QAbstract3DAxis::AxisOrientationZ).setDrawer(m_drawer); } void Abstract3DRenderer::render(const GLuint defaultFboHandle) @@ -280,39 +280,39 @@ void Abstract3DRenderer::handleResize() #endif } -void Abstract3DRenderer::updateAxisType(Q3DAbstractAxis::AxisOrientation orientation, Q3DAbstractAxis::AxisType type) +void Abstract3DRenderer::updateAxisType(QAbstract3DAxis::AxisOrientation orientation, QAbstract3DAxis::AxisType type) { axisCacheForOrientation(orientation).setType(type); } -void Abstract3DRenderer::updateAxisTitle(Q3DAbstractAxis::AxisOrientation orientation, const QString &title) +void Abstract3DRenderer::updateAxisTitle(QAbstract3DAxis::AxisOrientation orientation, const QString &title) { axisCacheForOrientation(orientation).setTitle(title); } -void Abstract3DRenderer::updateAxisLabels(Q3DAbstractAxis::AxisOrientation orientation, const QStringList &labels) +void Abstract3DRenderer::updateAxisLabels(QAbstract3DAxis::AxisOrientation orientation, const QStringList &labels) { axisCacheForOrientation(orientation).setLabels(labels); } -void Abstract3DRenderer::updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, float min, float max) +void Abstract3DRenderer::updateAxisRange(QAbstract3DAxis::AxisOrientation orientation, float min, float max) { AxisRenderCache &cache = axisCacheForOrientation(orientation); cache.setMin(min); cache.setMax(max); } -void Abstract3DRenderer::updateAxisSegmentCount(Q3DAbstractAxis::AxisOrientation orientation, int count) +void Abstract3DRenderer::updateAxisSegmentCount(QAbstract3DAxis::AxisOrientation orientation, int count) { axisCacheForOrientation(orientation).setSegmentCount(count); } -void Abstract3DRenderer::updateAxisSubSegmentCount(Q3DAbstractAxis::AxisOrientation orientation, int count) +void Abstract3DRenderer::updateAxisSubSegmentCount(QAbstract3DAxis::AxisOrientation orientation, int count) { axisCacheForOrientation(orientation).setSubSegmentCount(count); } -void Abstract3DRenderer::updateAxisLabelFormat(Q3DAbstractAxis::AxisOrientation orientation, const QString &format) +void Abstract3DRenderer::updateAxisLabelFormat(QAbstract3DAxis::AxisOrientation orientation, const QString &format) { axisCacheForOrientation(orientation).setLabelFormat(format); } @@ -353,14 +353,14 @@ void Abstract3DRenderer::updateSeries(const QList &seriesLi } } -AxisRenderCache &Abstract3DRenderer::axisCacheForOrientation(Q3DAbstractAxis::AxisOrientation orientation) +AxisRenderCache &Abstract3DRenderer::axisCacheForOrientation(QAbstract3DAxis::AxisOrientation orientation) { switch (orientation) { - case Q3DAbstractAxis::AxisOrientationX: + case QAbstract3DAxis::AxisOrientationX: return m_axisCacheX; - case Q3DAbstractAxis::AxisOrientationY: + case QAbstract3DAxis::AxisOrientationY: return m_axisCacheY; - case Q3DAbstractAxis::AxisOrientationZ: + case QAbstract3DAxis::AxisOrientationZ: return m_axisCacheZ; default: qFatal("Abstract3DRenderer::axisCacheForOrientation"); diff --git a/src/datavisualization/engine/abstract3drenderer_p.h b/src/datavisualization/engine/abstract3drenderer_p.h index 17a55ac9..068ee0ef 100644 --- a/src/datavisualization/engine/abstract3drenderer_p.h +++ b/src/datavisualization/engine/abstract3drenderer_p.h @@ -84,13 +84,13 @@ public: virtual void initShaders(const QString &vertexShader, const QString &fragmentShader) = 0; virtual void initGradientShaders(const QString &vertexShader, const QString &fragmentShader); virtual void initBackgroundShaders(const QString &vertexShader, const QString &fragmentShader) = 0; - virtual void updateAxisType(Q3DAbstractAxis::AxisOrientation orientation, Q3DAbstractAxis::AxisType type); - virtual void updateAxisTitle(Q3DAbstractAxis::AxisOrientation orientation, const QString &title); - virtual void updateAxisLabels(Q3DAbstractAxis::AxisOrientation orientation, const QStringList &labels); - virtual void updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, float min, float max); - virtual void updateAxisSegmentCount(Q3DAbstractAxis::AxisOrientation orientation, int count); - virtual void updateAxisSubSegmentCount(Q3DAbstractAxis::AxisOrientation orientation, int count); - virtual void updateAxisLabelFormat(Q3DAbstractAxis::AxisOrientation orientation, const QString &format); + virtual void updateAxisType(QAbstract3DAxis::AxisOrientation orientation, QAbstract3DAxis::AxisType type); + virtual void updateAxisTitle(QAbstract3DAxis::AxisOrientation orientation, const QString &title); + virtual void updateAxisLabels(QAbstract3DAxis::AxisOrientation orientation, const QStringList &labels); + virtual void updateAxisRange(QAbstract3DAxis::AxisOrientation orientation, float min, float max); + virtual void updateAxisSegmentCount(QAbstract3DAxis::AxisOrientation orientation, int count); + virtual void updateAxisSubSegmentCount(QAbstract3DAxis::AxisOrientation orientation, int count); + virtual void updateAxisLabelFormat(QAbstract3DAxis::AxisOrientation orientation, const QString &format); virtual void fixMeshFileName(QString &fileName, QAbstract3DSeries::Mesh mesh); void fixGradientAndGenerateTexture(QLinearGradient *gradient, GLuint *gradientTexture); @@ -108,7 +108,7 @@ protected: virtual void handleShadowQualityChange(); virtual void handleResize(); - AxisRenderCache &axisCacheForOrientation(Q3DAbstractAxis::AxisOrientation orientation); + AxisRenderCache &axisCacheForOrientation(QAbstract3DAxis::AxisOrientation orientation); virtual void lowerShadowQuality(); diff --git a/src/datavisualization/engine/axisrendercache.cpp b/src/datavisualization/engine/axisrendercache.cpp index f7960b2b..5ada62ca 100644 --- a/src/datavisualization/engine/axisrendercache.cpp +++ b/src/datavisualization/engine/axisrendercache.cpp @@ -23,7 +23,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE AxisRenderCache::AxisRenderCache() - : m_type(Q3DAbstractAxis::AxisTypeNone), + : m_type(QAbstract3DAxis::AxisTypeNone), m_min(0.0f), m_max(10.0f), m_segmentCount(5), @@ -51,7 +51,7 @@ void AxisRenderCache::setDrawer(Drawer *drawer) } } -void AxisRenderCache::setType(Q3DAbstractAxis::AxisType type) +void AxisRenderCache::setType(QAbstract3DAxis::AxisType type) { m_type = type; diff --git a/src/datavisualization/engine/axisrendercache_p.h b/src/datavisualization/engine/axisrendercache_p.h index cddc7839..991cff76 100644 --- a/src/datavisualization/engine/axisrendercache_p.h +++ b/src/datavisualization/engine/axisrendercache_p.h @@ -31,7 +31,7 @@ #include "datavisualizationglobal_p.h" #include "labelitem_p.h" -#include "q3dabstractaxis_p.h" +#include "qabstract3daxis_p.h" #include "drawer_p.h" QT_DATAVISUALIZATION_BEGIN_NAMESPACE @@ -45,8 +45,8 @@ public: void setDrawer(Drawer *drawer); - void setType(Q3DAbstractAxis::AxisType type); - inline Q3DAbstractAxis::AxisType type() const { return m_type; } + void setType(QAbstract3DAxis::AxisType type); + inline QAbstract3DAxis::AxisType type() const { return m_type; } void setTitle(const QString &title); inline const QString &title() { return m_title; } void setLabels(const QStringList &labels); @@ -76,7 +76,7 @@ private: int maxLabelWidth(const QStringList &labels) const; // Cached axis values - Q3DAbstractAxis::AxisType m_type; + QAbstract3DAxis::AxisType m_type; QString m_title; QStringList m_labels; float m_min; diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index 007fdffc..3efd890b 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -19,9 +19,9 @@ #include "bars3dcontroller_p.h" #include "bars3drenderer_p.h" #include "camerahelper_p.h" -#include "q3dabstractaxis_p.h" -#include "q3dvalueaxis_p.h" -#include "q3dcategoryaxis_p.h" +#include "qabstract3daxis_p.h" +#include "qvalue3daxis_p.h" +#include "qcategory3daxis_p.h" #include "qbardataproxy_p.h" #include "qbar3dseries_p.h" #include "thememanager_p.h" @@ -164,7 +164,7 @@ void Bars3DController::handleDataRowLabelsChanged() int min = int(m_axisZ->min()); int count = int(m_axisZ->max()) - min + 1; QStringList subList = firstSeries->dataProxy()->rowLabels().mid(min, count); - static_cast(m_axisZ)->dptr()->setDataLabels(subList); + static_cast(m_axisZ)->dptr()->setDataLabels(subList); } } @@ -179,7 +179,7 @@ void Bars3DController::handleDataColumnLabelsChanged() int count = int(m_axisX->max()) - min + 1; QStringList subList = static_cast(firstSeries->dataProxy()) ->columnLabels().mid(min, count); - static_cast(m_axisX)->dptr()->setDataLabels(subList); + static_cast(m_axisX)->dptr()->setDataLabels(subList); } } @@ -192,7 +192,7 @@ void Bars3DController::handleBarClicked(const QPoint &position, QBar3DSeries *se } void Bars3DController::handleAxisAutoAdjustRangeChangedInOrientation( - Q3DAbstractAxis::AxisOrientation orientation, bool autoAdjust) + QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust) { Q_UNUSED(orientation) Q_UNUSED(autoAdjust) @@ -214,13 +214,13 @@ QPoint Bars3DController::invalidSelectionPosition() return invalidSelectionPos; } -void Bars3DController::setAxisX(Q3DAbstractAxis *axis) +void Bars3DController::setAxisX(QAbstract3DAxis *axis) { Abstract3DController::setAxisX(axis); handleDataColumnLabelsChanged(); } -void Bars3DController::setAxisZ(Q3DAbstractAxis *axis) +void Bars3DController::setAxisZ(QAbstract3DAxis *axis) { Abstract3DController::setAxisZ(axis); handleDataRowLabelsChanged(); @@ -385,9 +385,9 @@ void Bars3DController::setSelectedBar(const QPoint &position, QBar3DSeries *seri void Bars3DController::adjustAxisRanges() { - Q3DCategoryAxis *categoryAxisZ = static_cast(m_axisZ); - Q3DCategoryAxis *categoryAxisX = static_cast(m_axisX); - Q3DValueAxis *valueAxis = static_cast(m_axisY); + QCategory3DAxis *categoryAxisZ = static_cast(m_axisZ); + QCategory3DAxis *categoryAxisX = static_cast(m_axisX); + QValue3DAxis *valueAxis = static_cast(m_axisY); bool adjustZ = (categoryAxisZ && categoryAxisZ->isAutoAdjustRange()); bool adjustX = (categoryAxisX && categoryAxisX->isAutoAdjustRange()); @@ -493,11 +493,11 @@ void Bars3DController::adjustSelectionPosition(QPoint &pos, const QBar3DSeries * } } -Q3DAbstractAxis *Bars3DController::createDefaultAxis(Q3DAbstractAxis::AxisOrientation orientation) +QAbstract3DAxis *Bars3DController::createDefaultAxis(QAbstract3DAxis::AxisOrientation orientation) { - Q3DAbstractAxis *defaultAxis = 0; + QAbstract3DAxis *defaultAxis = 0; - if (orientation == Q3DAbstractAxis::AxisOrientationY) + if (orientation == QAbstract3DAxis::AxisOrientationY) defaultAxis = createDefaultValueAxis(); else defaultAxis = createDefaultCategoryAxis(); diff --git a/src/datavisualization/engine/bars3dcontroller_p.h b/src/datavisualization/engine/bars3dcontroller_p.h index 54385571..46fc991d 100644 --- a/src/datavisualization/engine/bars3dcontroller_p.h +++ b/src/datavisualization/engine/bars3dcontroller_p.h @@ -92,13 +92,13 @@ public: void setSelectionMode(QDataVis::SelectionFlags mode); void setSelectedBar(const QPoint &position, QBar3DSeries *series); - virtual void handleAxisAutoAdjustRangeChangedInOrientation(Q3DAbstractAxis::AxisOrientation orientation, bool autoAdjust); + virtual void handleAxisAutoAdjustRangeChangedInOrientation(QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust); virtual void handleSeriesVisibilityChangedBySender(QObject *sender); static QPoint invalidSelectionPosition(); - virtual void setAxisX(Q3DAbstractAxis *axis); - virtual void setAxisZ(Q3DAbstractAxis *axis); + virtual void setAxisX(QAbstract3DAxis *axis); + virtual void setAxisZ(QAbstract3DAxis *axis); virtual void addSeries(QAbstract3DSeries *series); virtual void removeSeries(QAbstract3DSeries *series); @@ -120,7 +120,7 @@ public slots: void handleBarClicked(const QPoint &position, QBar3DSeries *series); protected: - virtual Q3DAbstractAxis *createDefaultAxis(Q3DAbstractAxis::AxisOrientation orientation); + virtual QAbstract3DAxis *createDefaultAxis(QAbstract3DAxis::AxisOrientation orientation); private: void adjustAxisRanges(); diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index f13b6e79..ba9f842c 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -1848,12 +1848,12 @@ void Bars3DRenderer::updateBarSpecs(GLfloat thicknessRatio, const QSizeF &spacin calculateSceneScalingFactors(); } -void Bars3DRenderer::updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, float min, +void Bars3DRenderer::updateAxisRange(QAbstract3DAxis::AxisOrientation orientation, float min, float max) { Abstract3DRenderer::updateAxisRange(orientation, min, max); - if (orientation == Q3DAbstractAxis::AxisOrientationY) { + if (orientation == QAbstract3DAxis::AxisOrientationY) { calculateHeightAdjustment(); // Check if we have negative values if (min < 0 && !m_hasNegativeValues) { diff --git a/src/datavisualization/engine/bars3drenderer_p.h b/src/datavisualization/engine/bars3drenderer_p.h index 16e7a476..2cdb28e4 100644 --- a/src/datavisualization/engine/bars3drenderer_p.h +++ b/src/datavisualization/engine/bars3drenderer_p.h @@ -125,7 +125,7 @@ public slots: void updateSelectedBar(const QPoint &position, const QBar3DSeries *series); // Overloaded from abstract renderer - virtual void updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, float min, float max); + virtual void updateAxisRange(QAbstract3DAxis::AxisOrientation orientation, float min, float max); signals: void barClicked(QPoint position, QBar3DSeries *series); diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp index 0d711359..d9e265a1 100644 --- a/src/datavisualization/engine/q3dbars.cpp +++ b/src/datavisualization/engine/q3dbars.cpp @@ -19,8 +19,8 @@ #include "q3dbars.h" #include "q3dbars_p.h" #include "bars3dcontroller_p.h" -#include "q3dvalueaxis.h" -#include "q3dcategoryaxis.h" +#include "qvalue3daxis.h" +#include "qcategory3daxis.h" #include "q3dcamera.h" #include "qbar3dseries_p.h" @@ -208,7 +208,7 @@ bool Q3DBars::isBarSpacingRelative() * * \sa addAxis(), releaseAxis() */ -void Q3DBars::setRowAxis(Q3DCategoryAxis *axis) +void Q3DBars::setRowAxis(QCategory3DAxis *axis) { dptr()->m_shared->setAxisZ(axis); } @@ -216,9 +216,9 @@ void Q3DBars::setRowAxis(Q3DCategoryAxis *axis) /*! * \return category axis for rows. */ -Q3DCategoryAxis *Q3DBars::rowAxis() const +QCategory3DAxis *Q3DBars::rowAxis() const { - return static_cast(dptrc()->m_shared->axisZ()); + return static_cast(dptrc()->m_shared->axisZ()); } /*! @@ -230,7 +230,7 @@ Q3DCategoryAxis *Q3DBars::rowAxis() const * * \sa addAxis(), releaseAxis() */ -void Q3DBars::setColumnAxis(Q3DCategoryAxis *axis) +void Q3DBars::setColumnAxis(QCategory3DAxis *axis) { dptr()->m_shared->setAxisX(axis); } @@ -238,9 +238,9 @@ void Q3DBars::setColumnAxis(Q3DCategoryAxis *axis) /*! * \return category axis for columns. */ -Q3DCategoryAxis *Q3DBars::columnAxis() const +QCategory3DAxis *Q3DBars::columnAxis() const { - return static_cast(dptrc()->m_shared->axisX()); + return static_cast(dptrc()->m_shared->axisX()); } /*! @@ -253,7 +253,7 @@ Q3DCategoryAxis *Q3DBars::columnAxis() const * * \sa addAxis(), releaseAxis() */ -void Q3DBars::setValueAxis(Q3DValueAxis *axis) +void Q3DBars::setValueAxis(QValue3DAxis *axis) { dptr()->m_shared->setAxisY(axis); } @@ -261,9 +261,9 @@ void Q3DBars::setValueAxis(Q3DValueAxis *axis) /*! * \return used value axis (Y-axis). */ -Q3DValueAxis *Q3DBars::valueAxis() const +QValue3DAxis *Q3DBars::valueAxis() const { - return static_cast(dptrc()->m_shared->axisY()); + return static_cast(dptrc()->m_shared->axisY()); } /*! @@ -273,7 +273,7 @@ Q3DValueAxis *Q3DBars::valueAxis() const * * \sa releaseAxis(), setValueAxis(), setRowAxis(), setColumnAxis() */ -void Q3DBars::addAxis(Q3DAbstractAxis *axis) +void Q3DBars::addAxis(QAbstract3DAxis *axis) { dptr()->m_shared->addAxis(axis); } @@ -286,7 +286,7 @@ void Q3DBars::addAxis(Q3DAbstractAxis *axis) * * \sa addAxis(), setValueAxis(), setRowAxis(), setColumnAxis() */ -void Q3DBars::releaseAxis(Q3DAbstractAxis *axis) +void Q3DBars::releaseAxis(QAbstract3DAxis *axis) { dptr()->m_shared->releaseAxis(axis); } @@ -296,7 +296,7 @@ void Q3DBars::releaseAxis(Q3DAbstractAxis *axis) * * \sa addAxis() */ -QList Q3DBars::axes() const +QList Q3DBars::axes() const { return dptrc()->m_shared->axes(); } diff --git a/src/datavisualization/engine/q3dbars.h b/src/datavisualization/engine/q3dbars.h index 7da446b4..80cd1ba4 100644 --- a/src/datavisualization/engine/q3dbars.h +++ b/src/datavisualization/engine/q3dbars.h @@ -27,9 +27,9 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE class Q3DBarsPrivate; -class Q3DAbstractAxis; -class Q3DCategoryAxis; -class Q3DValueAxis; +class QAbstract3DAxis; +class QCategory3DAxis; +class QValue3DAxis; class QBar3DSeries; class QT_DATAVISUALIZATION_EXPORT Q3DBars : public QAbstract3DGraph @@ -56,15 +56,15 @@ public: void setBarSpacingRelative(bool relative); bool isBarSpacingRelative(); - void setRowAxis(Q3DCategoryAxis *axis); - Q3DCategoryAxis *rowAxis() const; - void setColumnAxis(Q3DCategoryAxis *axis); - Q3DCategoryAxis *columnAxis() const; - void setValueAxis(Q3DValueAxis *axis); - Q3DValueAxis *valueAxis() const; - void addAxis(Q3DAbstractAxis *axis); - void releaseAxis(Q3DAbstractAxis *axis); - QList axes() const; + void setRowAxis(QCategory3DAxis *axis); + QCategory3DAxis *rowAxis() const; + void setColumnAxis(QCategory3DAxis *axis); + QCategory3DAxis *columnAxis() const; + void setValueAxis(QValue3DAxis *axis); + QValue3DAxis *valueAxis() const; + void addAxis(QAbstract3DAxis *axis); + void releaseAxis(QAbstract3DAxis *axis); + QList axes() const; signals: void barThicknessChanged(float thicknessRatio); diff --git a/src/datavisualization/engine/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp index aef1e89e..c71ce795 100644 --- a/src/datavisualization/engine/q3dscatter.cpp +++ b/src/datavisualization/engine/q3dscatter.cpp @@ -19,7 +19,7 @@ #include "q3dscatter.h" #include "q3dscatter_p.h" #include "scatter3dcontroller_p.h" -#include "q3dvalueaxis.h" +#include "qvalue3daxis.h" #include "q3dcamera.h" #include "qscatter3dseries_p.h" @@ -141,7 +141,7 @@ const Q3DScatterPrivate *Q3DScatter::dptrc() const * * \sa addAxis(), releaseAxis() */ -void Q3DScatter::setAxisX(Q3DValueAxis *axis) +void Q3DScatter::setAxisX(QValue3DAxis *axis) { dptr()->m_shared->setAxisX(axis); } @@ -149,9 +149,9 @@ void Q3DScatter::setAxisX(Q3DValueAxis *axis) /*! * \return used X-axis. */ -Q3DValueAxis *Q3DScatter::axisX() const +QValue3DAxis *Q3DScatter::axisX() const { - return static_cast(dptrc()->m_shared->axisX()); + return static_cast(dptrc()->m_shared->axisX()); } /*! @@ -164,7 +164,7 @@ Q3DValueAxis *Q3DScatter::axisX() const * * \sa addAxis(), releaseAxis() */ -void Q3DScatter::setAxisY(Q3DValueAxis *axis) +void Q3DScatter::setAxisY(QValue3DAxis *axis) { dptr()->m_shared->setAxisY(axis); } @@ -172,9 +172,9 @@ void Q3DScatter::setAxisY(Q3DValueAxis *axis) /*! * \return used Y-axis. */ -Q3DValueAxis *Q3DScatter::axisY() const +QValue3DAxis *Q3DScatter::axisY() const { - return static_cast(dptrc()->m_shared->axisY()); + return static_cast(dptrc()->m_shared->axisY()); } /*! @@ -187,7 +187,7 @@ Q3DValueAxis *Q3DScatter::axisY() const * * \sa addAxis(), releaseAxis() */ -void Q3DScatter::setAxisZ(Q3DValueAxis *axis) +void Q3DScatter::setAxisZ(QValue3DAxis *axis) { dptr()->m_shared->setAxisZ(axis); } @@ -195,9 +195,9 @@ void Q3DScatter::setAxisZ(Q3DValueAxis *axis) /*! * \return used Z-axis. */ -Q3DValueAxis *Q3DScatter::axisZ() const +QValue3DAxis *Q3DScatter::axisZ() const { - return static_cast(dptrc()->m_shared->axisZ()); + return static_cast(dptrc()->m_shared->axisZ()); } /*! @@ -207,7 +207,7 @@ Q3DValueAxis *Q3DScatter::axisZ() const * * \sa releaseAxis(), setAxisX(), setAxisY(), setAxisZ() */ -void Q3DScatter::addAxis(Q3DValueAxis *axis) +void Q3DScatter::addAxis(QValue3DAxis *axis) { dptr()->m_shared->addAxis(axis); } @@ -220,7 +220,7 @@ void Q3DScatter::addAxis(Q3DValueAxis *axis) * * \sa addAxis(), setAxisX(), setAxisY(), setAxisZ() */ -void Q3DScatter::releaseAxis(Q3DValueAxis *axis) +void Q3DScatter::releaseAxis(QValue3DAxis *axis) { dptr()->m_shared->releaseAxis(axis); } @@ -230,12 +230,12 @@ void Q3DScatter::releaseAxis(Q3DValueAxis *axis) * * \sa addAxis() */ -QList Q3DScatter::axes() const +QList Q3DScatter::axes() const { - QList abstractAxes = dptrc()->m_shared->axes(); - QList retList; - foreach (Q3DAbstractAxis *axis, abstractAxes) - retList.append(static_cast(axis)); + QList abstractAxes = dptrc()->m_shared->axes(); + QList retList; + foreach (QAbstract3DAxis *axis, abstractAxes) + retList.append(static_cast(axis)); return retList; } diff --git a/src/datavisualization/engine/q3dscatter.h b/src/datavisualization/engine/q3dscatter.h index f6f3dd2f..8a94864e 100644 --- a/src/datavisualization/engine/q3dscatter.h +++ b/src/datavisualization/engine/q3dscatter.h @@ -28,8 +28,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE class Q3DScatterPrivate; -class Q3DValueAxis; -class Q3DCategoryAxis; +class QValue3DAxis; +class QCategory3DAxis; class QScatter3DSeries; class QT_DATAVISUALIZATION_EXPORT Q3DScatter : public QAbstract3DGraph @@ -43,15 +43,15 @@ public: void removeSeries(QScatter3DSeries *series); QList seriesList(); - void setAxisX(Q3DValueAxis *axis); - Q3DValueAxis *axisX() const; - void setAxisY(Q3DValueAxis *axis); - Q3DValueAxis *axisY() const; - void setAxisZ(Q3DValueAxis *axis); - Q3DValueAxis *axisZ() const; - void addAxis(Q3DValueAxis *axis); - void releaseAxis(Q3DValueAxis *axis); - QList axes() const; + void setAxisX(QValue3DAxis *axis); + QValue3DAxis *axisX() const; + void setAxisY(QValue3DAxis *axis); + QValue3DAxis *axisY() const; + void setAxisZ(QValue3DAxis *axis); + QValue3DAxis *axisZ() const; + void addAxis(QValue3DAxis *axis); + void releaseAxis(QValue3DAxis *axis); + QList axes() const; private: Q3DScatterPrivate *dptr(); diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp index 0df5a9bb..0b09aba4 100644 --- a/src/datavisualization/engine/q3dsurface.cpp +++ b/src/datavisualization/engine/q3dsurface.cpp @@ -18,7 +18,7 @@ #include "q3dsurface.h" #include "q3dsurface_p.h" -#include "q3dvalueaxis.h" +#include "qvalue3daxis.h" #include "qsurfacedataproxy.h" #include "q3dcamera.h" #include "qsurface3dseries_p.h" @@ -40,7 +40,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * The selection pointer is accompanied with a label which in default case shows the value of the * data point and the coordinates of the point. * - * The value range and the label format shown on the axis can be controlled through Q3DValueAxis. + * The value range and the label format shown on the axis can be controlled through QValue3DAxis. * * To rotate the graph, hold down the right mouse button and move the mouse. Zooming is done using mouse * wheel. Both assume the default input handler is in use. @@ -156,7 +156,7 @@ const Q3DSurfacePrivate *Q3DSurface::dptrc() const * * \sa addAxis(), releaseAxis() */ -void Q3DSurface::setAxisX(Q3DValueAxis *axis) +void Q3DSurface::setAxisX(QValue3DAxis *axis) { dptr()->m_shared->setAxisX(axis); } @@ -164,9 +164,9 @@ void Q3DSurface::setAxisX(Q3DValueAxis *axis) /*! * \return used X-axis. */ -Q3DValueAxis *Q3DSurface::axisX() const +QValue3DAxis *Q3DSurface::axisX() const { - return static_cast(dptrc()->m_shared->axisX()); + return static_cast(dptrc()->m_shared->axisX()); } /*! @@ -179,7 +179,7 @@ Q3DValueAxis *Q3DSurface::axisX() const * * \sa addAxis(), releaseAxis() */ -void Q3DSurface::setAxisY(Q3DValueAxis *axis) +void Q3DSurface::setAxisY(QValue3DAxis *axis) { dptr()->m_shared->setAxisY(axis); } @@ -187,9 +187,9 @@ void Q3DSurface::setAxisY(Q3DValueAxis *axis) /*! * \return used Y-axis. */ -Q3DValueAxis *Q3DSurface::axisY() const +QValue3DAxis *Q3DSurface::axisY() const { - return static_cast(dptrc()->m_shared->axisY()); + return static_cast(dptrc()->m_shared->axisY()); } /*! @@ -202,7 +202,7 @@ Q3DValueAxis *Q3DSurface::axisY() const * * \sa addAxis(), releaseAxis() */ -void Q3DSurface::setAxisZ(Q3DValueAxis *axis) +void Q3DSurface::setAxisZ(QValue3DAxis *axis) { dptr()->m_shared->setAxisZ(axis); } @@ -210,9 +210,9 @@ void Q3DSurface::setAxisZ(Q3DValueAxis *axis) /*! * \return used Z-axis. */ -Q3DValueAxis *Q3DSurface::axisZ() const +QValue3DAxis *Q3DSurface::axisZ() const { - return static_cast(dptrc()->m_shared->axisZ()); + return static_cast(dptrc()->m_shared->axisZ()); } /*! @@ -222,7 +222,7 @@ Q3DValueAxis *Q3DSurface::axisZ() const * * \sa releaseAxis(), setAxisX(), setAxisY(), setAxisZ() */ -void Q3DSurface::addAxis(Q3DValueAxis *axis) +void Q3DSurface::addAxis(QValue3DAxis *axis) { dptr()->m_shared->addAxis(axis); } @@ -235,7 +235,7 @@ void Q3DSurface::addAxis(Q3DValueAxis *axis) * * \sa addAxis(), setAxisX(), setAxisY(), setAxisZ() */ -void Q3DSurface::releaseAxis(Q3DValueAxis *axis) +void Q3DSurface::releaseAxis(QValue3DAxis *axis) { dptr()->m_shared->releaseAxis(axis); } @@ -245,12 +245,12 @@ void Q3DSurface::releaseAxis(Q3DValueAxis *axis) * * \sa addAxis() */ -QList Q3DSurface::axes() const +QList Q3DSurface::axes() const { - QList abstractAxes = dptrc()->m_shared->axes(); - QList retList; - foreach (Q3DAbstractAxis *axis, abstractAxes) - retList.append(static_cast(axis)); + QList abstractAxes = dptrc()->m_shared->axes(); + QList retList; + foreach (QAbstract3DAxis *axis, abstractAxes) + retList.append(static_cast(axis)); return retList; } diff --git a/src/datavisualization/engine/q3dsurface.h b/src/datavisualization/engine/q3dsurface.h index 822e9d7c..4d6bcf5e 100644 --- a/src/datavisualization/engine/q3dsurface.h +++ b/src/datavisualization/engine/q3dsurface.h @@ -27,7 +27,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE class Q3DSurfacePrivate; -class Q3DValueAxis; +class QValue3DAxis; class QSurface3DSeries; class QT_DATAVISUALIZATION_EXPORT Q3DSurface : public QAbstract3DGraph @@ -42,15 +42,15 @@ public: QList seriesList(); // Axes - void setAxisX(Q3DValueAxis *axis); - Q3DValueAxis *axisX() const; - void setAxisY(Q3DValueAxis *axis); - Q3DValueAxis *axisY() const; - void setAxisZ(Q3DValueAxis *axis); - Q3DValueAxis *axisZ() const; - void addAxis(Q3DValueAxis *axis); - void releaseAxis(Q3DValueAxis *axis); - QList axes() const; + void setAxisX(QValue3DAxis *axis); + QValue3DAxis *axisX() const; + void setAxisY(QValue3DAxis *axis); + QValue3DAxis *axisY() const; + void setAxisZ(QValue3DAxis *axis); + QValue3DAxis *axisZ() const; + void addAxis(QValue3DAxis *axis); + void releaseAxis(QValue3DAxis *axis); + QList axes() const; private: Q3DSurfacePrivate *dptr(); diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp index 0a506f19..61a95e88 100644 --- a/src/datavisualization/engine/scatter3dcontroller.cpp +++ b/src/datavisualization/engine/scatter3dcontroller.cpp @@ -19,8 +19,8 @@ #include "scatter3dcontroller_p.h" #include "scatter3drenderer_p.h" #include "camerahelper_p.h" -#include "q3dabstractaxis_p.h" -#include "q3dvalueaxis_p.h" +#include "qabstract3daxis_p.h" +#include "qvalue3daxis_p.h" #include "qscatterdataproxy_p.h" #include "qscatter3dseries_p.h" @@ -179,7 +179,7 @@ void Scatter3DController::handleItemClicked(int index, QScatter3DSeries *series) } void Scatter3DController::handleAxisAutoAdjustRangeChangedInOrientation( - Q3DAbstractAxis::AxisOrientation orientation, bool autoAdjust) + QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust) { Q_UNUSED(orientation) Q_UNUSED(autoAdjust) @@ -239,9 +239,9 @@ void Scatter3DController::setSelectedItem(int index, QScatter3DSeries *series) void Scatter3DController::adjustValueAxisRange() { - Q3DValueAxis *valueAxisX = static_cast(m_axisX); - Q3DValueAxis *valueAxisY = static_cast(m_axisY); - Q3DValueAxis *valueAxisZ = static_cast(m_axisZ); + QValue3DAxis *valueAxisX = static_cast(m_axisX); + QValue3DAxis *valueAxisY = static_cast(m_axisY); + QValue3DAxis *valueAxisZ = static_cast(m_axisZ); bool adjustX = (valueAxisX && valueAxisX->isAutoAdjustRange()); bool adjustY = (valueAxisY && valueAxisY->isAutoAdjustRange()); bool adjustZ = (valueAxisZ && valueAxisZ->isAutoAdjustRange()); diff --git a/src/datavisualization/engine/scatter3dcontroller_p.h b/src/datavisualization/engine/scatter3dcontroller_p.h index 00c87d4f..397d47a4 100644 --- a/src/datavisualization/engine/scatter3dcontroller_p.h +++ b/src/datavisualization/engine/scatter3dcontroller_p.h @@ -80,7 +80,7 @@ public: virtual void removeSeries(QAbstract3DSeries *series); virtual QList scatterSeriesList(); - virtual void handleAxisAutoAdjustRangeChangedInOrientation(Q3DAbstractAxis::AxisOrientation orientation, bool autoAdjust); + virtual void handleAxisAutoAdjustRangeChangedInOrientation(QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust); virtual void handleAxisRangeChangedBySender(QObject *sender); public slots: diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index ee5c119e..b70fd5b4 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -1621,7 +1621,7 @@ void Scatter3DRenderer::fixMeshFileName(QString &fileName, QAbstract3DSeries::Me } } -void Scatter3DRenderer::updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, +void Scatter3DRenderer::updateAxisRange(QAbstract3DAxis::AxisOrientation orientation, float min, float max) { Abstract3DRenderer::updateAxisRange(orientation, min, max); diff --git a/src/datavisualization/engine/scatter3drenderer_p.h b/src/datavisualization/engine/scatter3drenderer_p.h index 30ec7489..9153d80a 100644 --- a/src/datavisualization/engine/scatter3drenderer_p.h +++ b/src/datavisualization/engine/scatter3drenderer_p.h @@ -137,7 +137,7 @@ private: public slots: // Overloaded from abstract renderer - virtual void updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, float min, float max); + virtual void updateAxisRange(QAbstract3DAxis::AxisOrientation orientation, float min, float max); void updateSelectedItem(int index, const QScatter3DSeries *series); diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index 3cec72d1..6082e105 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -19,9 +19,9 @@ #include "surface3dcontroller_p.h" #include "surface3drenderer_p.h" #include "camerahelper_p.h" -#include "q3dabstractaxis_p.h" -#include "q3dvalueaxis_p.h" -#include "q3dcategoryaxis.h" +#include "qabstract3daxis_p.h" +#include "qvalue3daxis_p.h" +#include "qcategory3daxis.h" #include "qsurfacedataproxy_p.h" #include "qsurface3dseries_p.h" #include "shaderhelper_p.h" @@ -91,7 +91,7 @@ void Surface3DController::synchDataToRenderer() } } -void Surface3DController::handleAxisAutoAdjustRangeChangedInOrientation(Q3DAbstractAxis::AxisOrientation orientation, bool autoAdjust) +void Surface3DController::handleAxisAutoAdjustRangeChangedInOrientation(QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust) { Q_UNUSED(orientation) Q_UNUSED(autoAdjust) @@ -383,9 +383,9 @@ void Surface3DController::handleRowsRemoved(int startIndex, int count) void Surface3DController::adjustValueAxisRange() { - Q3DValueAxis *valueAxisX = static_cast(m_axisX); - Q3DValueAxis *valueAxisY = static_cast(m_axisY); - Q3DValueAxis *valueAxisZ = static_cast(m_axisZ); + QValue3DAxis *valueAxisX = static_cast(m_axisX); + QValue3DAxis *valueAxisY = static_cast(m_axisY); + QValue3DAxis *valueAxisZ = static_cast(m_axisZ); bool adjustX = (valueAxisX && valueAxisX->isAutoAdjustRange()); bool adjustY = (valueAxisY && valueAxisY->isAutoAdjustRange()); bool adjustZ = (valueAxisZ && valueAxisZ->isAutoAdjustRange()); diff --git a/src/datavisualization/engine/surface3dcontroller_p.h b/src/datavisualization/engine/surface3dcontroller_p.h index 714420a4..54d709b4 100644 --- a/src/datavisualization/engine/surface3dcontroller_p.h +++ b/src/datavisualization/engine/surface3dcontroller_p.h @@ -79,7 +79,7 @@ public: void setSelectionMode(QDataVis::SelectionFlags mode); void setSelectedPoint(const QPoint &position, QSurface3DSeries *series); - virtual void handleAxisAutoAdjustRangeChangedInOrientation(Q3DAbstractAxis::AxisOrientation orientation, bool autoAdjust); + virtual void handleAxisAutoAdjustRangeChangedInOrientation(QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust); virtual void handleAxisRangeChangedBySender(QObject *sender); virtual void handleSeriesVisibilityChangedBySender(QObject *sender); -- cgit v1.2.3 From 0144b397eff1340497ac2e599f7d9238bf99609c Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 8 Jan 2014 11:32:33 +0200 Subject: Enable showing multiple graphs in QML MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + other minor fixes Task-number: QTRD-2749 Change-Id: I654d41fd4124d6596f9df3ace7019706452d8bfa Reviewed-by: Pasi Keränen --- src/datavisualization/data/qbar3dseries.cpp | 2 +- src/datavisualization/data/qscatter3dseries.cpp | 2 +- src/datavisualization/data/qsurface3dseries.cpp | 2 +- ...tdatavisualization-qml-abstractdeclarative.qdoc | 26 ++++++++++++++++++++++ .../engine/abstract3drenderer.cpp | 6 +++++ src/datavisualization/engine/scatter3drenderer.cpp | 9 ++++++++ src/datavisualization/engine/surface3drenderer.cpp | 5 +++++ 7 files changed, 49 insertions(+), 3 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/data/qbar3dseries.cpp b/src/datavisualization/data/qbar3dseries.cpp index 357feca6..6f0973cc 100644 --- a/src/datavisualization/data/qbar3dseries.cpp +++ b/src/datavisualization/data/qbar3dseries.cpp @@ -212,7 +212,7 @@ QBar3DSeriesPrivate::QBar3DSeriesPrivate(QBar3DSeries *q) : QAbstract3DSeriesPrivate(q, QAbstract3DSeries::SeriesTypeBar), m_selectedBar(Bars3DController::invalidSelectionPosition()) { - m_itemLabelFormat = QStringLiteral("@valueTitle: @valueLabel"); + m_itemLabelFormat = QStringLiteral("@valueLabel"); m_mesh = QAbstract3DSeries::MeshBevelBar; } diff --git a/src/datavisualization/data/qscatter3dseries.cpp b/src/datavisualization/data/qscatter3dseries.cpp index 8604c3f0..0e7ce921 100644 --- a/src/datavisualization/data/qscatter3dseries.cpp +++ b/src/datavisualization/data/qscatter3dseries.cpp @@ -237,7 +237,7 @@ QScatter3DSeriesPrivate::QScatter3DSeriesPrivate(QScatter3DSeries *q) m_selectedItem(Scatter3DController::invalidSelectionIndex()), m_itemSize(0.0f) { - m_itemLabelFormat = QStringLiteral("@valueTitle: @valueLabel"); + m_itemLabelFormat = QStringLiteral("@xLabel, @yLabel, @zLabel"); m_mesh = QAbstract3DSeries::MeshSphere; } diff --git a/src/datavisualization/data/qsurface3dseries.cpp b/src/datavisualization/data/qsurface3dseries.cpp index 1d456243..da285b2d 100644 --- a/src/datavisualization/data/qsurface3dseries.cpp +++ b/src/datavisualization/data/qsurface3dseries.cpp @@ -306,7 +306,7 @@ QSurface3DSeriesPrivate::QSurface3DSeriesPrivate(QSurface3DSeries *q) m_flatShadingEnabled(true), m_drawMode(QSurface3DSeries::DrawSurfaceAndWireframe) { - m_itemLabelFormat = QStringLiteral("(@xLabel, @yLabel, @zLabel)"); + m_itemLabelFormat = QStringLiteral("@xLabel, @yLabel, @zLabel"); m_mesh = QAbstract3DSeries::MeshSphere; } diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc index 21dabf66..5ac6a03f 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc @@ -41,6 +41,11 @@ Shadow quality. */ +/*! + \qmlproperty Scene3D AbstractGraph3D::scene + Read only Q3DScene that can be used to access e.g. camera object. + */ + /*! \qmlproperty AbstractInputHandler3D AbstractGraph3D::inputHandler Input handler. You can disable default input handlers by setting this property to \c null. @@ -50,3 +55,24 @@ \qmlproperty Theme3D AbstractGraph3D::theme The active theme of the graph. */ + +/*! + \qmlproperty bool AbstractGraph3D::clearWindowBeforeRendering + + Indicates if the graph should also clear the whole window before rendering the graph, + including the areas outside the graph. + Since the graphs are drawn first under other QML items, the regular QML window clearing + before rendering is suppressed when there are any graphs in the window; the graphs + handle the clearing themselves instead. + If you have any other items besides graphs that do similar + custom drawing under other QML items, you need to set this property to false on all graphs + drawn to same window with the other custom items, or it is likely that the + other custom items do not render properly. + Defaults to true. + + \note This property should be set to the same value for all graphs in the same window. + Otherwise some graphs may not show. + + \note If window clearing before rendering is suppressed, any areas of the window not fully + covered with opaque items may not draw properly. + */ diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 32435946..19b9a8c8 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -122,9 +122,15 @@ void Abstract3DRenderer::render(const GLuint defaultFboHandle) m_viewport.y(), m_viewport.width(), m_viewport.height()); + glScissor(m_viewport.x(), + m_viewport.y(), + m_viewport.width(), + m_viewport.height()); + glEnable(GL_SCISSOR_TEST); QVector3D clearColor = Utils::vectorFromColor(m_cachedTheme->windowColor()); glClearColor(clearColor.x(), clearColor.y(), clearColor.z(), 1.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glDisable(GL_SCISSOR_TEST); } QString Abstract3DRenderer::generateValueLabel(const QString &format, float value) diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index b70fd5b4..85863519 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -454,6 +454,10 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) && SelectOnScene == m_selectionState && seriesCount > 0) { // Draw dots to selection buffer glBindFramebuffer(GL_FRAMEBUFFER, m_selectionFrameBuffer); + glViewport(0, 0, + m_primarySubViewport.width(), + m_primarySubViewport.height()); + glEnable(GL_DEPTH_TEST); // Needed, otherwise the depth render buffer is not used glClearColor(1.0f, 1.0f, 1.0f, 1.0f); // Set clear color to white (= skipColor) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Needed for clearing the frame buffer @@ -552,7 +556,12 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) selectionColorToSeriesAndIndex(clickedColor, clickedIndex, clickedSeries); emit itemClicked(clickedIndex, clickedSeries); + // Revert to original fbo and viewport glBindFramebuffer(GL_FRAMEBUFFER, defaultFboHandle); + glViewport(m_primarySubViewport.x(), + m_primarySubViewport.y(), + m_primarySubViewport.width(), + m_primarySubViewport.height()); #if 0 // Use this if you want to see what is being drawn to the framebuffer m_labelShader->bind(); diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 912edd97..13a95670 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -881,6 +881,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) // Render scene into a depth texture for using with shadow mapping // Enable drawing to depth framebuffer glBindFramebuffer(GL_FRAMEBUFFER, m_depthFrameBuffer); + // Attach texture to depth attachment glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, m_depthTexture, 0); glClear(GL_DEPTH_BUFFER_BIT); @@ -2147,6 +2148,10 @@ void Surface3DRenderer::updateDepthBuffer() m_textureHelper->deleteTexture(&m_depthTexture); m_depthTexture = 0; } + if (m_depthModelTexture) { + m_textureHelper->deleteTexture(&m_depthModelTexture); + m_depthModelTexture = 0; + } if (m_primarySubViewport.size().isEmpty()) return; -- cgit v1.2.3 From 997bc1f796938eb8347adfd79b6756ea8b2b3ab9 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 9 Jan 2014 08:29:11 +0200 Subject: Invalid point/selection as constant property in qml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also fixed 0,0 QPoint -> QPointF conversion issue for Q3DScene Task-number: QTRD-2688 Change-Id: I3778081bb6ef2b5dbfcaad7502a4e164286c2646 Reviewed-by: Pasi Keränen --- src/datavisualization/data/qbar3dseries.cpp | 10 +++++----- src/datavisualization/data/qbar3dseries.h | 2 +- src/datavisualization/data/qscatter3dseries.cpp | 10 +++++----- src/datavisualization/data/qscatter3dseries.h | 3 +-- src/datavisualization/data/qsurface3dseries.cpp | 10 +++++----- src/datavisualization/data/qsurface3dseries.h | 2 +- src/datavisualization/engine/abstract3dcontroller.cpp | 7 +++++-- src/datavisualization/engine/abstract3dcontroller_p.h | 2 +- src/datavisualization/engine/bars3dcontroller.cpp | 4 ++-- src/datavisualization/engine/bars3dcontroller_p.h | 2 +- src/datavisualization/engine/q3dscene.cpp | 12 +++++++++--- src/datavisualization/engine/q3dscene.h | 2 +- src/datavisualization/engine/scatter3dcontroller.cpp | 4 ++-- src/datavisualization/engine/scatter3dcontroller_p.h | 2 +- src/datavisualization/engine/surface3dcontroller.cpp | 4 ++-- src/datavisualization/engine/surface3dcontroller_p.h | 2 +- 16 files changed, 43 insertions(+), 35 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/data/qbar3dseries.cpp b/src/datavisualization/data/qbar3dseries.cpp index 6f0973cc..fea0b359 100644 --- a/src/datavisualization/data/qbar3dseries.cpp +++ b/src/datavisualization/data/qbar3dseries.cpp @@ -93,16 +93,16 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * Selects a bar at the \a position. The \a position is the (row, column) position in * the data array of the series. * Only one bar can be selected at a time. - * To clear selection, set invalidSelectionPosition() as the \a position. + * To clear selection, set invalidSelectionPosition as the \a position. * If this series is added to a graph, the graph can adjust the selection according to user * interaction or if it becomes invalid. Selecting a bar on another added series will also * clear the selection. */ /*! - * \qmlmethod point Bar3DSeries::invalidSelectionPosition() - * \return an invalid position for selection. Set this position to selectedBar property if you - * want to clear the selection. + * \qmlproperty point Bar3DSeries::invalidSelectionPosition + * A constant property providing an invalid position for selection. Set this position to + * selectedBar property if you want to clear the selection. */ /*! @@ -185,7 +185,7 @@ QPoint QBar3DSeries::selectedBar() const * \return an invalid position for selection. Set this position to selectedBar property if you * want to clear the selection. */ -QPoint QBar3DSeries::invalidSelectionPosition() const +QPoint QBar3DSeries::invalidSelectionPosition() { return Bars3DController::invalidSelectionPosition(); } diff --git a/src/datavisualization/data/qbar3dseries.h b/src/datavisualization/data/qbar3dseries.h index 5883cbfb..d4e948ad 100644 --- a/src/datavisualization/data/qbar3dseries.h +++ b/src/datavisualization/data/qbar3dseries.h @@ -43,7 +43,7 @@ public: void setSelectedBar(const QPoint &position); QPoint selectedBar() const; - QPoint invalidSelectionPosition() const; + static QPoint invalidSelectionPosition(); signals: void dataProxyChanged(QBarDataProxy *proxy); diff --git a/src/datavisualization/data/qscatter3dseries.cpp b/src/datavisualization/data/qscatter3dseries.cpp index 0e7ce921..5aa17ed3 100644 --- a/src/datavisualization/data/qscatter3dseries.cpp +++ b/src/datavisualization/data/qscatter3dseries.cpp @@ -88,7 +88,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * * Selects an item at the \a index. The \a index is the index in the data array of the series. * Only one item can be selected at a time. - * To clear selection, set invalidSelectionIndex() as the \a index. + * To clear selection, set invalidSelectionIndex as the \a index. * If this series is added to a graph, the graph can adjust the selection according to user * interaction or if it becomes invalid. Selecting an item on another added series will also * clear the selection. @@ -103,9 +103,9 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE */ /*! - * \qmlmethod int Scatter3DSeries::invalidSelectionIndex() - * \return an invalid index for selection. Set this index to selectedItem property if you - * want to clear the selection. + * \qmlproperty int Scatter3DSeries::invalidSelectionIndex + * A constant property providing an invalid index for selection. Set this index to + * selectedItem property if you want to clear the selection. */ /*! @@ -209,7 +209,7 @@ float QScatter3DSeries::itemSize() const * \return an invalid index for selection. Set this index to selectedItem property if you * want to clear the selection. */ -int QScatter3DSeries::invalidSelectionIndex() const +int QScatter3DSeries::invalidSelectionIndex() { return Scatter3DController::invalidSelectionIndex(); } diff --git a/src/datavisualization/data/qscatter3dseries.h b/src/datavisualization/data/qscatter3dseries.h index 1d9abc11..758277c0 100644 --- a/src/datavisualization/data/qscatter3dseries.h +++ b/src/datavisualization/data/qscatter3dseries.h @@ -43,12 +43,11 @@ public: void setSelectedItem(int index); int selectedItem() const; + static int invalidSelectionIndex(); void setItemSize(float size); float itemSize() const; - Q_INVOKABLE int invalidSelectionIndex() const; - signals: void dataProxyChanged(QScatterDataProxy *proxy); void selectedItemChanged(int index); diff --git a/src/datavisualization/data/qsurface3dseries.cpp b/src/datavisualization/data/qsurface3dseries.cpp index da285b2d..25405959 100644 --- a/src/datavisualization/data/qsurface3dseries.cpp +++ b/src/datavisualization/data/qsurface3dseries.cpp @@ -92,15 +92,15 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * Selects a surface grid point in a \a position. The position is the (row, column) position in * the data array of the series. * Only one point can be selected at a time. - * To clear selection, set invalidSelectionPosition() as the \a position. + * To clear selection, set invalidSelectionPosition as the \a position. * If this series is added to a graph, the graph can adjust the selection according to user * interaction or if it becomes invalid. */ /*! - * \qmlmethod point Surface3DSeries::invalidSelectionPosition() - * \return a point signifying an invalid selection position. Set this to selectedPoint property - * to clear the selection. + * \qmlproperty point Surface3DSeries::invalidSelectionPosition + * A constant property providing an invalid selection position. + * Set this to selectedPoint property to clear the selection. */ /*! @@ -221,7 +221,7 @@ QPoint QSurface3DSeries::selectedPoint() const * \return a QPoint signifying an invalid selection position. Set this to selectedPoint property * to clear the selection. */ -QPoint QSurface3DSeries::invalidSelectionPosition() const +QPoint QSurface3DSeries::invalidSelectionPosition() { return Surface3DController::invalidSelectionPosition(); } diff --git a/src/datavisualization/data/qsurface3dseries.h b/src/datavisualization/data/qsurface3dseries.h index 6681495b..0ddd53da 100644 --- a/src/datavisualization/data/qsurface3dseries.h +++ b/src/datavisualization/data/qsurface3dseries.h @@ -53,7 +53,7 @@ public: void setSelectedPoint(const QPoint &position); QPoint selectedPoint() const; - QPoint invalidSelectionPosition() const; + static QPoint invalidSelectionPosition(); void setFlatShadingEnabled(bool enabled); bool isFlatShadingEnabled() const; diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 09c75ceb..da2e2a14 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -35,12 +35,12 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE -Abstract3DController::Abstract3DController(QRect initialViewport, QObject *parent) : +Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scene, QObject *parent) : QObject(parent), m_themeManager(new ThemeManager(this)), m_selectionMode(QDataVis::SelectionItem), m_shadowQuality(QDataVis::ShadowQualityMedium), - m_scene(new Q3DScene()), + m_scene(scene), m_activeInputHandler(0), m_axisX(0), m_axisY(0), @@ -51,6 +51,9 @@ Abstract3DController::Abstract3DController(QRect initialViewport, QObject *paren m_isSeriesVisualsDirty(true), m_renderPending(false) { + if (!m_scene) + m_scene = new Q3DScene; + // Set initial theme setActiveTheme(new Q3DTheme(Q3DTheme::ThemeQt)); diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index 91083eb9..9c24844f 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -158,7 +158,7 @@ protected: QList m_seriesList; - explicit Abstract3DController(QRect initialViewport, QObject *parent = 0); + explicit Abstract3DController(QRect initialViewport, Q3DScene *scene, QObject *parent = 0); public: virtual ~Abstract3DController(); diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index 3efd890b..c765a37a 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -32,8 +32,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE -Bars3DController::Bars3DController(QRect boundRect) - : Abstract3DController(boundRect), +Bars3DController::Bars3DController(QRect boundRect, Q3DScene *scene) + : Abstract3DController(boundRect, scene), m_selectedBar(invalidSelectionPosition()), m_selectedBarSeries(0), m_isBarSpecRelative(true), diff --git a/src/datavisualization/engine/bars3dcontroller_p.h b/src/datavisualization/engine/bars3dcontroller_p.h index 46fc991d..3fcae959 100644 --- a/src/datavisualization/engine/bars3dcontroller_p.h +++ b/src/datavisualization/engine/bars3dcontroller_p.h @@ -73,7 +73,7 @@ private: Bars3DRenderer *m_renderer; public: - explicit Bars3DController(QRect rect); + explicit Bars3DController(QRect rect, Q3DScene *scene = 0); ~Bars3DController(); virtual void initializeOpenGL(); diff --git a/src/datavisualization/engine/q3dscene.cpp b/src/datavisualization/engine/q3dscene.cpp index d8104b3a..ce037b55 100644 --- a/src/datavisualization/engine/q3dscene.cpp +++ b/src/datavisualization/engine/q3dscene.cpp @@ -90,9 +90,9 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * \qmlproperty point Scene3D::selectionQueryPosition * * This property contains the coordinates for the user input that should be processed - * by the scene as selection. If this is set to value other than \c{(-1, -1)} the + * by the scene as selection. If this is set to value other than invalidSelectionPoint the * graph tries to select a data item at the given point within the primary viewport. - * After the rendering pass the property is returned to its default state of \c{(-1, -1)}. + * After the rendering pass the property is returned to its default state of invalidSelectionPoint. */ /*! @@ -130,6 +130,12 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * coordinates to pixel coordinates. */ +/*! + * \qmlproperty point Scene3D::invalidSelectionPoint + * A constant property providing an invalid point for selection. + */ + + /*! * Constructs a basic scene with one light and one camera in it. An * optional \a parent parameter can be given and is then passed to QObject constructor. @@ -272,7 +278,7 @@ QPoint Q3DScene::selectionQueryPosition() const /*! * \return a QPoint signifying an invalid selection position. */ -const QPoint Q3DScene::invalidSelectionPoint() +QPoint Q3DScene::invalidSelectionPoint() { static const QPoint invalidSelectionPos(-1, -1); return invalidSelectionPos; diff --git a/src/datavisualization/engine/q3dscene.h b/src/datavisualization/engine/q3dscene.h index 27e09ab0..f57d3351 100644 --- a/src/datavisualization/engine/q3dscene.h +++ b/src/datavisualization/engine/q3dscene.h @@ -59,7 +59,7 @@ public: void setSelectionQueryPosition(const QPoint &point); QPoint selectionQueryPosition() const; - static const QPoint invalidSelectionPoint(); + static QPoint invalidSelectionPoint(); void setSlicingActive(bool isSlicing); bool isSlicingActive() const; diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp index 61a95e88..58706705 100644 --- a/src/datavisualization/engine/scatter3dcontroller.cpp +++ b/src/datavisualization/engine/scatter3dcontroller.cpp @@ -29,8 +29,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE -Scatter3DController::Scatter3DController(QRect boundRect) - : Abstract3DController(boundRect), +Scatter3DController::Scatter3DController(QRect boundRect, Q3DScene *scene) + : Abstract3DController(boundRect, scene), m_renderer(0), m_selectedItem(invalidSelectionIndex()), m_selectedItemSeries(0) diff --git a/src/datavisualization/engine/scatter3dcontroller_p.h b/src/datavisualization/engine/scatter3dcontroller_p.h index 397d47a4..d484454d 100644 --- a/src/datavisualization/engine/scatter3dcontroller_p.h +++ b/src/datavisualization/engine/scatter3dcontroller_p.h @@ -63,7 +63,7 @@ private: // in single series selection cases. public: - explicit Scatter3DController(QRect rect); + explicit Scatter3DController(QRect rect, Q3DScene *scene = 0); ~Scatter3DController(); virtual void initializeOpenGL(); diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index 6082e105..7c7b7a90 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -32,8 +32,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE -Surface3DController::Surface3DController(QRect rect) - : Abstract3DController(rect), +Surface3DController::Surface3DController(QRect rect, Q3DScene *scene) + : Abstract3DController(rect, scene), m_renderer(0), m_selectedPoint(invalidSelectionPosition()), m_selectedSeries(0), diff --git a/src/datavisualization/engine/surface3dcontroller_p.h b/src/datavisualization/engine/surface3dcontroller_p.h index 54d709b4..915a3122 100644 --- a/src/datavisualization/engine/surface3dcontroller_p.h +++ b/src/datavisualization/engine/surface3dcontroller_p.h @@ -70,7 +70,7 @@ private: QVector m_changedRows; public: - explicit Surface3DController(QRect rect); + explicit Surface3DController(QRect rect, Q3DScene *scene = 0); ~Surface3DController(); virtual void initializeOpenGL(); -- cgit v1.2.3 From 466c03c4e560b875121090bf883d9aefa9d44616 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 9 Jan 2014 08:44:35 +0200 Subject: Add a methor for getting list of added input handlers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Theme and axes which have similar add/release ownership handling also have this kind of method, so added it for completeness. Change-Id: I4ebefb4779bc6e65bcfd96fe3fae155ef2ff667a Reviewed-by: Pasi Keränen --- src/datavisualization/engine/abstract3dcontroller.cpp | 5 +++++ src/datavisualization/engine/abstract3dcontroller_p.h | 1 + src/datavisualization/engine/qabstract3dgraph.cpp | 10 ++++++++++ src/datavisualization/engine/qabstract3dgraph.h | 1 + 4 files changed, 17 insertions(+) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index da2e2a14..43d7a6d5 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -598,6 +598,11 @@ QAbstract3DInputHandler* Abstract3DController::activeInputHandler() return m_activeInputHandler; } +QList Abstract3DController::inputHandlers() const +{ + return m_inputHandlers; +} + int Abstract3DController::zoomLevel() { return m_scene->activeCamera()->zoomLevel(); diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index 9c24844f..1e64d05a 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -187,6 +187,7 @@ public: virtual void releaseInputHandler(QAbstract3DInputHandler *inputHandler); virtual void setActiveInputHandler(QAbstract3DInputHandler *inputHandler); virtual QAbstract3DInputHandler *activeInputHandler(); + virtual QList inputHandlers() const; virtual int zoomLevel(); virtual void setZoomLevel(int zoomLevel); diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index 8968ebb0..3a7fc84b 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -148,6 +148,16 @@ QAbstract3DInputHandler *QAbstract3DGraph::activeInputHandler() return d_ptr->m_visualController->activeInputHandler(); } +/*! + * \return list of all added input handlers. + * + * \sa addInputHandler() + */ +QList QAbstract3DGraph::inputHandlers() const +{ + return d_ptr->m_visualController->inputHandlers(); +} + /*! * Adds the given \a theme to the graph. The themes added via addTheme are not taken in to use * directly. Only the ownership of the a\ theme is given to the graph. diff --git a/src/datavisualization/engine/qabstract3dgraph.h b/src/datavisualization/engine/qabstract3dgraph.h index f2d7eb48..a7241004 100644 --- a/src/datavisualization/engine/qabstract3dgraph.h +++ b/src/datavisualization/engine/qabstract3dgraph.h @@ -53,6 +53,7 @@ public: void releaseInputHandler(QAbstract3DInputHandler *inputHandler); void setActiveInputHandler(QAbstract3DInputHandler *inputHandler); QAbstract3DInputHandler *activeInputHandler(); + QList inputHandlers() const; void addTheme(Q3DTheme *theme); void releaseTheme(Q3DTheme *theme); -- cgit v1.2.3 From 450dc3e6d74ffe93a761a5e2491458935ecac7b7 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 9 Jan 2014 09:55:52 +0200 Subject: Make active axes properties in C++ Also provide axis changed signals both C++ and QML. Some other minor fixes, too. Task-number: QTRD-2669 Change-Id: Ib797bffd6720382cf26359a9059e1809efdf58da Reviewed-by: Mika Salmela --- .../doc/src/qtdatavisualization-qml-bars3d.qdoc | 6 +-- .../doc/src/qtdatavisualization-qml-scatter3d.qdoc | 6 +-- .../doc/src/qtdatavisualization-qml-surface3d.qdoc | 6 +-- .../engine/abstract3dcontroller.cpp | 18 +++++-- .../engine/abstract3dcontroller_p.h | 3 ++ src/datavisualization/engine/q3dbars.cpp | 36 +++++++++----- src/datavisualization/engine/q3dbars.h | 6 +++ src/datavisualization/engine/q3dbars_p.h | 4 ++ src/datavisualization/engine/q3dscatter.cpp | 33 +++++++++---- src/datavisualization/engine/q3dscatter.h | 9 ++++ src/datavisualization/engine/q3dscatter_p.h | 4 ++ src/datavisualization/engine/q3dsurface.cpp | 27 ++++++++-- src/datavisualization/engine/q3dsurface.h | 9 ++++ src/datavisualization/engine/q3dsurface_p.h | 4 ++ src/datavisualization/engine/qabstract3dgraph.cpp | 57 ++++++++++++---------- src/datavisualization/engine/qabstract3dgraph_p.h | 9 +++- 16 files changed, 174 insertions(+), 63 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc index edeb5530..7bd30867 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc @@ -46,7 +46,7 @@ /*! * \qmlproperty CategoryAxis3D Bars3D::rowAxis - * A user-defined row axis. + * The active row axis. * * If an axis is not given, a temporary default axis with no labels is created. * This temporary axis is destroyed if another axis is explicitly set to same orientation. @@ -54,7 +54,7 @@ /*! * \qmlproperty ValueAxis3D Bars3D::valueAxis - * A user-defined value axis. + * The active value axis. * * If an axis is not given, a temporary default axis with no labels and automatically adjusting * range is created. @@ -63,7 +63,7 @@ /*! * \qmlproperty CategoryAxis3D Bars3D::columnAxis - * A user-defined column axis. + * The active column axis. * * If an axis is not given, a temporary default axis with no labels is created. * This temporary axis is destroyed if another axis is explicitly set to same orientation. diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc index 0a8e1674..6d113654 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc @@ -46,7 +46,7 @@ /*! \qmlproperty ValueAxis3D Scatter3D::axisX - A user-defined X axis. + The active X axis. If an axis is not given, a temporary default axis with no labels and automatically adjusting range is created. @@ -55,7 +55,7 @@ /*! \qmlproperty ValueAxis3D Scatter3D::axisY - A user-defined Y axis. + The active Y axis. If an axis is not given, a temporary default axis with no labels and automatically adjusting range is created. @@ -64,7 +64,7 @@ /*! \qmlproperty ValueAxis3D Scatter3D::axisZ - A user-defined Z axis. + The active Z axis. If an axis is not given, a temporary default axis with no labels and automatically adjusting range is created. diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc index b28d30a7..d2a3a71b 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc @@ -46,7 +46,7 @@ /*! \qmlproperty ValueAxis3D Surface3D::axisX - A user-defined X axis. + The active X axis. If an axis is not given, a temporary default axis with no labels and automatically adjusting range is created. @@ -55,7 +55,7 @@ /*! \qmlproperty ValueAxis3D Surface3D::axisY - A user-defined Y axis. + The active Y axis. If an axis is not given, a temporary default axis with no labels and automatically adjusting range is created. @@ -64,7 +64,7 @@ /*! \qmlproperty ValueAxis3D Surface3D::axisZ - A user-defined Z axis. + The active Z axis. If an axis is not given, a temporary default axis with no labels and automatically adjusting range is created. diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 43d7a6d5..14585679 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -464,7 +464,11 @@ void Abstract3DController::handleThemeTypeChanged(Q3DTheme::Theme theme) void Abstract3DController::setAxisX(QAbstract3DAxis *axis) { - setAxisHelper(QAbstract3DAxis::AxisOrientationX, axis, &m_axisX); + // Setting null axis will always create new default axis + if (!axis || axis != m_axisX) { + setAxisHelper(QAbstract3DAxis::AxisOrientationX, axis, &m_axisX); + emit axisXChanged(m_axisX); + } } QAbstract3DAxis *Abstract3DController::axisX() @@ -474,7 +478,11 @@ QAbstract3DAxis *Abstract3DController::axisX() void Abstract3DController::setAxisY(QAbstract3DAxis *axis) { - setAxisHelper(QAbstract3DAxis::AxisOrientationY, axis, &m_axisY); + // Setting null axis will always create new default axis + if (!axis || axis != m_axisY) { + setAxisHelper(QAbstract3DAxis::AxisOrientationY, axis, &m_axisY); + emit axisYChanged(m_axisY); + } } QAbstract3DAxis *Abstract3DController::axisY() @@ -484,7 +492,11 @@ QAbstract3DAxis *Abstract3DController::axisY() void Abstract3DController::setAxisZ(QAbstract3DAxis *axis) { - setAxisHelper(QAbstract3DAxis::AxisOrientationZ, axis, &m_axisZ); + // Setting null axis will always create new default axis + if (!axis || axis != m_axisZ) { + setAxisHelper(QAbstract3DAxis::AxisOrientationZ, axis, &m_axisZ); + emit axisZChanged(m_axisZ); + } } QAbstract3DAxis *Abstract3DController::axisZ() diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index 1e64d05a..0f951e5a 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -261,6 +261,9 @@ signals: void activeThemeChanged(Q3DTheme *activeTheme); void selectionModeChanged(QDataVis::SelectionFlags mode); void needRender(); + void axisXChanged(QAbstract3DAxis *axis); + void axisYChanged(QAbstract3DAxis *axis); + void axisZChanged(QAbstract3DAxis *axis); protected: virtual QAbstract3DAxis *createDefaultAxis(QAbstract3DAxis::AxisOrientation orientation); diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp index d9e265a1..51ba8dbf 100644 --- a/src/datavisualization/engine/q3dbars.cpp +++ b/src/datavisualization/engine/q3dbars.cpp @@ -200,7 +200,9 @@ bool Q3DBars::isBarSpacingRelative() } /*! - * Sets a user-defined row \a axis. Implicitly calls addAxis() to transfer ownership of + * \property Q3DBars::rowAxis + * + * The active row \a axis. Implicitly calls addAxis() to transfer ownership of * the \a axis to this graph. * * If the \a axis is null, a temporary default axis with no labels is created. @@ -213,16 +215,15 @@ void Q3DBars::setRowAxis(QCategory3DAxis *axis) dptr()->m_shared->setAxisZ(axis); } -/*! - * \return category axis for rows. - */ QCategory3DAxis *Q3DBars::rowAxis() const { return static_cast(dptrc()->m_shared->axisZ()); } /*! - * Sets a user-defined column \a axis. Implicitly calls addAxis() to transfer ownership of + * \property Q3DBars::columnAxis + * + * The active column \a axis. Implicitly calls addAxis() to transfer ownership of * the \a axis to this graph. * * If the \a axis is null, a temporary default axis with no labels is created. @@ -235,16 +236,15 @@ void Q3DBars::setColumnAxis(QCategory3DAxis *axis) dptr()->m_shared->setAxisX(axis); } -/*! - * \return category axis for columns. - */ QCategory3DAxis *Q3DBars::columnAxis() const { return static_cast(dptrc()->m_shared->axisX()); } /*! - * Sets a user-defined value \a axis (the Y-axis). Implicitly calls addAxis() to transfer ownership + * \property Q3DBars::valueAxis + * + * The active value \a axis (the Y-axis). Implicitly calls addAxis() to transfer ownership * of the \a axis to this graph. * * If the \a axis is null, a temporary default axis with no labels and automatically adjusting @@ -258,9 +258,6 @@ void Q3DBars::setValueAxis(QValue3DAxis *axis) dptr()->m_shared->setAxisY(axis); } -/*! - * \return used value axis (Y-axis). - */ QValue3DAxis *Q3DBars::valueAxis() const { return static_cast(dptrc()->m_shared->axisY()); @@ -320,6 +317,21 @@ Q3DBarsPrivate::~Q3DBarsPrivate() { } +void Q3DBarsPrivate::handleAxisXChanged(QAbstract3DAxis *axis) +{ + emit qptr()->columnAxisChanged(static_cast(axis)); +} + +void Q3DBarsPrivate::handleAxisYChanged(QAbstract3DAxis *axis) +{ + emit qptr()->valueAxisChanged(static_cast(axis)); +} + +void Q3DBarsPrivate::handleAxisZChanged(QAbstract3DAxis *axis) +{ + emit qptr()->rowAxisChanged(static_cast(axis)); +} + Q3DBars *Q3DBarsPrivate::qptr() { return static_cast(q_ptr); diff --git a/src/datavisualization/engine/q3dbars.h b/src/datavisualization/engine/q3dbars.h index 80cd1ba4..16c16e93 100644 --- a/src/datavisualization/engine/q3dbars.h +++ b/src/datavisualization/engine/q3dbars.h @@ -38,6 +38,9 @@ class QT_DATAVISUALIZATION_EXPORT Q3DBars : public QAbstract3DGraph Q_PROPERTY(float barThickness READ barThickness WRITE setBarThickness NOTIFY barThicknessChanged) Q_PROPERTY(QSizeF barSpacing READ barSpacing WRITE setBarSpacing NOTIFY barSpacingChanged) Q_PROPERTY(bool barSpacingRelative READ isBarSpacingRelative WRITE setBarSpacingRelative NOTIFY barSpacingRelativeChanged) + Q_PROPERTY(QCategory3DAxis *rowAxis READ rowAxis WRITE setRowAxis NOTIFY rowAxisChanged) + Q_PROPERTY(QCategory3DAxis *columnAxis READ columnAxis WRITE setColumnAxis NOTIFY columnAxisChanged) + Q_PROPERTY(QValue3DAxis *valueAxis READ valueAxis WRITE setValueAxis NOTIFY valueAxisChanged) public: explicit Q3DBars(QWindow *parent = 0); @@ -70,6 +73,9 @@ signals: void barThicknessChanged(float thicknessRatio); void barSpacingChanged(QSizeF spacing); void barSpacingRelativeChanged(bool relative); + void rowAxisChanged(QCategory3DAxis *axis); + void columnAxisChanged(QCategory3DAxis *axis); + void valueAxisChanged(QValue3DAxis *axis); private: Q3DBarsPrivate *dptr(); diff --git a/src/datavisualization/engine/q3dbars_p.h b/src/datavisualization/engine/q3dbars_p.h index 6bb90b40..37ae3d70 100644 --- a/src/datavisualization/engine/q3dbars_p.h +++ b/src/datavisualization/engine/q3dbars_p.h @@ -44,6 +44,10 @@ public: Q3DBarsPrivate(Q3DBars *q); ~Q3DBarsPrivate(); + void handleAxisXChanged(QAbstract3DAxis *axis); + void handleAxisYChanged(QAbstract3DAxis *axis); + void handleAxisZChanged(QAbstract3DAxis *axis); + Q3DBars *qptr(); Bars3DController *m_shared; diff --git a/src/datavisualization/engine/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp index c71ce795..9f4f1af8 100644 --- a/src/datavisualization/engine/q3dscatter.cpp +++ b/src/datavisualization/engine/q3dscatter.cpp @@ -132,7 +132,9 @@ const Q3DScatterPrivate *Q3DScatter::dptrc() const } /*! - * Sets a user-defined X-axis. Implicitly calls addAxis() to transfer ownership + * \property Q3DScatter::axisX + * + * The active X-axis. Implicitly calls addAxis() to transfer ownership * of the \a axis to this graph. * * If the \a axis is null, a temporary default axis with no labels and automatically adjusting @@ -146,16 +148,15 @@ void Q3DScatter::setAxisX(QValue3DAxis *axis) dptr()->m_shared->setAxisX(axis); } -/*! - * \return used X-axis. - */ QValue3DAxis *Q3DScatter::axisX() const { return static_cast(dptrc()->m_shared->axisX()); } /*! - * Sets a user-defined Y-axis. Implicitly calls addAxis() to transfer ownership + * \property Q3DScatter::axisY + * + * The active Y-axis. Implicitly calls addAxis() to transfer ownership * of the \a axis to this graph. * * If the \a axis is null, a temporary default axis with no labels and automatically adjusting @@ -169,16 +170,15 @@ void Q3DScatter::setAxisY(QValue3DAxis *axis) dptr()->m_shared->setAxisY(axis); } -/*! - * \return used Y-axis. - */ QValue3DAxis *Q3DScatter::axisY() const { return static_cast(dptrc()->m_shared->axisY()); } /*! - * Sets a user-defined Z-axis. Implicitly calls addAxis() to transfer ownership + * \property Q3DScatter::axisZ + * + * The active Z-axis. Implicitly calls addAxis() to transfer ownership * of the \a axis to this graph. * * If the \a axis is null, a temporary default axis with no labels and automatically adjusting @@ -249,6 +249,21 @@ Q3DScatterPrivate::~Q3DScatterPrivate() { } +void Q3DScatterPrivate::handleAxisXChanged(QAbstract3DAxis *axis) +{ + emit qptr()->axisXChanged(static_cast(axis)); +} + +void Q3DScatterPrivate::handleAxisYChanged(QAbstract3DAxis *axis) +{ + emit qptr()->axisYChanged(static_cast(axis)); +} + +void Q3DScatterPrivate::handleAxisZChanged(QAbstract3DAxis *axis) +{ + emit qptr()->axisZChanged(static_cast(axis)); +} + Q3DScatter *Q3DScatterPrivate::qptr() { return static_cast(q_ptr); diff --git a/src/datavisualization/engine/q3dscatter.h b/src/datavisualization/engine/q3dscatter.h index 8a94864e..cdea32fd 100644 --- a/src/datavisualization/engine/q3dscatter.h +++ b/src/datavisualization/engine/q3dscatter.h @@ -35,6 +35,10 @@ class QScatter3DSeries; class QT_DATAVISUALIZATION_EXPORT Q3DScatter : public QAbstract3DGraph { Q_OBJECT + Q_PROPERTY(QValue3DAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged) + Q_PROPERTY(QValue3DAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged) + Q_PROPERTY(QValue3DAxis *axisZ READ axisZ WRITE setAxisZ NOTIFY axisZChanged) + public: explicit Q3DScatter(QWindow *parent = 0); virtual ~Q3DScatter(); @@ -53,6 +57,11 @@ public: void releaseAxis(QValue3DAxis *axis); QList axes() const; +signals: + void axisXChanged(QValue3DAxis *axis); + void axisYChanged(QValue3DAxis *axis); + void axisZChanged(QValue3DAxis *axis); + private: Q3DScatterPrivate *dptr(); const Q3DScatterPrivate *dptrc() const; diff --git a/src/datavisualization/engine/q3dscatter_p.h b/src/datavisualization/engine/q3dscatter_p.h index e8140c04..ab547e52 100644 --- a/src/datavisualization/engine/q3dscatter_p.h +++ b/src/datavisualization/engine/q3dscatter_p.h @@ -44,6 +44,10 @@ public: Q3DScatterPrivate(Q3DScatter *q); ~Q3DScatterPrivate(); + void handleAxisXChanged(QAbstract3DAxis *axis); + void handleAxisYChanged(QAbstract3DAxis *axis); + void handleAxisZChanged(QAbstract3DAxis *axis); + Q3DScatter *qptr(); Scatter3DController *m_shared; diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp index 0b09aba4..ad236220 100644 --- a/src/datavisualization/engine/q3dsurface.cpp +++ b/src/datavisualization/engine/q3dsurface.cpp @@ -147,7 +147,9 @@ const Q3DSurfacePrivate *Q3DSurface::dptrc() const } /*! - * Sets a user-defined X-axis. Implicitly calls addAxis() to transfer ownership + * \property Q3DSurface::axisX + * + * The active X-axis. Implicitly calls addAxis() to transfer ownership * of the \a axis to this graph. * * If the \a axis is null, a temporary default axis with no labels and automatically adjusting @@ -170,7 +172,9 @@ QValue3DAxis *Q3DSurface::axisX() const } /*! - * Sets a user-defined Y-axis. Implicitly calls addAxis() to transfer ownership + * \property Q3DSurface::axisY + * + * The active Y-axis. Implicitly calls addAxis() to transfer ownership * of the \a axis to this graph. * * If the \a axis is null, a temporary default axis with no labels and automatically adjusting @@ -193,7 +197,9 @@ QValue3DAxis *Q3DSurface::axisY() const } /*! - * Sets a user-defined Z-axis. Implicitly calls addAxis() to transfer ownership + * \property Q3DSurface::axisZ + * + * The active Z-axis. Implicitly calls addAxis() to transfer ownership * of the \a axis to this graph. * * If the \a axis is null, a temporary default axis with no labels and automatically adjusting @@ -266,6 +272,21 @@ Q3DSurfacePrivate::~Q3DSurfacePrivate() { } +void Q3DSurfacePrivate::handleAxisXChanged(QAbstract3DAxis *axis) +{ + emit qptr()->axisXChanged(static_cast(axis)); +} + +void Q3DSurfacePrivate::handleAxisYChanged(QAbstract3DAxis *axis) +{ + emit qptr()->axisYChanged(static_cast(axis)); +} + +void Q3DSurfacePrivate::handleAxisZChanged(QAbstract3DAxis *axis) +{ + emit qptr()->axisZChanged(static_cast(axis)); +} + Q3DSurface *Q3DSurfacePrivate::qptr() { return static_cast(q_ptr); diff --git a/src/datavisualization/engine/q3dsurface.h b/src/datavisualization/engine/q3dsurface.h index 4d6bcf5e..fd09e600 100644 --- a/src/datavisualization/engine/q3dsurface.h +++ b/src/datavisualization/engine/q3dsurface.h @@ -33,6 +33,10 @@ class QSurface3DSeries; class QT_DATAVISUALIZATION_EXPORT Q3DSurface : public QAbstract3DGraph { Q_OBJECT + Q_PROPERTY(QValue3DAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged) + Q_PROPERTY(QValue3DAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged) + Q_PROPERTY(QValue3DAxis *axisZ READ axisZ WRITE setAxisZ NOTIFY axisZChanged) + public: explicit Q3DSurface(QWindow *parent = 0); virtual ~Q3DSurface(); @@ -52,6 +56,11 @@ public: void releaseAxis(QValue3DAxis *axis); QList axes() const; +signals: + void axisXChanged(QValue3DAxis *axis); + void axisYChanged(QValue3DAxis *axis); + void axisZChanged(QValue3DAxis *axis); + private: Q3DSurfacePrivate *dptr(); const Q3DSurfacePrivate *dptrc() const; diff --git a/src/datavisualization/engine/q3dsurface_p.h b/src/datavisualization/engine/q3dsurface_p.h index b1284453..0cbb6997 100644 --- a/src/datavisualization/engine/q3dsurface_p.h +++ b/src/datavisualization/engine/q3dsurface_p.h @@ -46,6 +46,10 @@ public: Q3DSurfacePrivate(Q3DSurface *q); ~Q3DSurfacePrivate(); + void handleAxisXChanged(QAbstract3DAxis *axis); + void handleAxisYChanged(QAbstract3DAxis *axis); + void handleAxisZChanged(QAbstract3DAxis *axis); + Q3DSurface *qptr(); Surface3DController *m_shared; diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index 3a7fc84b..f17319d5 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -367,6 +367,38 @@ QAbstract3DGraphPrivate::~QAbstract3DGraphPrivate() delete m_visualController; } +void QAbstract3DGraphPrivate::setVisualController(Abstract3DController *controller) +{ + m_visualController = controller; + + QObject::connect(m_visualController, &Abstract3DController::activeInputHandlerChanged, q_ptr, + &QAbstract3DGraph::activeInputHandlerChanged); + QObject::connect(m_visualController, &Abstract3DController::activeThemeChanged, q_ptr, + &QAbstract3DGraph::activeThemeChanged); + QObject::connect(m_visualController, &Abstract3DController::selectionModeChanged, q_ptr, + &QAbstract3DGraph::selectionModeChanged); + QObject::connect(m_visualController, &Abstract3DController::shadowQualityChanged, q_ptr, + &QAbstract3DGraph::shadowQualityChanged); + QObject::connect(m_visualController, &Abstract3DController::needRender, this, + &QAbstract3DGraphPrivate::renderLater); + + QObject::connect(m_visualController, &Abstract3DController::axisXChanged, this, + &QAbstract3DGraphPrivate::handleAxisXChanged); + QObject::connect(m_visualController, &Abstract3DController::axisYChanged, this, + &QAbstract3DGraphPrivate::handleAxisYChanged); + QObject::connect(m_visualController, &Abstract3DController::axisZChanged, this, + &QAbstract3DGraphPrivate::handleAxisZChanged); +} + +void QAbstract3DGraphPrivate::handleDevicePixelRatioChange() +{ + if (q_ptr->devicePixelRatio() == m_devicePixelRatio || !m_visualController) + return; + + m_devicePixelRatio = q_ptr->devicePixelRatio(); + m_visualController->scene()->setDevicePixelRatio(m_devicePixelRatio); +} + void QAbstract3DGraphPrivate::render() { handleDevicePixelRatioChange(); @@ -396,29 +428,4 @@ void QAbstract3DGraphPrivate::renderNow() m_context->swapBuffers(q_ptr); } -void QAbstract3DGraphPrivate::setVisualController(Abstract3DController *controller) -{ - m_visualController = controller; - - QObject::connect(m_visualController, &Abstract3DController::activeInputHandlerChanged, q_ptr, - &QAbstract3DGraph::activeInputHandlerChanged); - QObject::connect(m_visualController, &Abstract3DController::activeThemeChanged, q_ptr, - &QAbstract3DGraph::activeThemeChanged); - QObject::connect(m_visualController, &Abstract3DController::selectionModeChanged, q_ptr, - &QAbstract3DGraph::selectionModeChanged); - QObject::connect(m_visualController, &Abstract3DController::shadowQualityChanged, q_ptr, - &QAbstract3DGraph::shadowQualityChanged); - QObject::connect(m_visualController, &Abstract3DController::needRender, this, - &QAbstract3DGraphPrivate::renderLater); -} - -void QAbstract3DGraphPrivate::handleDevicePixelRatioChange() -{ - if (q_ptr->devicePixelRatio() == m_devicePixelRatio || !m_visualController) - return; - - m_devicePixelRatio = q_ptr->devicePixelRatio(); - m_visualController->scene()->setDevicePixelRatio(m_devicePixelRatio); -} - QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/engine/qabstract3dgraph_p.h b/src/datavisualization/engine/qabstract3dgraph_p.h index 18e88c92..e1ccab92 100644 --- a/src/datavisualization/engine/qabstract3dgraph_p.h +++ b/src/datavisualization/engine/qabstract3dgraph_p.h @@ -40,6 +40,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE class QAbstract3DGraph; class Abstract3DController; +class QAbstract3DAxis; class QAbstract3DGraphPrivate : public QObject { @@ -48,15 +49,19 @@ public: QAbstract3DGraphPrivate(QAbstract3DGraph *q); ~QAbstract3DGraphPrivate(); - void render(); - void setVisualController(Abstract3DController *controller); void handleDevicePixelRatioChange(); + void render(); + public slots: void renderLater(); void renderNow(); + virtual void handleAxisXChanged(QAbstract3DAxis *axis) = 0; + virtual void handleAxisYChanged(QAbstract3DAxis *axis) = 0; + virtual void handleAxisZChanged(QAbstract3DAxis *axis) = 0; + public: QAbstract3DGraph *q_ptr; -- cgit v1.2.3 From 2203491ab2b639f3def805ea9cecbab1add32105 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 9 Jan 2014 12:47:06 +0200 Subject: Enable using custom surface format for c++ graphs Main benefit is to be able to opt out of antialiasing. Task-number: QTRD-2734 Change-Id: Ic0681356f93d55e87535910a533be3f845703044 Reviewed-by: Mika Salmela --- src/datavisualization/engine/q3dbars.cpp | 7 +++-- src/datavisualization/engine/q3dbars.h | 2 +- src/datavisualization/engine/q3dscatter.cpp | 7 +++-- src/datavisualization/engine/q3dscatter.h | 2 +- src/datavisualization/engine/q3dsurface.cpp | 7 +++-- src/datavisualization/engine/q3dsurface.h | 2 +- src/datavisualization/engine/qabstract3dgraph.cpp | 36 +++++++++++++++-------- src/datavisualization/engine/qabstract3dgraph.h | 2 +- 8 files changed, 40 insertions(+), 25 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp index 51ba8dbf..fe121e0d 100644 --- a/src/datavisualization/engine/q3dbars.cpp +++ b/src/datavisualization/engine/q3dbars.cpp @@ -93,10 +93,11 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE */ /*! - * Constructs a new 3D bar graph with optional \a parent window. + * Constructs a new 3D bar graph with optional \a parent window + * and surface \a format. */ -Q3DBars::Q3DBars(QWindow *parent) - : QAbstract3DGraph(new Q3DBarsPrivate(this), parent) +Q3DBars::Q3DBars(const QSurfaceFormat *format, QWindow *parent) + : QAbstract3DGraph(new Q3DBarsPrivate(this), format, parent) { dptr()->m_shared = new Bars3DController(geometry()); d_ptr->setVisualController(dptr()->m_shared); diff --git a/src/datavisualization/engine/q3dbars.h b/src/datavisualization/engine/q3dbars.h index 16c16e93..2ed27c50 100644 --- a/src/datavisualization/engine/q3dbars.h +++ b/src/datavisualization/engine/q3dbars.h @@ -43,7 +43,7 @@ class QT_DATAVISUALIZATION_EXPORT Q3DBars : public QAbstract3DGraph Q_PROPERTY(QValue3DAxis *valueAxis READ valueAxis WRITE setValueAxis NOTIFY valueAxisChanged) public: - explicit Q3DBars(QWindow *parent = 0); + explicit Q3DBars(const QSurfaceFormat *format = 0, QWindow *parent = 0); virtual ~Q3DBars(); void addSeries(QBar3DSeries *series); diff --git a/src/datavisualization/engine/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp index 9f4f1af8..f83ca17e 100644 --- a/src/datavisualization/engine/q3dscatter.cpp +++ b/src/datavisualization/engine/q3dscatter.cpp @@ -78,10 +78,11 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE */ /*! - * Constructs a new 3D scatter graph with optional \a parent window. + * Constructs a new 3D scatter graph with optional \a parent window + * and surface \a format. */ -Q3DScatter::Q3DScatter(QWindow *parent) - : QAbstract3DGraph(new Q3DScatterPrivate(this), parent) +Q3DScatter::Q3DScatter(const QSurfaceFormat *format, QWindow *parent) + : QAbstract3DGraph(new Q3DScatterPrivate(this), format, parent) { dptr()->m_shared = new Scatter3DController(geometry()); d_ptr->setVisualController(dptr()->m_shared); diff --git a/src/datavisualization/engine/q3dscatter.h b/src/datavisualization/engine/q3dscatter.h index cdea32fd..d9ad596c 100644 --- a/src/datavisualization/engine/q3dscatter.h +++ b/src/datavisualization/engine/q3dscatter.h @@ -40,7 +40,7 @@ class QT_DATAVISUALIZATION_EXPORT Q3DScatter : public QAbstract3DGraph Q_PROPERTY(QValue3DAxis *axisZ READ axisZ WRITE setAxisZ NOTIFY axisZChanged) public: - explicit Q3DScatter(QWindow *parent = 0); + explicit Q3DScatter(const QSurfaceFormat *format = 0, QWindow *parent = 0); virtual ~Q3DScatter(); void addSeries(QScatter3DSeries *series); diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp index ad236220..15c48dbf 100644 --- a/src/datavisualization/engine/q3dsurface.cpp +++ b/src/datavisualization/engine/q3dsurface.cpp @@ -91,10 +91,11 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE */ /*! - * Constructs a new 3D surface graph with optional \a parent window. + * Constructs a new 3D surface graph with optional \a parent window + * and surface \a format. */ -Q3DSurface::Q3DSurface(QWindow *parent) - : QAbstract3DGraph(new Q3DSurfacePrivate(this), parent) +Q3DSurface::Q3DSurface(const QSurfaceFormat *format, QWindow *parent) + : QAbstract3DGraph(new Q3DSurfacePrivate(this), format, parent) { dptr()->m_shared = new Surface3DController(geometry()); d_ptr->setVisualController(dptr()->m_shared); diff --git a/src/datavisualization/engine/q3dsurface.h b/src/datavisualization/engine/q3dsurface.h index fd09e600..a5107ef1 100644 --- a/src/datavisualization/engine/q3dsurface.h +++ b/src/datavisualization/engine/q3dsurface.h @@ -38,7 +38,7 @@ class QT_DATAVISUALIZATION_EXPORT Q3DSurface : public QAbstract3DGraph Q_PROPERTY(QValue3DAxis *axisZ READ axisZ WRITE setAxisZ NOTIFY axisZChanged) public: - explicit Q3DSurface(QWindow *parent = 0); + explicit Q3DSurface(const QSurfaceFormat *format = 0, QWindow *parent = 0); virtual ~Q3DSurface(); void addSeries(QSurface3DSeries *series); diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index f17319d5..3aada9cf 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -55,23 +55,32 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE /*! * \internal */ -QAbstract3DGraph::QAbstract3DGraph(QAbstract3DGraphPrivate *d, QWindow *parent) +QAbstract3DGraph::QAbstract3DGraph(QAbstract3DGraphPrivate *d, const QSurfaceFormat *format, QWindow *parent) : QWindow(parent), d_ptr(d) { - d_ptr->m_context = new QOpenGLContext(this); - + // Default to frameless window, as typically graphs are not toplevel setFlags(flags() | Qt::FramelessWindowHint); - setSurfaceType(QWindow::OpenGLSurface); + QSurfaceFormat surfaceFormat; - surfaceFormat.setDepthBufferSize(24); + if (format) { + surfaceFormat = *format; + } else { + surfaceFormat.setDepthBufferSize(24); +#if !defined(QT_OPENGL_ES_2) + surfaceFormat.setSamples(8); +#endif + surfaceFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer); + } + #if !defined(QT_OPENGL_ES_2) - surfaceFormat.setSamples(8); surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL); #else surfaceFormat.setRenderableType(QSurfaceFormat::OpenGLES); #endif - surfaceFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer); + + d_ptr->m_context = new QOpenGLContext(this); + setSurfaceType(QWindow::OpenGLSurface); setFormat(surfaceFormat); create(); @@ -82,13 +91,16 @@ QAbstract3DGraph::QAbstract3DGraph(QAbstract3DGraphPrivate *d, QWindow *parent) initializeOpenGLFunctions(); - const GLubyte *version = glGetString(GL_VERSION); - qDebug() << "OpenGL version:" << (const char *)version; - version = glGetString(GL_SHADING_LANGUAGE_VERSION); - qDebug() << "GLSL version:" << (const char *)version; + const GLubyte *shaderVersion = glGetString(GL_SHADING_LANGUAGE_VERSION); +#ifndef QT_NO_DEBUG + const GLubyte *openGLVersion = glGetString(GL_VERSION); + qDebug() << "OpenGL version:" << (const char *)openGLVersion; + qDebug() << "GLSL version:" << (const char *)shaderVersion; +#endif + #if !defined(QT_OPENGL_ES_2) // If we have real OpenGL, GLSL version must be 1.2 or over. Quit if not. - QStringList splitversionstr = QString::fromLatin1((const char *)version).split(QChar::fromLatin1(' ')); + QStringList splitversionstr = QString::fromLatin1((const char *)shaderVersion).split(QChar::fromLatin1(' ')); if (splitversionstr[0].toFloat() < 1.2) qFatal("GLSL version must be 1.20 or higher. Try installing latest display drivers."); #endif diff --git a/src/datavisualization/engine/qabstract3dgraph.h b/src/datavisualization/engine/qabstract3dgraph.h index a7241004..5e39221c 100644 --- a/src/datavisualization/engine/qabstract3dgraph.h +++ b/src/datavisualization/engine/qabstract3dgraph.h @@ -45,7 +45,7 @@ class QT_DATAVISUALIZATION_EXPORT QAbstract3DGraph : public QWindow, protected Q Q_PROPERTY(Q3DScene* scene READ scene) protected: - explicit QAbstract3DGraph(QAbstract3DGraphPrivate *d, QWindow *parent = 0); + explicit QAbstract3DGraph(QAbstract3DGraphPrivate *d, const QSurfaceFormat *format, QWindow *parent = 0); public: virtual ~QAbstract3DGraph(); -- cgit v1.2.3 From 2a4cff24ce61a830f7a119f33cb94c4eff78772e Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 9 Jan 2014 14:02:34 +0200 Subject: Implement public utility function for AA setup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit qDefaultSurfaceFormat() can be used to set up antialiasing for QML apps in just two lines: ... viewer.setFormat(QtDataVisualization::qDefaultSurfaceFormat()); Task-number: QTRD-2734 Change-Id: I3f7ba728cef6310d794256e1dc4c28cc33b2f9a3 Reviewed-by: Pasi Keränen --- src/datavisualization/engine/qabstract3dgraph.cpp | 17 ++++---- .../global/datavisualizationglobal_p.h | 2 +- .../global/qdatavisualizationglobal.h | 2 +- src/datavisualization/utils/qutils.h | 48 ++++++++++++++++++++++ src/datavisualization/utils/utils.pri | 3 +- 5 files changed, 59 insertions(+), 13 deletions(-) create mode 100644 src/datavisualization/utils/qutils.h (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index 3aada9cf..01974e54 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -21,6 +21,7 @@ #include "abstract3dcontroller_p.h" #include "qabstract3dinputhandler_p.h" #include "q3dscene_p.h" +#include "qutils.h" #include #include @@ -65,19 +66,15 @@ QAbstract3DGraph::QAbstract3DGraph(QAbstract3DGraphPrivate *d, const QSurfaceFor QSurfaceFormat surfaceFormat; if (format) { surfaceFormat = *format; - } else { - surfaceFormat.setDepthBufferSize(24); + // Make sure renderable type is correct #if !defined(QT_OPENGL_ES_2) - surfaceFormat.setSamples(8); -#endif - surfaceFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer); - } - -#if !defined(QT_OPENGL_ES_2) - surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL); + surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL); #else - surfaceFormat.setRenderableType(QSurfaceFormat::OpenGLES); + surfaceFormat.setRenderableType(QSurfaceFormat::OpenGLES); #endif + } else { + surfaceFormat = qDefaultSurfaceFormat(); + } d_ptr->m_context = new QOpenGLContext(this); setSurfaceType(QWindow::OpenGLSurface); diff --git a/src/datavisualization/global/datavisualizationglobal_p.h b/src/datavisualization/global/datavisualizationglobal_p.h index 86b454c9..8ff36a90 100644 --- a/src/datavisualization/global/datavisualizationglobal_p.h +++ b/src/datavisualization/global/datavisualizationglobal_p.h @@ -59,4 +59,4 @@ static const GLfloat gradientTextureWidth = 2.0f; QT_DATAVISUALIZATION_END_NAMESPACE -#endif // DATAVISUALIZATIONGLOBAL_P_H +#endif diff --git a/src/datavisualization/global/qdatavisualizationglobal.h b/src/datavisualization/global/qdatavisualizationglobal.h index 1c118664..a125e4b2 100644 --- a/src/datavisualization/global/qdatavisualizationglobal.h +++ b/src/datavisualization/global/qdatavisualizationglobal.h @@ -64,4 +64,4 @@ # define QT_DATAVISUALIZATION_USE_NAMESPACE #endif -#endif // QVIS3DGLOBAL_H +#endif diff --git a/src/datavisualization/utils/qutils.h b/src/datavisualization/utils/qutils.h new file mode 100644 index 00000000..9ae66e6b --- /dev/null +++ b/src/datavisualization/utils/qutils.h @@ -0,0 +1,48 @@ +/**************************************************************************** +** +** 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 QUTILS_H +#define QUTILS_H + +#include + +namespace QtDataVisualization { + +inline static QSurfaceFormat qDefaultSurfaceFormat(bool antialias = true) +{ + QSurfaceFormat surfaceFormat; + + surfaceFormat.setDepthBufferSize(24); + surfaceFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer); +#if !defined(QT_OPENGL_ES_2) + surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL); +#else + // Antialias not supported for ES + antialias = false; + surfaceFormat.setRenderableType(QSurfaceFormat::OpenGLES); +#endif + + if (antialias) + surfaceFormat.setSamples(8); + + return surfaceFormat; +} + +} + +#endif diff --git a/src/datavisualization/utils/utils.pri b/src/datavisualization/utils/utils.pri index cef5ebf0..8ce8794e 100644 --- a/src/datavisualization/utils/utils.pri +++ b/src/datavisualization/utils/utils.pri @@ -6,7 +6,8 @@ HEADERS += $$PWD/meshloader_p.h \ $$PWD/texturehelper_p.h \ $$PWD/utils_p.h \ $$PWD/abstractobjecthelper_p.h \ - $$PWD/surfaceobject_p.h + $$PWD/surfaceobject_p.h \ + $$PWD/qutils.h SOURCES += $$PWD/meshloader.cpp \ $$PWD/vertexindexer.cpp \ -- cgit v1.2.3 From 9a8ef3afd23bfe1ab7f4669a470b38b7927a8b0f Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 10 Jan 2014 09:41:52 +0200 Subject: Cache scatter series item size MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTRD-2689 Change-Id: I8cd73a74f1ede49ce35c742712fbf3a5357f152e Reviewed-by: Pasi Keränen --- src/datavisualization/engine/scatter3drenderer.cpp | 10 ++++++---- src/datavisualization/engine/scatter3drenderer_p.h | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 85863519..6a08c934 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -160,10 +160,15 @@ void Scatter3DRenderer::updateSeries(const QList &seriesLis float maxItemSize = 0.0f; float itemSize = 0.0f; + if (m_cachedItemSize.size() != seriesCount) + m_cachedItemSize.resize(seriesCount); + for (int series = 0; series < seriesCount; series++) { itemSize = static_cast(m_visibleSeriesList.at(series).series())->itemSize(); if (maxItemSize < itemSize) maxItemSize = itemSize; + if (m_cachedItemSize.at(series) != itemSize) + m_cachedItemSize[series] = itemSize; } m_backgroundMargin = defaultMargin; m_maxItemSize = maxItemSize; @@ -364,10 +369,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) ObjectHelper *dotObj = m_visibleSeriesList.at(series).object(); bool drawingPoints = (m_visibleSeriesList.at(series).mesh() == QAbstract3DSeries::MeshPoint); - // TODO: Accessing series directly during rendering - float itemSize = - static_cast(m_visibleSeriesList.at(series).series())->itemSize() - / itemScaler; + float itemSize = m_cachedItemSize.at(series) / itemScaler; if (itemSize == 0.0f) itemSize = m_dotSizeScale; if (drawingPoints) { diff --git a/src/datavisualization/engine/scatter3drenderer_p.h b/src/datavisualization/engine/scatter3drenderer_p.h index 9153d80a..7eb75de9 100644 --- a/src/datavisualization/engine/scatter3drenderer_p.h +++ b/src/datavisualization/engine/scatter3drenderer_p.h @@ -92,6 +92,7 @@ private: QVector m_renderingArrays; GLfloat m_backgroundMargin; GLfloat m_maxItemSize; + QVector m_cachedItemSize; public: explicit Scatter3DRenderer(Scatter3DController *controller); -- cgit v1.2.3 From 99d7cbbb8887382ea17dcbeb90a8d768bb9ebdb5 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 10 Jan 2014 15:08:47 +0200 Subject: Improve static build support. Now qml plugin can also be built statically. Change-Id: Id37f565ab9e02529fafaffa024acd69560b3703a Reviewed-by: Mika Salmela --- src/datavisualization/datavisualization.pro | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/datavisualization') diff --git a/src/datavisualization/datavisualization.pro b/src/datavisualization/datavisualization.pro index 6107eaa6..ff87a2cd 100644 --- a/src/datavisualization/datavisualization.pro +++ b/src/datavisualization/datavisualization.pro @@ -4,6 +4,10 @@ TARGET = DataVisualization QT = core gui DEFINES += QT_DATAVISUALIZATION_LIBRARY + +# Fix exports in static builds for applications linking datavisualization module +static: MODULE_DEFINES += QT_DATAVISUALIZATION_STATICLIB + MODULE_INCNAME = QtDataVisualization QMAKE_DOCS = $$PWD/doc/qtdatavisualization.qdocconf -- cgit v1.2.3 From 02f950176d3a0488875d451d3da0fc8b2312bec0 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 13 Jan 2014 10:22:43 +0200 Subject: Fix axis range autoadjustment relating to series visibility No need to recalc ranges when a change targets non-visible series. Change-Id: Ifd80b876ba279917a5bded8240721d00d66a6f05 Reviewed-by: Mika Salmela --- src/datavisualization/engine/bars3dcontroller.cpp | 52 ++++++++++++++++------ .../engine/scatter3dcontroller.cpp | 50 ++++++++++++++------- .../engine/scatter3dcontroller_p.h | 1 + .../engine/surface3dcontroller.cpp | 50 ++++++++++++++------- 4 files changed, 108 insertions(+), 45 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index c765a37a..8bf0cb8c 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -98,8 +98,11 @@ void Bars3DController::synchDataToRenderer() void Bars3DController::handleArrayReset() { - adjustAxisRanges(); - m_isDataDirty = true; + QBar3DSeries *series = static_cast(sender())->series(); + if (series->isVisible()) { + adjustAxisRanges(); + m_isDataDirty = true; + } // Clear selection unless still valid setSelectedBar(m_selectedBar, m_selectedBarSeries); emitNeedRender(); @@ -109,8 +112,11 @@ void Bars3DController::handleRowsAdded(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - adjustAxisRanges(); - m_isDataDirty = true; + QBar3DSeries *series = static_cast(sender())->series(); + if (series->isVisible()) { + adjustAxisRanges(); + m_isDataDirty = true; + } emitNeedRender(); } @@ -118,8 +124,11 @@ void Bars3DController::handleRowsChanged(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - adjustAxisRanges(); - m_isDataDirty = true; + QBar3DSeries *series = static_cast(sender())->series(); + if (series->isVisible()) { + adjustAxisRanges(); + m_isDataDirty = true; + } emitNeedRender(); } @@ -127,8 +136,11 @@ void Bars3DController::handleRowsRemoved(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - adjustAxisRanges(); - m_isDataDirty = true; + QBar3DSeries *series = static_cast(sender())->series(); + if (series->isVisible()) { + adjustAxisRanges(); + m_isDataDirty = true; + } // Clear selection unless still valid setSelectedBar(m_selectedBar, m_selectedBarSeries); @@ -140,8 +152,11 @@ void Bars3DController::handleRowsInserted(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - adjustAxisRanges(); - m_isDataDirty = true; + QBar3DSeries *series = static_cast(sender())->series(); + if (series->isVisible()) { + adjustAxisRanges(); + m_isDataDirty = true; + } emitNeedRender(); } @@ -149,8 +164,11 @@ void Bars3DController::handleItemChanged(int rowIndex, int columnIndex) { Q_UNUSED(rowIndex) Q_UNUSED(columnIndex) - adjustAxisRanges(); - m_isDataDirty = true; + QBar3DSeries *series = static_cast(sender())->series(); + if (series->isVisible()) { + adjustAxisRanges(); + m_isDataDirty = true; + } emitNeedRender(); } @@ -203,6 +221,8 @@ void Bars3DController::handleSeriesVisibilityChangedBySender(QObject *sender) { Abstract3DController::handleSeriesVisibilityChangedBySender(sender); + adjustAxisRanges(); + // Visibility changes may require disabling/enabling slicing, // so just reset selection to ensure everything is still valid. setSelectedBar(m_selectedBar, m_selectedBarSeries); @@ -234,9 +254,10 @@ void Bars3DController::addSeries(QAbstract3DSeries *series) Abstract3DController::addSeries(series); - if (firstAdded) { + if (series->isVisible()) adjustAxisRanges(); + if (firstAdded) { handleDataRowLabelsChanged(); handleDataColumnLabelsChanged(); } @@ -250,14 +271,17 @@ void Bars3DController::removeSeries(QAbstract3DSeries *series) { bool firstRemoved = (m_seriesList.size() && m_seriesList.at(0) == series); + bool wasVisible = (series && series->d_ptr->m_controller == this && series->isVisible()); + Abstract3DController::removeSeries(series); if (m_selectedBarSeries == series) setSelectedBar(invalidSelectionPosition(), 0); - if (firstRemoved) { + if (wasVisible) adjustAxisRanges(); + if (firstRemoved) { handleDataRowLabelsChanged(); handleDataColumnLabelsChanged(); } diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp index 58706705..0c991839 100644 --- a/src/datavisualization/engine/scatter3dcontroller.cpp +++ b/src/datavisualization/engine/scatter3dcontroller.cpp @@ -80,11 +80,9 @@ void Scatter3DController::addSeries(QAbstract3DSeries *series) { Q_ASSERT(series && series->type() == QAbstract3DSeries::SeriesTypeScatter); - bool firstAdded = !m_seriesList.size(); - Abstract3DController::addSeries(series); - if (firstAdded) + if (series->isVisible()) adjustValueAxisRange(); QScatter3DSeries *scatterSeries = static_cast(series); @@ -94,14 +92,14 @@ void Scatter3DController::addSeries(QAbstract3DSeries *series) void Scatter3DController::removeSeries(QAbstract3DSeries *series) { - bool firstRemoved = (m_seriesList.size() && m_seriesList.at(0) == series); + bool wasVisible = (series && series->d_ptr->m_controller == this && series->isVisible()); Abstract3DController::removeSeries(series); if (m_selectedItemSeries == series) setSelectedItem(invalidSelectionIndex(), 0); - if (firstRemoved) + if (wasVisible) adjustValueAxisRange(); } @@ -120,8 +118,11 @@ QList Scatter3DController::scatterSeriesList() void Scatter3DController::handleArrayReset() { - adjustValueAxisRange(); - m_isDataDirty = true; + QScatter3DSeries *series = static_cast(sender())->series(); + if (series->isVisible()) { + adjustValueAxisRange(); + m_isDataDirty = true; + } setSelectedItem(m_selectedItem, m_selectedItemSeries); emitNeedRender(); } @@ -131,8 +132,11 @@ void Scatter3DController::handleItemsAdded(int startIndex, int count) Q_UNUSED(startIndex) Q_UNUSED(count) // TODO should dirty only affected values? - adjustValueAxisRange(); - m_isDataDirty = true; + QScatter3DSeries *series = static_cast(sender())->series(); + if (series->isVisible()) { + adjustValueAxisRange(); + m_isDataDirty = true; + } emitNeedRender(); } @@ -141,8 +145,11 @@ void Scatter3DController::handleItemsChanged(int startIndex, int count) Q_UNUSED(startIndex) Q_UNUSED(count) // TODO should dirty only affected values? - adjustValueAxisRange(); - m_isDataDirty = true; + QScatter3DSeries *series = static_cast(sender())->series(); + if (series->isVisible()) { + adjustValueAxisRange(); + m_isDataDirty = true; + } emitNeedRender(); } @@ -151,8 +158,11 @@ void Scatter3DController::handleItemsRemoved(int startIndex, int count) Q_UNUSED(startIndex) Q_UNUSED(count) // TODO should dirty only affected values? - adjustValueAxisRange(); - m_isDataDirty = true; + QScatter3DSeries *series = static_cast(sender())->series(); + if (series->isVisible()) { + adjustValueAxisRange(); + m_isDataDirty = true; + } // Clear selection unless it is still valid setSelectedItem(m_selectedItem, m_selectedItemSeries); @@ -165,8 +175,11 @@ void Scatter3DController::handleItemsInserted(int startIndex, int count) Q_UNUSED(startIndex) Q_UNUSED(count) // TODO should dirty only affected values? - adjustValueAxisRange(); - m_isDataDirty = true; + QScatter3DSeries *series = static_cast(sender())->series(); + if (series->isVisible()) { + adjustValueAxisRange(); + m_isDataDirty = true; + } emitNeedRender(); } @@ -194,6 +207,13 @@ void Scatter3DController::handleAxisRangeChangedBySender(QObject *sender) setSelectedItem(m_selectedItem, m_selectedItemSeries); } +void Scatter3DController::handleSeriesVisibilityChangedBySender(QObject *sender) +{ + Abstract3DController::handleSeriesVisibilityChangedBySender(sender); + + adjustValueAxisRange(); +} + void Scatter3DController::setSelectionMode(QDataVis::SelectionFlags mode) { // We only support single item selection mode and no selection mode diff --git a/src/datavisualization/engine/scatter3dcontroller_p.h b/src/datavisualization/engine/scatter3dcontroller_p.h index d484454d..2d0c9a9a 100644 --- a/src/datavisualization/engine/scatter3dcontroller_p.h +++ b/src/datavisualization/engine/scatter3dcontroller_p.h @@ -82,6 +82,7 @@ public: virtual void handleAxisAutoAdjustRangeChangedInOrientation(QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust); virtual void handleAxisRangeChangedBySender(QObject *sender); + virtual void handleSeriesVisibilityChangedBySender(QObject *sender); public slots: void handleArrayReset(); diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index 7c7b7a90..cf844c0f 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -111,6 +111,8 @@ void Surface3DController::handleSeriesVisibilityChangedBySender(QObject *sender) { Abstract3DController::handleSeriesVisibilityChangedBySender(sender); + adjustValueAxisRange(); + // Visibility changes may require disabling/enabling slicing, // so just reset selection to ensure everything is still valid. setSelectedPoint(m_selectedPoint, m_selectedSeries); @@ -134,7 +136,8 @@ void Surface3DController::addSeries(QAbstract3DSeries *series) if (!m_seriesList.size()) { Abstract3DController::addSeries(series); - adjustValueAxisRange(); + if (series->isVisible()) + adjustValueAxisRange(); } else { qWarning("Surface graph only supports a single series."); } @@ -146,14 +149,15 @@ void Surface3DController::addSeries(QAbstract3DSeries *series) void Surface3DController::removeSeries(QAbstract3DSeries *series) { - if (series && series->d_ptr->m_controller == this) { - Abstract3DController::removeSeries(series); + bool wasVisible = (series && series->d_ptr->m_controller == this && series->isVisible()); + + Abstract3DController::removeSeries(series); - if (m_selectedSeries == series) - setSelectedPoint(invalidSelectionPosition(), 0); + if (m_selectedSeries == series) + setSelectedPoint(invalidSelectionPosition(), 0); + if (wasVisible) adjustValueAxisRange(); - } } QList Surface3DController::surfaceSeriesList() @@ -266,8 +270,11 @@ void Surface3DController::setSelectedPoint(const QPoint &position, QSurface3DSer void Surface3DController::handleArrayReset() { - adjustValueAxisRange(); - m_isDataDirty = true; + QSurface3DSeries *series = static_cast(sender())->series(); + if (series->isVisible()) { + adjustValueAxisRange(); + m_isDataDirty = true; + } // Clear selection unless still valid setSelectedPoint(m_selectedPoint, m_selectedSeries); emitNeedRender(); @@ -299,7 +306,8 @@ void Surface3DController::handleRowsChanged(int startIndex, int count) if (m_changedRows.size() == 0) m_changedRows.reserve(sender->rowCount()); - if (static_cast(m_seriesList.at(0)) == sender->series()) { + QSurface3DSeries *series = sender->series(); + if (series->isVisible()) { // Change is for the visible series, put the change to queue int oldChangeCount = m_changedRows.size(); for (int i = 0; i < count; i++) { @@ -328,7 +336,8 @@ void Surface3DController::handleRowsChanged(int startIndex, int count) void Surface3DController::handleItemChanged(int rowIndex, int columnIndex) { QSurfaceDataProxy *sender = static_cast(QObject::sender()); - if (static_cast(m_seriesList.at(0)) == sender->series()) { + QSurface3DSeries *series = sender->series(); + if (series->isVisible()) { // Change is for the visible series, put the change to queue bool newItem = true; QPoint candidate(columnIndex, rowIndex); @@ -354,8 +363,11 @@ void Surface3DController::handleRowsAdded(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - adjustValueAxisRange(); - m_isDataDirty = true; + QSurface3DSeries *series = static_cast(sender())->series(); + if (series->isVisible()) { + adjustValueAxisRange(); + m_isDataDirty = true; + } emitNeedRender(); } @@ -363,8 +375,11 @@ void Surface3DController::handleRowsInserted(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - adjustValueAxisRange(); - m_isDataDirty = true; + QSurface3DSeries *series = static_cast(sender())->series(); + if (series->isVisible()) { + adjustValueAxisRange(); + m_isDataDirty = true; + } emitNeedRender(); } @@ -372,8 +387,11 @@ void Surface3DController::handleRowsRemoved(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - adjustValueAxisRange(); - m_isDataDirty = true; + QSurface3DSeries *series = static_cast(sender())->series(); + if (series->isVisible()) { + adjustValueAxisRange(); + m_isDataDirty = true; + } // Clear selection unless still valid setSelectedPoint(m_selectedPoint, m_selectedSeries); -- cgit v1.2.3 From 828a2579530ea8c9bc3a0c5ef2cc11da2c247417 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 13 Jan 2014 13:42:21 +0200 Subject: Fix highlight color in slice mode Also fixes the wandering selection ball when resizing surface graph. Change-Id: Iacb29809ee9b240839956142f9f5ba78d0294620 Reviewed-by: Mika Salmela --- src/datavisualization/engine/bars3drenderer.cpp | 36 +++++++++++----------- src/datavisualization/engine/surface3drenderer.cpp | 34 ++++++++++---------- src/datavisualization/engine/surface3drenderer_p.h | 1 - 3 files changed, 35 insertions(+), 36 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index ba9f842c..0a477d53 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -323,8 +323,8 @@ void Bars3DRenderer::drawSlicedScene() lineShader->setUniformValue(lineShader->lightP(), lightPos); lineShader->setUniformValue(lineShader->view(), viewMatrix); lineShader->setUniformValue(lineShader->color(), lineColor); - lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme->ambientLightStrength() * 2.0f); - lineShader->setUniformValue(lineShader->lightS(), 0.25f); + lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme->ambientLightStrength() * 2.3f); + lineShader->setUniformValue(lineShader->lightS(), 0.0f); GLfloat scaleFactor = 0.0f; if (rowMode) @@ -438,15 +438,15 @@ void Bars3DRenderer::drawSlicedScene() m_barShader->bind(); m_barShader->setUniformValue(m_barShader->lightP(), lightPos); m_barShader->setUniformValue(m_barShader->view(), viewMatrix); - m_barShader->setUniformValue(m_barShader->lightS(), 0.5f); + m_barShader->setUniformValue(m_barShader->lightS(), 0.15f); m_barShader->setUniformValue(m_barShader->ambientS(), - m_cachedTheme->ambientLightStrength() * 2.0f); + m_cachedTheme->ambientLightStrength() * 2.3f); m_barGradientShader->bind(); m_barGradientShader->setUniformValue(m_barGradientShader->lightP(), lightPos); m_barGradientShader->setUniformValue(m_barGradientShader->view(), viewMatrix); - m_barGradientShader->setUniformValue(m_barGradientShader->lightS(), 0.5f); + m_barGradientShader->setUniformValue(m_barGradientShader->lightS(), 0.15f); m_barGradientShader->setUniformValue(m_barGradientShader->ambientS(), - m_cachedTheme->ambientLightStrength() * 2.0f); + m_cachedTheme->ambientLightStrength() * 2.3f); m_barGradientShader->setUniformValue(m_barGradientShader->gradientMin(), 0.0f); // Default to uniform shader @@ -457,10 +457,10 @@ void Bars3DRenderer::drawSlicedScene() Q3DTheme::ColorStyle previousColorStyle = Q3DTheme::ColorStyleUniform; Q3DTheme::ColorStyle colorStyle = Q3DTheme::ColorStyleUniform; ObjectHelper *barObj = 0; - QVector3D barHighlightColor; - QVector3D rowHighlightColor; - GLuint barGradientTexture = 0; - GLuint rowGradientTexture = 0; + QVector3D highlightColor; + QVector3D baseColor; + GLuint highlightGradientTexture = 0; + GLuint baseGradientTexture = 0; const SeriesRenderCache *currentSeries = 0; bool colorStyleIsUniform = true; @@ -477,11 +477,11 @@ void Bars3DRenderer::drawSlicedScene() colorStyle = currentSeries->colorStyle(); colorStyleIsUniform = (colorStyle == Q3DTheme::ColorStyleUniform); if (colorStyleIsUniform) { - barHighlightColor = currentSeries->singleHighlightColor(); - rowHighlightColor = currentSeries->multiHighlightColor(); + highlightColor = currentSeries->singleHighlightColor(); + baseColor = currentSeries->baseColor(); } else { - barGradientTexture = currentSeries->singleHighlightGradientTexture(); - rowGradientTexture = currentSeries->multiHighlightGradientTexture(); + highlightGradientTexture = currentSeries->singleHighlightGradientTexture(); + baseGradientTexture = currentSeries->baseGradientTexture(); } // Rebind shader if it has changed @@ -535,14 +535,14 @@ void Bars3DRenderer::drawSlicedScene() if (itemMode && m_visualSelectedBarPos.x() == item->position().x() && m_visualSelectedBarPos.y() == item->position().y()) { if (colorStyleIsUniform) - barColor = barHighlightColor; + barColor = highlightColor; else - gradientTexture = barGradientTexture; + gradientTexture = highlightGradientTexture; } else { if (colorStyleIsUniform) - barColor = rowHighlightColor; + barColor = baseColor; else - gradientTexture = rowGradientTexture; + gradientTexture = baseGradientTexture; } if (item->height() != 0) { diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 13a95670..b08558b2 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -61,7 +61,6 @@ Surface3DRenderer::Surface3DRenderer(Surface3DController *controller) m_font(QFont(QStringLiteral("Arial"))), m_isGridEnabled(true), m_cachedIsSlicingActivated(false), - m_shader(0), m_depthShader(0), m_backgroundShader(0), m_surfaceShader(0), @@ -145,7 +144,6 @@ Surface3DRenderer::~Surface3DRenderer() m_textureHelper->deleteTexture(&m_selectionResultTexture); m_textureHelper->deleteTexture(&m_uniformGradientTexture); } - delete m_shader; delete m_depthShader; delete m_backgroundShader; delete m_selectionShader; @@ -540,8 +538,10 @@ void Surface3DRenderer::updateScene(Q3DScene *scene) Abstract3DRenderer::updateScene(scene); - if (m_selectionPointer) + if (m_selectionPointer) { m_selectionPointer->updateScene(m_cachedScene); + m_selectionDirty = true; // Ball may need repositioning if scene changes + } updateSlicingActive(scene->isSlicingActive()); } @@ -608,6 +608,9 @@ void Surface3DRenderer::drawSlicedScene() QMatrix4x4 modelMatrix; QMatrix4x4 itModelMatrix; + // TODO: Do properly when multiseries support implemented QTRD-2657 + const SeriesRenderCache &series = m_visibleSeriesList.at(0); + modelMatrix.translate(offset, 0.0f, 0.0f); QVector3D scaling(scaleX, 1.0f, sliceZScale); modelMatrix.scale(scaling); @@ -621,11 +624,12 @@ void Surface3DRenderer::drawSlicedScene() glPolygonOffset(0.5f, 1.0f); } - ShaderHelper *surfaceShader = m_shader; + ShaderHelper *surfaceShader = m_surfaceShader; surfaceShader->bind(); - QVector3D color; - color = Utils::vectorFromColor(m_cachedTheme->multiHighlightColor()); + GLuint baseGradientTexture = m_uniformGradientTexture; + if (series.colorStyle() != Q3DTheme::ColorStyleUniform) + baseGradientTexture = series.baseGradientTexture(); // Set shader bindings surfaceShader->setUniformValue(surfaceShader->lightP(), lightPos); @@ -634,12 +638,11 @@ void Surface3DRenderer::drawSlicedScene() surfaceShader->setUniformValue(surfaceShader->nModel(), itModelMatrix.inverted().transposed()); surfaceShader->setUniformValue(surfaceShader->MVP(), MVPMatrix); - surfaceShader->setUniformValue(surfaceShader->color(), color); - surfaceShader->setUniformValue(surfaceShader->lightS(), 0.25f); + surfaceShader->setUniformValue(surfaceShader->lightS(), 0.15f); surfaceShader->setUniformValue(surfaceShader->ambientS(), - m_cachedTheme->ambientLightStrength() * 2.0f); + m_cachedTheme->ambientLightStrength() * 2.3f); - m_drawer->drawObject(surfaceShader, m_sliceSurfaceObj); + m_drawer->drawObject(surfaceShader, m_sliceSurfaceObj, baseGradientTexture); } // Draw surface grid @@ -668,8 +671,8 @@ void Surface3DRenderer::drawSlicedScene() lineShader->setUniformValue(lineShader->lightP(), lightPos); lineShader->setUniformValue(lineShader->view(), viewMatrix); lineShader->setUniformValue(lineShader->color(), lineColor); - lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme->ambientLightStrength() * 2.0f); - lineShader->setUniformValue(lineShader->lightS(), 0.25f); + lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme->ambientLightStrength() * 2.3f); + lineShader->setUniformValue(lineShader->lightS(), 0.0f); // Horizontal lines if (m_axisCacheY.segmentCount() > 0) { @@ -2059,11 +2062,8 @@ void Surface3DRenderer::loadLabelMesh() void Surface3DRenderer::initShaders(const QString &vertexShader, const QString &fragmentShader) { - // m_shader is used slice view surface only. - if (m_shader) - delete m_shader; - m_shader = new ShaderHelper(this, vertexShader, fragmentShader); - m_shader->initialize(); + Q_UNUSED(vertexShader); + Q_UNUSED(fragmentShader); // draw the shader for the surface according to smooth status, shadow and uniform color if (m_surfaceShader) diff --git a/src/datavisualization/engine/surface3drenderer_p.h b/src/datavisualization/engine/surface3drenderer_p.h index f70fde9b..71e02db5 100644 --- a/src/datavisualization/engine/surface3drenderer_p.h +++ b/src/datavisualization/engine/surface3drenderer_p.h @@ -69,7 +69,6 @@ private: bool m_cachedIsSlicingActivated; // Internal attributes purely related to how the scene is drawn with GL. - ShaderHelper *m_shader; ShaderHelper *m_depthShader; ShaderHelper *m_backgroundShader; ShaderHelper *m_surfaceShader; -- cgit v1.2.3 From 06dd7be52f2bcd23b9a622a17d3d0e8963a7dd17 Mon Sep 17 00:00:00 2001 From: Mika Salmela Date: Mon, 13 Jan 2014 14:51:10 +0200 Subject: Direction for scatter items Task-number: QTRD-2654 Change-Id: Ib21e6d75fa43de45387ad6225973aa8a11ffc0c9 Reviewed-by: Miikka Heikkinen --- src/datavisualization/data/abstractrenderitem_p.h | 1 + src/datavisualization/data/qabstract3dseries.cpp | 2 + src/datavisualization/data/qabstract3dseries.h | 1 + src/datavisualization/data/qscatterdataitem.h | 4 + src/datavisualization/data/scatterrenderitem_p.h | 10 + src/datavisualization/engine/engine.qrc | 2 + src/datavisualization/engine/meshes/arrowFlat.obj | 403 ++++++++++++++++++++ .../engine/meshes/arrowSmooth.obj | 422 +++++++++++++++++++++ src/datavisualization/engine/scatter3drenderer.cpp | 12 +- src/datavisualization/engine/seriesrendercache.cpp | 3 + 10 files changed, 858 insertions(+), 2 deletions(-) create mode 100644 src/datavisualization/engine/meshes/arrowFlat.obj create mode 100644 src/datavisualization/engine/meshes/arrowSmooth.obj (limited to 'src/datavisualization') diff --git a/src/datavisualization/data/abstractrenderitem_p.h b/src/datavisualization/data/abstractrenderitem_p.h index 5f623c41..ca71c0b0 100644 --- a/src/datavisualization/data/abstractrenderitem_p.h +++ b/src/datavisualization/data/abstractrenderitem_p.h @@ -35,6 +35,7 @@ #include #include #include +#include QT_DATAVISUALIZATION_BEGIN_NAMESPACE diff --git a/src/datavisualization/data/qabstract3dseries.cpp b/src/datavisualization/data/qabstract3dseries.cpp index 2c869574..81a2f1b8 100644 --- a/src/datavisualization/data/qabstract3dseries.cpp +++ b/src/datavisualization/data/qabstract3dseries.cpp @@ -198,6 +198,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * Sphere. * \value MeshMinimal * The minimal 3D mesh: a triangular pyramid. Usable only with Q3DScatter. + * \value MeshArrow + * Arrow pointing upwards. * \value MeshPoint * 2D point. Usable only with Q3DScatter. * \b Note: Shadows and color gradients do not affect this style. diff --git a/src/datavisualization/data/qabstract3dseries.h b/src/datavisualization/data/qabstract3dseries.h index ebe73510..b03b574d 100644 --- a/src/datavisualization/data/qabstract3dseries.h +++ b/src/datavisualization/data/qabstract3dseries.h @@ -67,6 +67,7 @@ public: MeshBevelCube, MeshSphere, MeshMinimal, + MeshArrow, MeshPoint }; diff --git a/src/datavisualization/data/qscatterdataitem.h b/src/datavisualization/data/qscatterdataitem.h index 7992864c..f139abd4 100644 --- a/src/datavisualization/data/qscatterdataitem.h +++ b/src/datavisualization/data/qscatterdataitem.h @@ -21,6 +21,7 @@ #include #include +#include QT_DATAVISUALIZATION_BEGIN_NAMESPACE @@ -38,6 +39,8 @@ public: inline void setPosition(const QVector3D &position) { m_position = position; } inline QVector3D position() const { return m_position; } + inline void setRotation(const QQuaternion &rotation) { m_rotation = rotation; } + inline QQuaternion rotation() const { return m_rotation; } inline void setX(float value) { m_position.setX(value); } inline void setY(float value) { m_position.setY(value); } inline void setZ(float value) { m_position.setZ(value); } @@ -52,6 +55,7 @@ protected: private: QVector3D m_position; + QQuaternion m_rotation; }; QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/data/scatterrenderitem_p.h b/src/datavisualization/data/scatterrenderitem_p.h index 5a97c1e9..047caeb6 100644 --- a/src/datavisualization/data/scatterrenderitem_p.h +++ b/src/datavisualization/data/scatterrenderitem_p.h @@ -45,6 +45,9 @@ public: inline const QVector3D &position() const { return m_position; } inline void setPosition(const QVector3D &pos); + inline QQuaternion rotation() const { return m_rotation; } + inline void setRotation(const QQuaternion &rotation); + inline bool isVisible() const { return m_visible; } inline void setVisible(bool visible) { m_visible = visible; } @@ -54,6 +57,7 @@ public: protected: QVector3D m_position; + QQuaternion m_rotation; bool m_visible; //float m_size; // TODO in case we need a fourth variable that adjusts scatter item size @@ -70,6 +74,12 @@ void ScatterRenderItem::setPosition(const QVector3D &pos) } } +void ScatterRenderItem::setRotation(const QQuaternion &rotation) +{ + if (m_rotation != rotation) + m_rotation = rotation; +} + typedef QVector ScatterRenderItemArray; QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/engine/engine.qrc b/src/datavisualization/engine/engine.qrc index 8fcaecec..073c7450 100644 --- a/src/datavisualization/engine/engine.qrc +++ b/src/datavisualization/engine/engine.qrc @@ -27,6 +27,8 @@ meshes/backgroundNegatives.obj meshes/minimalFlat.obj meshes/minimalSmooth.obj + meshes/arrowFlat.obj + meshes/arrowSmooth.obj shaders/default.frag diff --git a/src/datavisualization/engine/meshes/arrowFlat.obj b/src/datavisualization/engine/meshes/arrowFlat.obj new file mode 100644 index 00000000..bb9762d6 --- /dev/null +++ b/src/datavisualization/engine/meshes/arrowFlat.obj @@ -0,0 +1,403 @@ +# Blender v2.69 (sub 0) OBJ File: 'arrow.blend' +# www.blender.org +v 0.000000 1.000000 0.000000 +v 0.000000 0.000000 -1.000000 +v -0.195090 0.000000 -0.980785 +v -0.382683 0.000000 -0.923880 +v -0.555570 0.000000 -0.831470 +v -0.707107 0.000000 -0.707107 +v -0.831470 0.000000 -0.555570 +v -0.923880 0.000000 -0.382683 +v -0.980785 0.000000 -0.195090 +v -1.000000 0.000000 -0.000000 +v -0.980785 0.000000 0.195090 +v -0.923880 0.000000 0.382683 +v -0.831470 0.000000 0.555570 +v -0.707107 0.000000 0.707107 +v -0.555570 0.000000 0.831470 +v -0.382683 0.000000 0.923880 +v -0.195090 0.000000 0.980785 +v 0.000000 0.000000 1.000000 +v 0.195091 0.000000 0.980785 +v 0.382684 0.000000 0.923879 +v 0.555571 0.000000 0.831469 +v 0.707107 0.000000 0.707106 +v 0.831470 0.000000 0.555570 +v 0.923880 0.000000 0.382683 +v 0.980785 0.000000 0.195089 +v 1.000000 0.000000 -0.000001 +v 0.980785 0.000000 -0.195091 +v 0.923879 0.000000 -0.382684 +v 0.831469 0.000000 -0.555571 +v 0.707106 0.000000 -0.707108 +v 0.555569 0.000000 -0.831470 +v 0.382682 0.000000 -0.923880 +v 0.195089 0.000000 -0.980786 +v 0.000000 0.000000 0.000000 +v 0.000000 0.000000 0.000000 +v -0.000000 0.000000 -0.578860 +v -0.112930 0.000000 -0.567737 +v -0.221520 0.000000 -0.534796 +v -0.321597 0.000000 -0.481304 +v -0.409315 0.000000 -0.409316 +v -0.481304 0.000000 -0.321597 +v -0.534796 0.000000 -0.221520 +v -0.567737 0.000000 -0.112930 +v -0.578859 0.000000 -0.000000 +v -0.567737 0.000000 0.112930 +v -0.534796 0.000000 0.221520 +v -0.481304 0.000000 0.321597 +v -0.409315 0.000000 0.409315 +v -0.321597 0.000000 0.481304 +v -0.221520 0.000000 0.534796 +v -0.112930 0.000000 0.567737 +v 0.000000 0.000000 0.578859 +v 0.112930 0.000000 0.567737 +v 0.221520 0.000000 0.534796 +v 0.321597 0.000000 0.481304 +v 0.409316 0.000000 0.409315 +v 0.481304 0.000000 0.321597 +v 0.534796 0.000000 0.221519 +v 0.567737 0.000000 0.112929 +v 0.578859 0.000000 -0.000001 +v 0.567737 0.000000 -0.112931 +v 0.534796 0.000000 -0.221521 +v 0.481304 0.000000 -0.321598 +v 0.409315 0.000000 -0.409316 +v 0.321596 0.000000 -0.481305 +v 0.221519 0.000000 -0.534797 +v 0.112929 0.000000 -0.567737 +v 0.578859 -1.000000 -0.000001 +v 0.567737 -1.000000 0.112929 +v -0.221520 -1.000000 -0.534796 +v -0.112930 -1.000000 -0.567737 +v -0.321597 -1.000000 0.481304 +v -0.409315 -1.000000 0.409315 +v 0.534796 -1.000000 0.221519 +v 0.481304 -1.000000 0.321597 +v -0.481304 -1.000000 0.321597 +v -0.534796 -1.000000 0.221520 +v 0.112929 -1.000000 -0.567737 +v 0.221519 -1.000000 -0.534797 +v 0.409316 -1.000000 0.409315 +v 0.321597 -1.000000 0.481304 +v -0.567737 -1.000000 0.112930 +v -0.578859 -1.000000 -0.000000 +v 0.321596 -1.000000 -0.481305 +v 0.409315 -1.000000 -0.409316 +v 0.221520 -1.000000 0.534796 +v 0.112930 -1.000000 0.567737 +v -0.567737 -1.000000 -0.112930 +v -0.534796 -1.000000 -0.221520 +v 0.481304 -1.000000 -0.321598 +v 0.534796 -1.000000 -0.221521 +v -0.481304 -1.000000 -0.321597 +v -0.409315 -1.000000 -0.409316 +v 0.000000 -1.000000 0.578859 +v -0.112930 -1.000000 0.567737 +v 0.567737 -1.000000 -0.112931 +v -0.321597 -1.000000 -0.481304 +v -0.221520 -1.000000 0.534796 +v -0.000000 -1.000000 -0.578860 +vt 0.000000 0.000000 +vt 0.549236 0.999900 +vt 0.450764 0.999900 +vt 0.645815 0.980689 +vt 0.354184 0.980689 +vt 0.263208 0.943005 +vt 0.181332 0.888297 +vt 0.111702 0.818667 +vt 0.056994 0.736790 +vt 0.019311 0.645815 +vt 0.000100 0.549235 +vt 0.000100 0.450763 +vt 0.019310 0.354184 +vt 0.056994 0.263208 +vt 0.111702 0.181332 +vt 0.943005 0.263208 +vt 0.818666 0.111702 +vt 0.888296 0.181332 +vt 0.980688 0.354184 +vt 0.999899 0.549236 +vt 0.999899 0.450764 +vt 0.943005 0.736791 +vt 0.980689 0.645815 +vt 0.181332 0.111702 +vt 0.736791 0.943006 +vt 0.263209 0.056994 +vt 0.354185 0.019311 +vt 0.450764 0.000100 +vt 0.818667 0.888298 +vt 0.888297 0.818668 +vt 0.549235 0.000100 +vt 0.645815 0.019311 +vt 0.736791 0.056994 +vn -0.069476 0.705398 -0.705398 +vn -0.205757 0.705398 -0.678290 +vn -0.334131 0.705398 -0.625116 +vn -0.449665 0.705398 -0.547918 +vn -0.547918 0.705398 -0.449665 +vn -0.625116 0.705398 -0.334131 +vn -0.678290 0.705398 -0.205757 +vn -0.705398 0.705398 -0.069476 +vn -0.705398 0.705398 0.069476 +vn -0.678290 0.705398 0.205757 +vn -0.625116 0.705398 0.334131 +vn -0.547918 0.705398 0.449665 +vn -0.449665 0.705398 0.547918 +vn -0.334131 0.705398 0.625116 +vn -0.205757 0.705398 0.678290 +vn -0.069476 0.705398 0.705398 +vn 0.069476 0.705398 0.705398 +vn 0.205757 0.705398 0.678290 +vn 0.334132 0.705398 0.625116 +vn 0.449665 0.705398 0.547918 +vn 0.547919 0.705398 0.449665 +vn 0.625116 0.705398 0.334131 +vn 0.678290 0.705398 0.205756 +vn 0.705398 0.705398 0.069475 +vn 0.705398 0.705398 -0.069476 +vn 0.678290 0.705398 -0.205758 +vn 0.625115 0.705398 -0.334132 +vn 0.547918 0.705398 -0.449666 +vn 0.449664 0.705398 -0.547919 +vn 0.334130 0.705398 -0.625116 +vn 0.205756 0.705398 -0.678290 +vn 0.069475 0.705398 -0.705398 +vn 0.000000 -1.000000 0.000000 +vn -0.290284 0.000000 0.956940 +vn -0.098016 0.000000 0.995185 +vn -0.634393 0.000000 -0.773010 +vn -0.773011 0.000000 -0.634393 +vn 0.956940 0.000000 -0.290286 +vn 0.881921 0.000000 -0.471398 +vn -0.881922 0.000000 -0.471396 +vn -0.956940 0.000000 -0.290285 +vn 0.098017 0.000000 0.995185 +vn 0.290284 0.000000 0.956940 +vn 0.773010 0.000000 -0.634394 +vn 0.634392 0.000000 -0.773011 +vn -0.995185 0.000000 -0.098017 +vn -0.995185 0.000000 0.098017 +vn 0.471397 0.000000 0.881921 +vn 0.634394 0.000000 0.773010 +vn 0.471395 0.000000 -0.881922 +vn 0.290283 0.000000 -0.956941 +vn 0.098017 0.000000 -0.995185 +vn -0.956940 0.000000 0.290285 +vn -0.881921 0.000000 0.471396 +vn 0.773011 0.000000 0.634393 +vn 0.881922 0.000000 0.471396 +vn -0.773010 0.000000 0.634393 +vn -0.634393 0.000000 0.773010 +vn -0.471397 0.000000 0.881921 +vn -0.098018 0.000000 -0.995185 +vn -0.290284 0.000000 -0.956940 +vn -0.471397 0.000000 -0.881921 +vn 0.956941 0.000000 0.290284 +vn 0.995185 0.000000 0.098016 +vn 0.995185 0.000000 -0.098018 +vn 0.000000 -1.000000 -0.000004 +vn 0.000000 -1.000000 -0.000001 +vn 0.000000 -1.000000 0.000001 +vn -0.098017 0.000000 0.995185 +vn -0.773010 0.000000 -0.634393 +vn -0.881921 0.000000 -0.471396 +vn 0.098018 0.000000 0.995185 +vn 0.290285 0.000000 0.956940 +vn 0.773009 0.000000 -0.634394 +vn 0.471396 0.000000 -0.881922 +vn -0.881921 0.000000 0.471397 +vn -0.098017 0.000000 -0.995185 +vn -0.471396 0.000000 -0.881921 +s off +f 1/1/1 2/1/1 3/1/1 +f 1/1/2 3/1/2 4/1/2 +f 1/1/3 4/1/3 5/1/3 +f 1/1/4 5/1/4 6/1/4 +f 1/1/5 6/1/5 7/1/5 +f 1/1/6 7/1/6 8/1/6 +f 1/1/7 8/1/7 9/1/7 +f 1/1/8 9/1/8 10/1/8 +f 1/1/9 10/1/9 11/1/9 +f 1/1/10 11/1/10 12/1/10 +f 1/1/11 12/1/11 13/1/11 +f 1/1/12 13/1/12 14/1/12 +f 1/1/13 14/1/13 15/1/13 +f 1/1/14 15/1/14 16/1/14 +f 1/1/15 16/1/15 17/1/15 +f 1/1/16 17/1/16 18/1/16 +f 1/1/17 18/1/17 19/1/17 +f 1/1/18 19/1/18 20/1/18 +f 1/1/19 20/1/19 21/1/19 +f 1/1/20 21/1/20 22/1/20 +f 1/1/21 22/1/21 23/1/21 +f 1/1/22 23/1/22 24/1/22 +f 1/1/23 24/1/23 25/1/23 +f 1/1/24 25/1/24 26/1/24 +f 1/1/25 26/1/25 27/1/25 +f 1/1/26 27/1/26 28/1/26 +f 1/1/27 28/1/27 29/1/27 +f 1/1/28 29/1/28 30/1/28 +f 1/1/29 30/1/29 31/1/29 +f 1/1/30 31/1/30 32/1/30 +f 1/1/31 32/1/31 33/1/31 +f 1/1/32 33/1/32 2/1/32 +f 24/1/33 23/1/33 58/1/33 +f 13/1/33 12/1/33 47/1/33 +f 2/1/33 33/1/33 36/1/33 +f 23/1/33 22/1/33 57/1/33 +f 12/1/33 11/1/33 46/1/33 +f 33/1/33 32/1/33 67/1/33 +f 22/1/33 21/1/33 56/1/33 +f 11/1/33 10/1/33 45/1/33 +f 32/1/33 31/1/33 66/1/33 +f 21/1/33 20/1/33 55/1/33 +f 10/1/33 9/1/33 44/1/33 +f 31/1/33 30/1/33 65/1/33 +f 20/1/33 19/1/33 54/1/33 +f 9/1/33 8/1/33 43/1/33 +f 30/1/33 29/1/33 64/1/33 +f 19/1/33 18/1/33 53/1/33 +f 3/1/33 2/1/33 37/1/33 +f 8/1/33 7/1/33 42/1/33 +f 29/1/33 28/1/33 63/1/33 +f 7/1/33 6/1/33 41/1/33 +f 18/1/33 17/1/33 52/1/33 +f 28/1/33 27/1/33 62/1/33 +f 6/1/33 5/1/33 40/1/33 +f 17/1/33 16/1/33 51/1/33 +f 27/1/33 26/1/33 61/1/33 +f 5/1/33 4/1/33 39/1/33 +f 16/1/33 15/1/33 50/1/33 +f 26/1/33 25/1/33 60/1/33 +f 4/1/33 3/1/33 38/1/33 +f 15/1/33 14/1/33 49/1/33 +f 25/1/33 24/1/33 59/1/33 +f 14/1/33 13/1/33 48/1/33 +f 81/2/33 86/3/33 80/4/33 +f 51/1/34 50/1/34 95/1/34 +f 52/1/35 51/1/35 94/1/35 +f 40/1/36 39/1/36 93/1/36 +f 41/1/37 40/1/37 92/1/37 +f 62/1/38 61/1/38 91/1/38 +f 63/1/39 62/1/39 90/1/39 +f 42/1/40 41/1/40 89/1/40 +f 43/1/41 42/1/41 88/1/41 +f 53/1/42 52/1/42 87/1/42 +f 54/1/43 53/1/43 86/1/43 +f 64/1/44 63/1/44 85/1/44 +f 65/1/45 64/1/45 84/1/45 +f 44/1/46 43/1/46 83/1/46 +f 45/1/47 44/1/47 82/1/47 +f 55/1/48 54/1/48 81/1/48 +f 56/1/49 55/1/49 80/1/49 +f 66/1/50 65/1/50 79/1/50 +f 67/1/51 66/1/51 78/1/51 +f 36/1/52 67/1/52 99/1/52 +f 46/1/53 45/1/53 77/1/53 +f 47/1/54 46/1/54 76/1/54 +f 57/1/55 56/1/55 75/1/55 +f 58/1/56 57/1/56 74/1/56 +f 48/1/57 47/1/57 73/1/57 +f 49/1/58 48/1/58 72/1/58 +f 50/1/59 49/1/59 98/1/59 +f 37/1/60 36/1/60 71/1/60 +f 38/1/61 37/1/61 70/1/61 +f 39/1/62 38/1/62 97/1/62 +f 59/1/63 58/1/63 69/1/63 +f 60/1/64 59/1/64 68/1/64 +f 61/1/65 60/1/65 96/1/65 +f 23/1/33 57/1/33 58/1/33 +f 12/1/33 46/1/33 47/1/33 +f 33/1/33 67/1/33 36/1/33 +f 22/1/33 56/1/33 57/1/33 +f 11/1/33 45/1/33 46/1/33 +f 32/1/33 66/1/33 67/1/33 +f 21/1/33 55/1/33 56/1/33 +f 10/1/33 44/1/33 45/1/33 +f 31/1/33 65/1/33 66/1/33 +f 20/1/33 54/1/33 55/1/33 +f 9/1/33 43/1/33 44/1/33 +f 30/1/33 64/1/33 65/1/33 +f 19/1/33 53/1/33 54/1/33 +f 8/1/33 42/1/33 43/1/33 +f 29/1/33 63/1/33 64/1/33 +f 18/1/33 52/1/33 53/1/33 +f 2/1/33 36/1/33 37/1/33 +f 7/1/33 41/1/33 42/1/33 +f 28/1/33 62/1/33 63/1/33 +f 6/1/33 40/1/33 41/1/33 +f 17/1/33 51/1/33 52/1/33 +f 27/1/33 61/1/33 62/1/33 +f 5/1/33 39/1/33 40/1/33 +f 16/1/33 50/1/33 51/1/33 +f 26/1/33 60/1/33 61/1/33 +f 4/1/33 38/1/33 39/1/33 +f 15/1/33 49/1/33 50/1/33 +f 25/1/33 59/1/33 60/1/33 +f 3/1/33 37/1/33 38/1/33 +f 14/1/33 48/1/33 49/1/33 +f 24/1/33 58/1/33 59/1/33 +f 13/1/33 47/1/33 48/1/33 +f 86/3/33 87/5/33 80/4/33 +f 87/5/66 94/6/66 80/4/66 +f 94/6/33 95/7/33 80/4/33 +f 95/7/33 98/8/33 80/4/33 +f 98/8/33 72/9/33 80/4/33 +f 72/9/33 73/10/33 80/4/33 +f 73/10/33 76/11/33 80/4/33 +f 76/11/33 77/12/33 80/4/33 +f 77/12/67 82/13/67 80/4/67 +f 82/13/33 83/14/33 80/4/33 +f 83/14/68 88/15/68 80/4/68 +f 84/16/33 78/17/33 79/18/33 +f 85/19/66 78/17/66 84/16/66 +f 91/20/33 85/19/33 90/21/33 +f 91/20/33 78/17/33 85/19/33 +f 68/22/33 91/20/33 96/23/33 +f 68/22/33 78/17/33 91/20/33 +f 88/15/67 89/24/67 80/4/67 +f 80/4/33 89/24/33 75/25/33 +f 89/24/33 92/26/33 75/25/33 +f 92/26/68 93/27/68 75/25/68 +f 93/27/33 97/28/33 75/25/33 +f 75/25/33 97/28/33 74/29/33 +f 69/30/33 78/17/33 68/22/33 +f 74/29/33 97/28/33 69/30/33 +f 97/28/33 70/31/33 69/30/33 +f 70/31/68 71/32/68 69/30/68 +f 71/32/33 99/33/33 69/30/33 +f 99/33/33 78/17/33 69/30/33 +f 50/1/34 98/1/34 95/1/34 +f 51/1/69 95/1/69 94/1/69 +f 39/1/36 97/1/36 93/1/36 +f 40/1/70 93/1/70 92/1/70 +f 61/1/38 96/1/38 91/1/38 +f 62/1/39 91/1/39 90/1/39 +f 41/1/71 92/1/71 89/1/71 +f 42/1/41 89/1/41 88/1/41 +f 52/1/72 94/1/72 87/1/72 +f 53/1/73 87/1/73 86/1/73 +f 63/1/74 90/1/74 85/1/74 +f 64/1/45 85/1/45 84/1/45 +f 43/1/46 88/1/46 83/1/46 +f 44/1/47 83/1/47 82/1/47 +f 54/1/48 86/1/48 81/1/48 +f 55/1/49 81/1/49 80/1/49 +f 65/1/75 84/1/75 79/1/75 +f 66/1/51 79/1/51 78/1/51 +f 67/1/52 78/1/52 99/1/52 +f 45/1/53 82/1/53 77/1/53 +f 46/1/76 77/1/76 76/1/76 +f 56/1/55 80/1/55 75/1/55 +f 57/1/56 75/1/56 74/1/56 +f 47/1/57 76/1/57 73/1/57 +f 48/1/58 73/1/58 72/1/58 +f 49/1/59 72/1/59 98/1/59 +f 36/1/77 99/1/77 71/1/77 +f 37/1/61 71/1/61 70/1/61 +f 38/1/78 70/1/78 97/1/78 +f 58/1/63 74/1/63 69/1/63 +f 59/1/64 69/1/64 68/1/64 +f 60/1/65 68/1/65 96/1/65 diff --git a/src/datavisualization/engine/meshes/arrowSmooth.obj b/src/datavisualization/engine/meshes/arrowSmooth.obj new file mode 100644 index 00000000..898c4a2b --- /dev/null +++ b/src/datavisualization/engine/meshes/arrowSmooth.obj @@ -0,0 +1,422 @@ +# Blender v2.69 (sub 0) OBJ File: 'arrow.blend' +# www.blender.org +v 0.000000 1.000000 0.000000 +v 0.000000 0.000000 -1.000000 +v -0.195090 0.000000 -0.980785 +v -0.382683 0.000000 -0.923880 +v -0.555570 0.000000 -0.831470 +v -0.707107 0.000000 -0.707107 +v -0.831470 0.000000 -0.555570 +v -0.923880 0.000000 -0.382683 +v -0.980785 0.000000 -0.195090 +v -1.000000 0.000000 -0.000000 +v -0.980785 0.000000 0.195090 +v -0.923880 0.000000 0.382683 +v -0.831470 0.000000 0.555570 +v -0.707107 0.000000 0.707107 +v -0.555570 0.000000 0.831470 +v -0.382683 0.000000 0.923880 +v -0.195090 0.000000 0.980785 +v 0.000000 0.000000 1.000000 +v 0.195091 0.000000 0.980785 +v 0.382684 0.000000 0.923879 +v 0.555571 0.000000 0.831469 +v 0.707107 0.000000 0.707106 +v 0.831470 0.000000 0.555570 +v 0.923880 0.000000 0.382683 +v 0.980785 0.000000 0.195089 +v 1.000000 0.000000 -0.000001 +v 0.980785 0.000000 -0.195091 +v 0.923879 0.000000 -0.382684 +v 0.831469 0.000000 -0.555571 +v 0.707106 0.000000 -0.707108 +v 0.555569 0.000000 -0.831470 +v 0.382682 0.000000 -0.923880 +v 0.195089 0.000000 -0.980786 +v 0.000000 0.000000 0.000000 +v 0.000000 0.000000 0.000000 +v -0.000000 0.000000 -0.578860 +v -0.112930 0.000000 -0.567737 +v -0.221520 0.000000 -0.534796 +v -0.321597 0.000000 -0.481304 +v -0.409315 0.000000 -0.409316 +v -0.481304 0.000000 -0.321597 +v -0.534796 0.000000 -0.221520 +v -0.567737 0.000000 -0.112930 +v -0.578859 0.000000 -0.000000 +v -0.567737 0.000000 0.112930 +v -0.534796 0.000000 0.221520 +v -0.481304 0.000000 0.321597 +v -0.409315 0.000000 0.409315 +v -0.321597 0.000000 0.481304 +v -0.221520 0.000000 0.534796 +v -0.112930 0.000000 0.567737 +v 0.000000 0.000000 0.578859 +v 0.112930 0.000000 0.567737 +v 0.221520 0.000000 0.534796 +v 0.321597 0.000000 0.481304 +v 0.409316 0.000000 0.409315 +v 0.481304 0.000000 0.321597 +v 0.534796 0.000000 0.221519 +v 0.567737 0.000000 0.112929 +v 0.578859 0.000000 -0.000001 +v 0.567737 0.000000 -0.112931 +v 0.534796 0.000000 -0.221521 +v 0.481304 0.000000 -0.321598 +v 0.409315 0.000000 -0.409316 +v 0.321596 0.000000 -0.481305 +v 0.221519 0.000000 -0.534797 +v 0.112929 0.000000 -0.567737 +v 0.578859 -1.000000 -0.000001 +v 0.567737 -1.000000 0.112929 +v -0.221520 -1.000000 -0.534796 +v -0.112930 -1.000000 -0.567737 +v -0.321597 -1.000000 0.481304 +v -0.409315 -1.000000 0.409315 +v 0.534796 -1.000000 0.221519 +v 0.481304 -1.000000 0.321597 +v -0.481304 -1.000000 0.321597 +v -0.534796 -1.000000 0.221520 +v 0.112929 -1.000000 -0.567737 +v 0.221519 -1.000000 -0.534797 +v 0.409316 -1.000000 0.409315 +v 0.321597 -1.000000 0.481304 +v -0.567737 -1.000000 0.112930 +v -0.578859 -1.000000 -0.000000 +v 0.321596 -1.000000 -0.481305 +v 0.409315 -1.000000 -0.409316 +v 0.221520 -1.000000 0.534796 +v 0.112930 -1.000000 0.567737 +v -0.567737 -1.000000 -0.112930 +v -0.534796 -1.000000 -0.221520 +v 0.481304 -1.000000 -0.321598 +v 0.534796 -1.000000 -0.221521 +v -0.481304 -1.000000 -0.321597 +v -0.409315 -1.000000 -0.409316 +v 0.000000 -1.000000 0.578859 +v -0.112930 -1.000000 0.567737 +v 0.567737 -1.000000 -0.112931 +v -0.321597 -1.000000 -0.481304 +v -0.221520 -1.000000 0.534796 +v -0.000000 -1.000000 -0.578860 +vt 0.000000 0.000000 +vt 0.549236 0.999900 +vt 0.450764 0.999900 +vt 0.645815 0.980689 +vt 0.354184 0.980689 +vt 0.263208 0.943005 +vt 0.181332 0.888297 +vt 0.111702 0.818667 +vt 0.056994 0.736790 +vt 0.019311 0.645815 +vt 0.000100 0.549235 +vt 0.000100 0.450763 +vt 0.019310 0.354184 +vt 0.056994 0.263208 +vt 0.111702 0.181332 +vt 0.943005 0.263208 +vt 0.818666 0.111702 +vt 0.888296 0.181332 +vt 0.980688 0.354184 +vt 0.999899 0.549236 +vt 0.999899 0.450764 +vt 0.943005 0.736791 +vt 0.980689 0.645815 +vt 0.181332 0.111702 +vt 0.736791 0.943006 +vt 0.263209 0.056994 +vt 0.354185 0.019311 +vt 0.450764 0.000100 +vt 0.818667 0.888298 +vt 0.888297 0.818668 +vt 0.549235 0.000100 +vt 0.645815 0.019311 +vt 0.736791 0.056994 +vn 0.000000 1.000000 0.000000 +vn 0.000000 -0.363689 -0.931516 +vn -0.181707 -0.363689 -0.913602 +vn -0.356456 -0.363689 -0.860591 +vn -0.517502 -0.363689 -0.774499 +vn -0.658681 -0.363689 -0.658681 +vn -0.774499 -0.363689 -0.517502 +vn -0.860591 -0.363689 -0.356456 +vn -0.913602 -0.363689 -0.181707 +vn -0.931516 -0.363689 0.000000 +vn -0.913602 -0.363689 0.181707 +vn -0.860591 -0.363689 0.356456 +vn -0.774499 -0.363689 0.517502 +vn -0.658681 -0.363689 0.658681 +vn -0.517502 -0.363689 0.774499 +vn -0.356456 -0.363689 0.860591 +vn -0.181707 -0.363689 0.913602 +vn 0.000000 -0.363689 0.931516 +vn 0.181707 -0.363689 0.913602 +vn 0.356456 -0.363689 0.860591 +vn 0.517502 -0.363689 0.774499 +vn 0.658681 -0.363689 0.658681 +vn 0.774499 -0.363689 0.517502 +vn 0.860591 -0.363689 0.356456 +vn 0.913602 -0.363689 0.181707 +vn 0.931516 -0.363689 0.000000 +vn 0.913602 -0.363689 -0.181707 +vn 0.860591 -0.363689 -0.356456 +vn 0.774499 -0.363689 -0.517502 +vn 0.658681 -0.363689 -0.658681 +vn 0.517502 -0.363689 -0.774499 +vn 0.356456 -0.363689 -0.860591 +vn 0.181707 -0.363689 -0.913602 +vn 0.631550 -0.729820 0.261605 +vn -0.568377 -0.729820 0.379772 +vn 0.000000 -0.729820 -0.683584 +vn 0.568377 -0.729820 0.379772 +vn -0.631550 -0.729820 0.261605 +vn 0.133335 -0.729820 -0.670461 +vn 0.483383 -0.729820 0.483383 +vn -0.670461 -0.729820 0.133335 +vn 0.261574 -0.729820 -0.631550 +vn 0.379772 -0.729820 0.568377 +vn -0.683584 -0.729820 0.000000 +vn 0.379772 -0.729820 -0.568377 +vn 0.261605 -0.729820 0.631550 +vn -0.670461 -0.729820 -0.133335 +vn 0.483383 -0.729820 -0.483383 +vn 0.133335 -0.729820 0.670461 +vn -0.133335 -0.729820 -0.670461 +vn -0.631550 -0.729820 -0.261605 +vn 0.568377 -0.729820 -0.379772 +vn -0.568377 -0.729820 -0.379772 +vn 0.000000 -0.729820 0.683584 +vn 0.631550 -0.729820 -0.261605 +vn -0.483383 -0.729820 -0.483383 +vn -0.133335 -0.729820 0.670461 +vn 0.670461 -0.729820 -0.133366 +vn -0.379772 -0.729820 -0.568377 +vn -0.261605 -0.729820 0.631550 +vn 0.683584 -0.729820 0.000000 +vn -0.261605 -0.729820 -0.631550 +vn -0.379772 -0.729820 0.568377 +vn 0.670461 -0.729820 0.133335 +vn -0.483383 -0.729820 0.483383 +vn 0.404370 -0.685690 0.605213 +vn 0.278542 -0.685690 0.672475 +vn 0.514695 -0.685690 0.514664 +vn -0.142003 -0.685690 0.713889 +vn 0.000000 -0.685690 0.727866 +vn -0.514664 -0.685690 -0.514664 +vn -0.605213 -0.685690 -0.404370 +vn 0.672475 -0.685690 -0.278542 +vn 0.605213 -0.685690 -0.404370 +vn -0.672475 -0.685690 -0.278542 +vn -0.713889 -0.685690 -0.142003 +vn 0.142003 -0.685690 0.713889 +vn 0.514664 -0.685690 -0.514695 +vn 0.404370 -0.685690 -0.605213 +vn -0.727866 -0.685690 0.000000 +vn -0.713889 -0.685690 0.142003 +vn 0.278542 -0.685690 -0.672475 +vn 0.142003 -0.685690 -0.713889 +vn 0.000000 -0.685690 -0.727866 +vn -0.672475 -0.685690 0.278542 +vn -0.605213 -0.685690 0.404370 +vn 0.605213 -0.685690 0.404370 +vn 0.672475 -0.685690 0.278542 +vn -0.514664 -0.685690 0.514664 +vn -0.404370 -0.685690 0.605213 +vn -0.278542 -0.685690 0.672475 +vn -0.142003 -0.685690 -0.713889 +vn -0.278542 -0.685690 -0.672475 +vn -0.404370 -0.685690 -0.605213 +vn 0.713889 -0.685690 0.142003 +vn 0.727866 -0.685690 0.000000 +vn 0.713889 -0.685690 -0.142003 +s 1 +f 1/1/1 2/1/2 3/1/3 +f 1/1/1 3/1/3 4/1/4 +f 1/1/1 4/1/4 5/1/5 +f 1/1/1 5/1/5 6/1/6 +f 1/1/1 6/1/6 7/1/7 +f 1/1/1 7/1/7 8/1/8 +f 1/1/1 8/1/8 9/1/9 +f 1/1/1 9/1/9 10/1/10 +f 1/1/1 10/1/10 11/1/11 +f 1/1/1 11/1/11 12/1/12 +f 1/1/1 12/1/12 13/1/13 +f 1/1/1 13/1/13 14/1/14 +f 1/1/1 14/1/14 15/1/15 +f 1/1/1 15/1/15 16/1/16 +f 1/1/1 16/1/16 17/1/17 +f 1/1/1 17/1/17 18/1/18 +f 1/1/1 18/1/18 19/1/19 +f 1/1/1 19/1/19 20/1/20 +f 1/1/1 20/1/20 21/1/21 +f 1/1/1 21/1/21 22/1/22 +f 1/1/1 22/1/22 23/1/23 +f 1/1/1 23/1/23 24/1/24 +f 1/1/1 24/1/24 25/1/25 +f 1/1/1 25/1/25 26/1/26 +f 1/1/1 26/1/26 27/1/27 +f 1/1/1 27/1/27 28/1/28 +f 1/1/1 28/1/28 29/1/29 +f 1/1/1 29/1/29 30/1/30 +f 1/1/1 30/1/30 31/1/31 +f 1/1/1 31/1/31 32/1/32 +f 1/1/1 32/1/32 33/1/33 +f 1/1/1 33/1/33 2/1/2 +f 24/1/24 23/1/23 58/1/34 +f 13/1/13 12/1/12 47/1/35 +f 2/1/2 33/1/33 36/1/36 +f 23/1/23 22/1/22 57/1/37 +f 12/1/12 11/1/11 46/1/38 +f 33/1/33 32/1/32 67/1/39 +f 22/1/22 21/1/21 56/1/40 +f 11/1/11 10/1/10 45/1/41 +f 32/1/32 31/1/31 66/1/42 +f 21/1/21 20/1/20 55/1/43 +f 10/1/10 9/1/9 44/1/44 +f 31/1/31 30/1/30 65/1/45 +f 20/1/20 19/1/19 54/1/46 +f 9/1/9 8/1/8 43/1/47 +f 30/1/30 29/1/29 64/1/48 +f 19/1/19 18/1/18 53/1/49 +f 3/1/3 2/1/2 37/1/50 +f 8/1/8 7/1/7 42/1/51 +f 29/1/29 28/1/28 63/1/52 +f 7/1/7 6/1/6 41/1/53 +f 18/1/18 17/1/17 52/1/54 +f 28/1/28 27/1/27 62/1/55 +f 6/1/6 5/1/5 40/1/56 +f 17/1/17 16/1/16 51/1/57 +f 27/1/27 26/1/26 61/1/58 +f 5/1/5 4/1/4 39/1/59 +f 16/1/16 15/1/15 50/1/60 +f 26/1/26 25/1/25 60/1/61 +f 4/1/4 3/1/3 38/1/62 +f 15/1/15 14/1/14 49/1/63 +f 25/1/25 24/1/24 59/1/64 +f 14/1/14 13/1/13 48/1/65 +f 81/2/66 86/3/67 80/4/68 +f 51/1/57 50/1/60 95/1/69 +f 52/1/54 51/1/57 94/1/70 +f 40/1/56 39/1/59 93/1/71 +f 41/1/53 40/1/56 92/1/72 +f 62/1/55 61/1/58 91/1/73 +f 63/1/52 62/1/55 90/1/74 +f 42/1/51 41/1/53 89/1/75 +f 43/1/47 42/1/51 88/1/76 +f 53/1/49 52/1/54 87/1/77 +f 54/1/46 53/1/49 86/1/67 +f 64/1/48 63/1/52 85/1/78 +f 65/1/45 64/1/48 84/1/79 +f 44/1/44 43/1/47 83/1/80 +f 45/1/41 44/1/44 82/1/81 +f 55/1/43 54/1/46 81/1/66 +f 56/1/40 55/1/43 80/1/68 +f 66/1/42 65/1/45 79/1/82 +f 67/1/39 66/1/42 78/1/83 +f 36/1/36 67/1/39 99/1/84 +f 46/1/38 45/1/41 77/1/85 +f 47/1/35 46/1/38 76/1/86 +f 57/1/37 56/1/40 75/1/87 +f 58/1/34 57/1/37 74/1/88 +f 48/1/65 47/1/35 73/1/89 +f 49/1/63 48/1/65 72/1/90 +f 50/1/60 49/1/63 98/1/91 +f 37/1/50 36/1/36 71/1/92 +f 38/1/62 37/1/50 70/1/93 +f 39/1/59 38/1/62 97/1/94 +f 59/1/64 58/1/34 69/1/95 +f 60/1/61 59/1/64 68/1/96 +f 61/1/58 60/1/61 96/1/97 +f 23/1/23 57/1/37 58/1/34 +f 12/1/12 46/1/38 47/1/35 +f 33/1/33 67/1/39 36/1/36 +f 22/1/22 56/1/40 57/1/37 +f 11/1/11 45/1/41 46/1/38 +f 32/1/32 66/1/42 67/1/39 +f 21/1/21 55/1/43 56/1/40 +f 10/1/10 44/1/44 45/1/41 +f 31/1/31 65/1/45 66/1/42 +f 20/1/20 54/1/46 55/1/43 +f 9/1/9 43/1/47 44/1/44 +f 30/1/30 64/1/48 65/1/45 +f 19/1/19 53/1/49 54/1/46 +f 8/1/8 42/1/51 43/1/47 +f 29/1/29 63/1/52 64/1/48 +f 18/1/18 52/1/54 53/1/49 +f 2/1/2 36/1/36 37/1/50 +f 7/1/7 41/1/53 42/1/51 +f 28/1/28 62/1/55 63/1/52 +f 6/1/6 40/1/56 41/1/53 +f 17/1/17 51/1/57 52/1/54 +f 27/1/27 61/1/58 62/1/55 +f 5/1/5 39/1/59 40/1/56 +f 16/1/16 50/1/60 51/1/57 +f 26/1/26 60/1/61 61/1/58 +f 4/1/4 38/1/62 39/1/59 +f 15/1/15 49/1/63 50/1/60 +f 25/1/25 59/1/64 60/1/61 +f 3/1/3 37/1/50 38/1/62 +f 14/1/14 48/1/65 49/1/63 +f 24/1/24 58/1/34 59/1/64 +f 13/1/13 47/1/35 48/1/65 +f 86/3/67 87/5/77 80/4/68 +f 87/5/77 94/6/70 80/4/68 +f 94/6/70 95/7/69 80/4/68 +f 95/7/69 98/8/91 80/4/68 +f 98/8/91 72/9/90 80/4/68 +f 72/9/90 73/10/89 80/4/68 +f 73/10/89 76/11/86 80/4/68 +f 76/11/86 77/12/85 80/4/68 +f 77/12/85 82/13/81 80/4/68 +f 82/13/81 83/14/80 80/4/68 +f 83/14/80 88/15/76 80/4/68 +f 84/16/79 78/17/83 79/18/82 +f 85/19/78 78/17/83 84/16/79 +f 91/20/73 85/19/78 90/21/74 +f 91/20/73 78/17/83 85/19/78 +f 68/22/96 91/20/73 96/23/97 +f 68/22/96 78/17/83 91/20/73 +f 88/15/76 89/24/75 80/4/68 +f 80/4/68 89/24/75 75/25/87 +f 89/24/75 92/26/72 75/25/87 +f 92/26/72 93/27/71 75/25/87 +f 93/27/71 97/28/94 75/25/87 +f 75/25/87 97/28/94 74/29/88 +f 69/30/95 78/17/83 68/22/96 +f 74/29/88 97/28/94 69/30/95 +f 97/28/94 70/31/93 69/30/95 +f 70/31/93 71/32/92 69/30/95 +f 71/32/92 99/33/84 69/30/95 +f 99/33/84 78/17/83 69/30/95 +f 50/1/60 98/1/91 95/1/69 +f 51/1/57 95/1/69 94/1/70 +f 39/1/59 97/1/94 93/1/71 +f 40/1/56 93/1/71 92/1/72 +f 61/1/58 96/1/97 91/1/73 +f 62/1/55 91/1/73 90/1/74 +f 41/1/53 92/1/72 89/1/75 +f 42/1/51 89/1/75 88/1/76 +f 52/1/54 94/1/70 87/1/77 +f 53/1/49 87/1/77 86/1/67 +f 63/1/52 90/1/74 85/1/78 +f 64/1/48 85/1/78 84/1/79 +f 43/1/47 88/1/76 83/1/80 +f 44/1/44 83/1/80 82/1/81 +f 54/1/46 86/1/67 81/1/66 +f 55/1/43 81/1/66 80/1/68 +f 65/1/45 84/1/79 79/1/82 +f 66/1/42 79/1/82 78/1/83 +f 67/1/39 78/1/83 99/1/84 +f 45/1/41 82/1/81 77/1/85 +f 46/1/38 77/1/85 76/1/86 +f 56/1/40 80/1/68 75/1/87 +f 57/1/37 75/1/87 74/1/88 +f 47/1/35 76/1/86 73/1/89 +f 48/1/65 73/1/89 72/1/90 +f 49/1/63 72/1/90 98/1/91 +f 36/1/36 99/1/84 71/1/92 +f 37/1/50 71/1/92 70/1/93 +f 38/1/62 70/1/93 97/1/94 +f 58/1/34 74/1/88 69/1/95 +f 59/1/64 69/1/95 68/1/96 +f 60/1/61 68/1/96 96/1/97 diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 6a08c934..9973069b 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -208,6 +208,7 @@ void Scatter3DRenderer::updateData() && (dotPos.z() >= minZ && dotPos.z() <= maxZ)) { m_renderingArrays[series][i].setPosition(dotPos); m_renderingArrays[series][i].setVisible(true); + m_renderingArrays[series][i].setRotation(dataArray.at(i).rotation()); calculateTranslation(m_renderingArrays[series][i]); } else { m_renderingArrays[series][i].setVisible(false); @@ -387,8 +388,10 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) QMatrix4x4 MVPMatrix; modelMatrix.translate(item.translation()); - if (!drawingPoints) + if (!drawingPoints) { + modelMatrix.rotate(item.rotation()); modelMatrix.scale(modelScaler); + } MVPMatrix = depthProjectionViewMatrix * modelMatrix; @@ -512,8 +515,10 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) QMatrix4x4 MVPMatrix; modelMatrix.translate(item.translation()); - if (!drawingPoints) + if (!drawingPoints) { + modelMatrix.rotate(item.rotation()); modelMatrix.scale(modelScaler); + } MVPMatrix = projectionViewMatrix * modelMatrix; @@ -682,8 +687,10 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) modelMatrix.translate(item.translation()); if (!drawingPoints) { + modelMatrix.rotate(item.rotation()); modelMatrix.scale(modelScaler); itModelMatrix.scale(modelScaler); + itModelMatrix.rotate(item.rotation()); } #ifdef SHOW_DEPTH_TEXTURE_SCENE MVPMatrix = depthProjectionViewMatrix * modelMatrix; @@ -714,6 +721,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) dotShader->setUniformValue(dotShader->nModel(), itModelMatrix.inverted().transposed()); } + dotShader->setUniformValue(dotShader->MVP(), MVPMatrix); if (useColor) { dotShader->setUniformValue(dotShader->color(), dotColor); diff --git a/src/datavisualization/engine/seriesrendercache.cpp b/src/datavisualization/engine/seriesrendercache.cpp index 04b2249d..7526ac03 100644 --- a/src/datavisualization/engine/seriesrendercache.cpp +++ b/src/datavisualization/engine/seriesrendercache.cpp @@ -96,6 +96,9 @@ void SeriesRenderCache::populate(QAbstract3DSeries *series, Abstract3DRenderer * case QAbstract3DSeries::MeshMinimal: meshFileName = QStringLiteral(":/defaultMeshes/minimal"); break; + case QAbstract3DSeries::MeshArrow: + meshFileName = QStringLiteral(":/defaultMeshes/arrow"); + break; case QAbstract3DSeries::MeshPoint: #if defined(QT_OPENGL_ES_2) qWarning("QAbstract3DSeries::MeshPoint is not fully supported on OpenGL ES2"); -- cgit v1.2.3 From 2d31d2416643598b15664c766326f18c5b698c79 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 14 Jan 2014 10:08:28 +0200 Subject: Add series name property MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit +Don't call updateScene for every render cycle +Fixed item label update when format or name changes +Misc cosmetic fixes Task-number: QTRD-2736 Task-number: QTRD-2571 Change-Id: I43aa6b8e3202b09529b17a22bb24d05fcb545609 Reviewed-by: Tomi Korpipää --- src/datavisualization/data/qabstract3dseries.cpp | 21 +++++++++++++++++ src/datavisualization/data/qabstract3dseries.h | 6 +++++ src/datavisualization/data/qabstract3dseries_p.h | 6 ++++- .../engine/abstract3dcontroller.cpp | 3 ++- .../engine/abstract3drenderer.cpp | 8 ++++++- .../engine/abstract3drenderer_p.h | 1 + src/datavisualization/engine/bars3drenderer.cpp | 9 ++++++-- src/datavisualization/engine/q3dobject.cpp | 4 +++- src/datavisualization/engine/q3dscene.cpp | 27 +++++++++++++++++++--- src/datavisualization/engine/q3dscene.h | 1 + src/datavisualization/engine/q3dscene_p.h | 1 + src/datavisualization/engine/scatter3drenderer.cpp | 7 ++++-- src/datavisualization/engine/seriesrendercache.cpp | 5 ++++ src/datavisualization/engine/seriesrendercache_p.h | 3 +++ src/datavisualization/engine/surface3drenderer.cpp | 12 +++++++--- 15 files changed, 100 insertions(+), 14 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/data/qabstract3dseries.cpp b/src/datavisualization/data/qabstract3dseries.cpp index 81a2f1b8..1aa4a46d 100644 --- a/src/datavisualization/data/qabstract3dseries.cpp +++ b/src/datavisualization/data/qabstract3dseries.cpp @@ -488,6 +488,19 @@ QLinearGradient QAbstract3DSeries::multiHighlightGradient() const return d_ptr->m_multiHighlightGradient; } +void QAbstract3DSeries::setName(const QString &name) +{ + if (d_ptr->m_name != name) { + d_ptr->setName(name); + emit nameChanged(name); + } +} + +QString QAbstract3DSeries::name() const +{ + return d_ptr->m_name; +} + // QAbstract3DSeriesPrivate QAbstract3DSeriesPrivate::QAbstract3DSeriesPrivate(QAbstract3DSeries *q, QAbstract3DSeries::SeriesType type) @@ -629,6 +642,14 @@ void QAbstract3DSeriesPrivate::setMultiHighlightGradient(const QLinearGradient & m_controller->markSeriesVisualsDirty(); } +void QAbstract3DSeriesPrivate::setName(const QString &name) +{ + m_name = name; + m_changeTracker.nameChanged = true; + if (m_controller) + m_controller->markSeriesVisualsDirty(); +} + void QAbstract3DSeriesPrivate::resetToTheme(const Q3DTheme &theme, int seriesIndex, bool force) { int themeIndex = seriesIndex; diff --git a/src/datavisualization/data/qabstract3dseries.h b/src/datavisualization/data/qabstract3dseries.h index b03b574d..bbcf60ad 100644 --- a/src/datavisualization/data/qabstract3dseries.h +++ b/src/datavisualization/data/qabstract3dseries.h @@ -47,6 +47,7 @@ class QT_DATAVISUALIZATION_EXPORT QAbstract3DSeries : public QObject Q_PROPERTY(QLinearGradient singleHighlightGradient READ singleHighlightGradient WRITE setSingleHighlightGradient NOTIFY singleHighlightGradientChanged) Q_PROPERTY(QColor multiHighlightColor READ multiHighlightColor WRITE setMultiHighlightColor NOTIFY multiHighlightColorChanged) Q_PROPERTY(QLinearGradient multiHighlightGradient READ multiHighlightGradient WRITE setMultiHighlightGradient NOTIFY multiHighlightGradientChanged) + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) public: enum SeriesType { @@ -109,6 +110,9 @@ public: void setMultiHighlightGradient(const QLinearGradient &gradient); QLinearGradient multiHighlightGradient() const; + void setName(const QString &name); + QString name() const; + signals: void itemLabelFormatChanged(QString format); void visibilityChanged(bool visible); @@ -122,6 +126,7 @@ signals: void singleHighlightGradientChanged(QLinearGradient gradient); void multiHighlightColorChanged(QColor color); void multiHighlightGradientChanged(QLinearGradient gradient); + void nameChanged(QString name); protected: QScopedPointer d_ptr; @@ -135,6 +140,7 @@ private: friend class Scatter3DController; friend class QBar3DSeries; friend class SeriesRenderCache; + friend class Abstract3DRenderer; }; QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/data/qabstract3dseries_p.h b/src/datavisualization/data/qabstract3dseries_p.h index 7b2ea2e6..8e83ff84 100644 --- a/src/datavisualization/data/qabstract3dseries_p.h +++ b/src/datavisualization/data/qabstract3dseries_p.h @@ -50,6 +50,7 @@ struct QAbstract3DSeriesChangeBitField { bool singleHighlightGradientChanged : 1; bool multiHighlightColorChanged : 1; bool multiHighlightGradientChanged : 1; + bool nameChanged : 1; QAbstract3DSeriesChangeBitField() : itemLabelFormatChanged(true), @@ -62,7 +63,8 @@ struct QAbstract3DSeriesChangeBitField { singleHighlightColorChanged(true), singleHighlightGradientChanged(true), multiHighlightColorChanged(true), - multiHighlightGradientChanged(true) + multiHighlightGradientChanged(true), + nameChanged(true) { } }; @@ -113,6 +115,7 @@ public: void setSingleHighlightGradient(const QLinearGradient &gradient); void setMultiHighlightColor(const QColor &color); void setMultiHighlightGradient(const QLinearGradient &gradient); + void setName(const QString &name); void resetToTheme(const Q3DTheme &theme, int seriesIndex, bool force); @@ -136,6 +139,7 @@ public: QColor m_multiHighlightColor; QLinearGradient m_multiHighlightGradient; + QString m_name; }; QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 14585679..919db22c 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -136,7 +136,8 @@ void Abstract3DController::synchDataToRenderer() if (!m_renderer) return; - m_renderer->updateScene(m_scene); + if (m_scene->d_ptr->m_sceneDirty) + m_renderer->updateScene(m_scene); m_renderer->updateTheme(m_themeManager->activeTheme()); diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 19b9a8c8..e812496c 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -354,8 +354,14 @@ void Abstract3DRenderer::updateSeries(const QList &seriesLi visibleCount = 0; } foreach (QAbstract3DSeries *current, seriesList) { - if (current->isVisible()) + if (current->isVisible()) { + // Item selection label may need update + if (current->d_ptr->m_changeTracker.nameChanged + || current->d_ptr->m_changeTracker.itemLabelFormatChanged) { + m_selectionLabelDirty = true; + } m_visibleSeriesList[visibleCount++].populate(current, this); + } } } diff --git a/src/datavisualization/engine/abstract3drenderer_p.h b/src/datavisualization/engine/abstract3drenderer_p.h index 068ee0ef..c375b0b8 100644 --- a/src/datavisualization/engine/abstract3drenderer_p.h +++ b/src/datavisualization/engine/abstract3drenderer_p.h @@ -137,6 +137,7 @@ protected: QRect m_primarySubViewport; QRect m_secondarySubViewport; float m_devicePixelRatio; + bool m_selectionLabelDirty; #ifdef DISPLAY_RENDER_SPEED bool m_isFirstFrame; diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 0a477d53..66a18e17 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -1756,9 +1756,10 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) glDisable(GL_DEPTH_TEST); // Draw the selection label LabelItem &labelItem = selectedBar->selectionLabelItem(); - if (m_selectedBar != selectedBar || m_updateLabels || !labelItem.textureId()) { + if (m_selectedBar != selectedBar || m_updateLabels || !labelItem.textureId() + || m_selectionLabelDirty) { QString labelText = selectedBar->selectionLabel(); - if (labelText.isNull()) { + if (labelText.isNull() || m_selectionLabelDirty) { static const QString rowIndexTag(QStringLiteral("@rowIdx")); static const QString rowLabelTag(QStringLiteral("@rowLabel")); static const QString rowTitleTag(QStringLiteral("@rowTitle")); @@ -1767,6 +1768,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) static const QString colTitleTag(QStringLiteral("@colTitle")); static const QString valueTitleTag(QStringLiteral("@valueTitle")); static const QString valueLabelTag(QStringLiteral("@valueLabel")); + static const QString seriesNameTag(QStringLiteral("@seriesName")); // Custom format expects printf format specifier. There is no tag for it. labelText = generateValueLabel( @@ -1797,7 +1799,10 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) labelText.replace(valueLabelTag, valueLabelText); } + labelText.replace(seriesNameTag, m_visibleSeriesList[m_visualSelectedBarSeriesIndex].name()); + selectedBar->setSelectionLabel(labelText); + m_selectionLabelDirty = false; } m_drawer->generateLabelItem(labelItem, labelText); m_selectedBar = selectedBar; diff --git a/src/datavisualization/engine/q3dobject.cpp b/src/datavisualization/engine/q3dobject.cpp index c4098fd0..89a682e1 100644 --- a/src/datavisualization/engine/q3dobject.cpp +++ b/src/datavisualization/engine/q3dobject.cpp @@ -18,7 +18,7 @@ #include "q3dobject.h" #include "q3dobject_p.h" -#include "q3dscene.h" +#include "q3dscene_p.h" QT_DATAVISUALIZATION_BEGIN_NAMESPACE @@ -97,6 +97,8 @@ void Q3DObject::setPosition(const QVector3D &position) void Q3DObject::setDirty(bool dirty) { d_ptr->m_isDirty = dirty; + if (parentScene()) + parentScene()->d_ptr->m_sceneDirty = true; } /*! diff --git a/src/datavisualization/engine/q3dscene.cpp b/src/datavisualization/engine/q3dscene.cpp index ce037b55..6fbfac51 100644 --- a/src/datavisualization/engine/q3dscene.cpp +++ b/src/datavisualization/engine/q3dscene.cpp @@ -185,6 +185,8 @@ void Q3DScene::setPrimarySubViewport(const QRect &primarySubViewport) d_ptr->m_primarySubViewport = intersectedViewport; d_ptr->updateGLSubViewports(); d_ptr->m_changeTracker.primarySubViewportChanged = true; + d_ptr->m_sceneDirty = true; + emit primarySubViewportChanged(intersectedViewport); emit d_ptr->needRender(); } @@ -247,6 +249,8 @@ void Q3DScene::setSecondarySubViewport(const QRect &secondarySubViewport) d_ptr->m_secondarySubViewport = intersectedViewport; d_ptr->updateGLSubViewports(); d_ptr->m_changeTracker.secondarySubViewportChanged = true; + d_ptr->m_sceneDirty = true; + emit secondarySubViewportChanged(intersectedViewport); emit d_ptr->needRender(); } @@ -265,6 +269,8 @@ void Q3DScene::setSelectionQueryPosition(const QPoint &point) if (point != d_ptr->m_selectionQueryPosition) { d_ptr->m_selectionQueryPosition = point; d_ptr->m_changeTracker.selectionQueryPositionChanged = true; + d_ptr->m_sceneDirty = true; + emit selectionQueryPositionChanged(point); emit d_ptr->needRender(); } @@ -300,6 +306,8 @@ void Q3DScene::setSlicingActive(bool isSlicing) if (d_ptr->m_isSlicingActive != isSlicing) { d_ptr->m_isSlicingActive = isSlicing; d_ptr->m_changeTracker.slicingActivatedChanged = true; + d_ptr->m_sceneDirty = true; + d_ptr->calculateSubViewports(); emit slicingActiveChanged(isSlicing); emit d_ptr->needRender(); @@ -322,6 +330,8 @@ void Q3DScene::setSecondarySubviewOnTop(bool isSecondaryOnTop) if (d_ptr->m_isSecondarySubviewOnTop != isSecondaryOnTop) { d_ptr->m_isSecondarySubviewOnTop = isSecondaryOnTop; d_ptr->m_changeTracker.subViewportOrderChanged = true; + d_ptr->m_sceneDirty = true; + emit secondarySubviewOnTopChanged(isSecondaryOnTop); emit d_ptr->needRender(); } @@ -359,6 +369,8 @@ void Q3DScene::setActiveCamera(Q3DCamera *camera) d_ptr->m_camera = camera; d_ptr->m_changeTracker.cameraChanged = true; + d_ptr->m_sceneDirty = true; + if (camera) { connect(camera, &Q3DCamera::xRotationChanged, d_ptr.data(), @@ -397,6 +409,8 @@ void Q3DScene::setActiveLight(Q3DLight *light) if (light != d_ptr->m_light) { d_ptr->m_light = light; d_ptr->m_changeTracker.lightChanged = true; + d_ptr->m_sceneDirty = true; + emit activeLightChanged(light); } } @@ -417,6 +431,8 @@ void Q3DScene::setDevicePixelRatio(float pixelRatio) if (d_ptr->m_devicePixelRatio != pixelRatio) { d_ptr->m_devicePixelRatio = pixelRatio; d_ptr->m_changeTracker.devicePixelRatioChanged = true; + d_ptr->m_sceneDirty = true; + emit devicePixelRatioChanged(pixelRatio); d_ptr->updateGLViewport(); emit d_ptr->needRender(); @@ -518,6 +534,9 @@ void Q3DScenePrivate::sync(Q3DScenePrivate &other) m_changeTracker.devicePixelRatioChanged = false; other.m_changeTracker.devicePixelRatioChanged = false; } + + m_sceneDirty = false; + other.m_sceneDirty = false; } void Q3DScenePrivate::setViewport(const QRect &viewport) @@ -553,6 +572,7 @@ void Q3DScenePrivate::setWindowSize(const QSize &size) m_windowSize = size; updateGLViewport(); m_changeTracker.windowSizeChanged = true; + m_sceneDirty = true; emit needRender(); } } @@ -568,9 +588,9 @@ void Q3DScenePrivate::calculateSubViewports() const float smallerViewPortRatio = 0.2f; if (m_isSlicingActive) { q_ptr->setPrimarySubViewport(QRect(0, - 0, - m_viewport.width() * smallerViewPortRatio, - m_viewport.height() * smallerViewPortRatio)); + 0, + m_viewport.width() * smallerViewPortRatio, + m_viewport.height() * smallerViewPortRatio)); q_ptr->setSecondarySubViewport(QRect(0, 0, m_viewport.width(), m_viewport.height())); } else { q_ptr->setPrimarySubViewport(QRect(0, 0, m_viewport.width(), m_viewport.height())); @@ -589,6 +609,7 @@ void Q3DScenePrivate::updateGLViewport() m_glViewport.setHeight(m_viewport.height() * m_devicePixelRatio); m_changeTracker.viewportChanged = true; + m_sceneDirty = true; // Do default subviewport changes first, then allow signal listeners to override. updateGLSubViewports(); diff --git a/src/datavisualization/engine/q3dscene.h b/src/datavisualization/engine/q3dscene.h index f57d3351..fb543cdb 100644 --- a/src/datavisualization/engine/q3dscene.h +++ b/src/datavisualization/engine/q3dscene.h @@ -104,6 +104,7 @@ private: friend class Surface3DRenderer; friend class Scatter3DRenderer; friend class Q3DCameraPrivate; + friend class Q3DObject; }; QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/engine/q3dscene_p.h b/src/datavisualization/engine/q3dscene_p.h index c9d9d1f6..94265568 100644 --- a/src/datavisualization/engine/q3dscene_p.h +++ b/src/datavisualization/engine/q3dscene_p.h @@ -107,6 +107,7 @@ public: QRect m_glViewport; QRect m_glPrimarySubViewport; QRect m_glSecondarySubViewport; + bool m_sceneDirty; }; QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 9973069b..3eee8ff0 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -1471,15 +1471,16 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) // Draw the selection label LabelItem &labelItem = selectedItem->selectionLabelItem(); if (m_selectedItem != selectedItem || m_updateLabels - || !labelItem.textureId()) { + || !labelItem.textureId() || m_selectionLabelDirty) { QString labelText = selectedItem->selectionLabel(); - if (labelText.isNull()) { + if (labelText.isNull() || m_selectionLabelDirty) { static const QString xTitleTag(QStringLiteral("@xTitle")); static const QString yTitleTag(QStringLiteral("@yTitle")); static const QString zTitleTag(QStringLiteral("@zTitle")); static const QString xLabelTag(QStringLiteral("@xLabel")); static const QString yLabelTag(QStringLiteral("@yLabel")); static const QString zLabelTag(QStringLiteral("@zLabel")); + static const QString seriesNameTag(QStringLiteral("@seriesName")); labelText = m_visibleSeriesList[m_selectedItemSeriesIndex].itemLabelFormat(); @@ -1511,8 +1512,10 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) selectedItem->position().z()); labelText.replace(zLabelTag, valueLabelText); } + labelText.replace(seriesNameTag, m_visibleSeriesList[m_selectedItemSeriesIndex].name()); selectedItem->setSelectionLabel(labelText); + m_selectionLabelDirty = false; } m_drawer->generateLabelItem(labelItem, labelText); m_selectedItem = selectedItem; diff --git a/src/datavisualization/engine/seriesrendercache.cpp b/src/datavisualization/engine/seriesrendercache.cpp index 7526ac03..cea0f7b1 100644 --- a/src/datavisualization/engine/seriesrendercache.cpp +++ b/src/datavisualization/engine/seriesrendercache.cpp @@ -164,6 +164,11 @@ void SeriesRenderCache::populate(QAbstract3DSeries *series, Abstract3DRenderer * renderer->fixGradientAndGenerateTexture(&gradient, &m_multiHighlightGradientTexture); changeTracker.multiHighlightGradientChanged = false; } + + if (seriesChanged || changeTracker.nameChanged) { + m_name = series->name(); + changeTracker.nameChanged = false; + } } void SeriesRenderCache::cleanup(TextureHelper *texHelper) diff --git a/src/datavisualization/engine/seriesrendercache_p.h b/src/datavisualization/engine/seriesrendercache_p.h index 906a6c0d..2bf7a1cc 100644 --- a/src/datavisualization/engine/seriesrendercache_p.h +++ b/src/datavisualization/engine/seriesrendercache_p.h @@ -61,6 +61,7 @@ public: inline const GLuint &singleHighlightGradientTexture() const { return m_singleHighlightGradientTexture; } inline const QVector3D &multiHighlightColor() const { return m_multiHighlightColor; } inline const GLuint &multiHighlightGradientTexture() const { return m_multiHighlightGradientTexture; } + inline const QString &name() const { return m_name; } protected: QAbstract3DSeries *m_series; @@ -75,6 +76,8 @@ protected: GLuint m_singleHighlightGradientTexture; QVector3D m_multiHighlightColor; GLuint m_multiHighlightGradientTexture; + + QString m_name; }; QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index b08558b2..f89233be 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -538,8 +538,8 @@ void Surface3DRenderer::updateScene(Q3DScene *scene) Abstract3DRenderer::updateScene(scene); - if (m_selectionPointer) { - m_selectionPointer->updateScene(m_cachedScene); + if (m_selectionPointer && m_selectionActive + && m_cachedSelectionMode.testFlag(QDataVis::SelectionItem)) { m_selectionDirty = true; // Ball may need repositioning if scene changes } @@ -1692,7 +1692,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) glUseProgram(0); // Selection handling - if (m_selectionDirty) { + if (m_selectionDirty || m_selectionLabelDirty) { QPoint visiblePoint = Surface3DController::invalidSelectionPosition(); if (m_selectedPoint != Surface3DController::invalidSelectionPosition()) { int x = m_selectedPoint.x() - m_sampleSpace.y(); @@ -1956,6 +1956,7 @@ QString Surface3DRenderer::createSelectionLabel(float value, int column, int row static const QString xLabelTag(QStringLiteral("@xLabel")); static const QString yLabelTag(QStringLiteral("@yLabel")); static const QString zLabelTag(QStringLiteral("@zLabel")); + static const QString seriesNameTag(QStringLiteral("@seriesName")); labelText.replace(xTitleTag, m_axisCacheX.title()); labelText.replace(yTitleTag, m_axisCacheY.title()); @@ -1985,6 +1986,11 @@ QString Surface3DRenderer::createSelectionLabel(float value, int column, int row labelText.replace(zLabelTag, valueLabelText); } + // TODO: Get from correct series once multiple series supported + labelText.replace(seriesNameTag, m_visibleSeriesList[0].name()); + + m_selectionLabelDirty = false; + return labelText; } -- cgit v1.2.3 From e1d3fe529ddce015f62cc7ca22c29e8950c9cd39 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 14 Jan 2014 12:03:24 +0200 Subject: Documentation additions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTRD-2735 Change-Id: I4b28ac2876ad025c262f861e7620aa4d6de6ff60 Reviewed-by: Tomi Korpipää --- src/datavisualization/data/qabstract3dseries.cpp | 17 ++++++++++++++ src/datavisualization/data/qbar3dseries.cpp | 2 ++ src/datavisualization/data/qscatter3dseries.cpp | 2 ++ src/datavisualization/data/qscatterdataitem.cpp | 10 +++++++++ src/datavisualization/data/qsurface3dseries.cpp | 2 ++ ...tdatavisualization-qml-abstractdeclarative.qdoc | 6 +++++ .../doc/src/qtdatavisualization.qdoc | 26 ++++++++++++++++++++++ src/datavisualization/engine/qabstract3dgraph.cpp | 6 +++++ 8 files changed, 71 insertions(+) (limited to 'src/datavisualization') diff --git a/src/datavisualization/data/qabstract3dseries.cpp b/src/datavisualization/data/qabstract3dseries.cpp index 1aa4a46d..1afb63c4 100644 --- a/src/datavisualization/data/qabstract3dseries.cpp +++ b/src/datavisualization/data/qabstract3dseries.cpp @@ -158,6 +158,15 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * \sa colorStyle */ +/*! + * \qmlproperty string Abstract3DSeries::name + * + * Sets the series name. + * Series name can be used in item label format with tag \c{@seriesName}. + * + * \sa itemLabelFormat + */ + /*! * \enum QAbstract3DSeries::SeriesType * @@ -488,6 +497,14 @@ QLinearGradient QAbstract3DSeries::multiHighlightGradient() const return d_ptr->m_multiHighlightGradient; } +/*! + * \property QAbstract3DSeries::name + * + * Sets the series name. + * Series name can be used in item label format with tag \c{@seriesName}. + * + * \sa itemLabelFormat + */ void QAbstract3DSeries::setName(const QString &name) { if (d_ptr->m_name != name) { diff --git a/src/datavisualization/data/qbar3dseries.cpp b/src/datavisualization/data/qbar3dseries.cpp index fea0b359..cdf9333a 100644 --- a/src/datavisualization/data/qbar3dseries.cpp +++ b/src/datavisualization/data/qbar3dseries.cpp @@ -53,6 +53,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * \li @valueLabel \li Item value formatted using the same format the value axis attached to the graph uses, * see \l{QValue3DAxis::setLabelFormat()} for more information. * \row + * \li @seriesName \li Name of the series + * \row * \li % \li Item value in specified format. * \endtable * diff --git a/src/datavisualization/data/qscatter3dseries.cpp b/src/datavisualization/data/qscatter3dseries.cpp index 5aa17ed3..10b2f84b 100644 --- a/src/datavisualization/data/qscatter3dseries.cpp +++ b/src/datavisualization/data/qscatter3dseries.cpp @@ -50,6 +50,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * \row * \li @zLabel \li Item value formatted using the same format the Z axis attached to the graph uses, * see \l{QValue3DAxis::setLabelFormat()} for more information. + * \row + * \li @seriesName \li Name of the series * \endtable * * For example: diff --git a/src/datavisualization/data/qscatterdataitem.cpp b/src/datavisualization/data/qscatterdataitem.cpp index 2c0c0d5a..18c67ee8 100644 --- a/src/datavisualization/data/qscatterdataitem.cpp +++ b/src/datavisualization/data/qscatterdataitem.cpp @@ -91,6 +91,16 @@ QScatterDataItem &QScatterDataItem::operator=(const QScatterDataItem &other) * \return position of this data item. */ +/*! + * \fn void QScatterDataItem::setRotation(const QQuaternion &rotation) + * Sets \a rotation to this data item. + */ + +/*! + * \fn QQuaternion QScatterDataItem::rotation() const + * \return rotation of this data item. + */ + /*! * \fn void QScatterDataItem::setX(float value) * Sets the X component of the item position to the \a value. diff --git a/src/datavisualization/data/qsurface3dseries.cpp b/src/datavisualization/data/qsurface3dseries.cpp index 25405959..74b0ca90 100644 --- a/src/datavisualization/data/qsurface3dseries.cpp +++ b/src/datavisualization/data/qsurface3dseries.cpp @@ -53,6 +53,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * \row * \li @zLabel \li Item value formatted using the same format as the Z axis attached to the graph uses, * see \l{QValue3DAxis::setLabelFormat()} for more information. + * \row + * \li @seriesName \li Name of the series * \endtable * * For example: diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc index 5ac6a03f..71be09a2 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc @@ -28,6 +28,12 @@ Note that this type is uncreatable, but contains properties that are shared between the 3D visualizations. + \note QML doesn't support the type of anti-aliasing used by Qt Data Visualization graphs + by default. Setting the \c antialiasing property doesn't affect graphs. To enable + anti-aliasing for graphs, a custom surface format must be set up for the QQuickView + before showing it. You can use the convenience function + \c{QtDataVisualization::qDefaultSurfaceFormat()} to create the custom surface format object. + \sa Bars3D, Scatter3D, Surface3D, {Qt Data Visualization C++ Classes} */ diff --git a/src/datavisualization/doc/src/qtdatavisualization.qdoc b/src/datavisualization/doc/src/qtdatavisualization.qdoc index 9c951877..d29de4f7 100644 --- a/src/datavisualization/doc/src/qtdatavisualization.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization.qdoc @@ -286,3 +286,29 @@ When multiple series are added to a graph, selecting an item in one of them will clear the selection on other series. */ + +/*! + * \fn QSurfaceFormat QtDataVisualization::qDefaultSurfaceFormat(bool antialias = true) + * \relates QAbstract3DGraph + * + * Anti-aliasing is turned on by default on C++ and turned off on QML, except in OpenGL ES2 + * environments, where anti-aliasing is not supported by Qt Data Visualization. + * This convenience function can be used to construct a suitable surface format for use by + * Qt Data Visualization graphs. + * The \a{antialias} parameter specifies whether or not anti-aliasing is activated. + * Give the surface format returned by this function to the graph constructor (C++) or set + * it as the window format for QQuickView (QML) before calling show on it. + * + * For example, disable anti-aliasing on C++ application: + * + * \code + * Q3DBars *graph = new Q3DBars(QtDataVisualization::qDefaultSurfaceFormat(false)); + * \endcode + * + * For example, enable anti-aliasing on QML application: + * + * \code + * QtQuick2ApplicationViewer viewer; + * viewer.setFormat(QtDataVisualization::qDefaultSurfaceFormat()); + * \endcode + */ diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index 01974e54..c7063438 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -41,6 +41,12 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * * You should not need to use this class directly, but one of its subclasses instead. * + * Anti-aliasing is turned on by default on C++, except in OpenGL ES2 + * environments, where anti-aliasing is not supported by Qt Data Visualization. + * To specify non-default anti-aliasing for a graph, give a custom surface format as + * a constructor parameter. You can use the convenience function \c{QtDataVisualization::qDefaultSurfaceFormat()} + * to create the surface format object. + * * \note QAbstract3DGraph sets window flag \c{Qt::FramelessWindowHint} on by default. If you want to display * graph windows as standalone windows with regular window frame, clear this flag after constructing * the graph. For example: -- cgit v1.2.3 From ca8eb71e320d08071f0f43393da3bb3fabf56da7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Tue, 14 Jan 2014 14:17:29 +0200 Subject: Slice view fixes + zero moves, grid doesn't + y-axis label moved closer to grid + label alignment changes Task-number: QTRD-2769 Task-number: QTRD-2738 Change-Id: Ie4d5a4c47472f1e61e02447847157c8ad8195c07 Change-Id: Ie4d5a4c47472f1e61e02447847157c8ad8195c07 Reviewed-by: Miikka Heikkinen --- src/datavisualization/engine/bars3drenderer.cpp | 124 ++++++++++++--------- src/datavisualization/engine/drawer.cpp | 69 +++++++----- src/datavisualization/engine/surface3drenderer.cpp | 4 +- 3 files changed, 117 insertions(+), 80 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 66a18e17..38e85499 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -283,7 +283,7 @@ void Bars3DRenderer::drawSlicedScene() // Set up projection matrix QMatrix4x4 projectionMatrix; - projectionMatrix.perspective(40.0f, (GLfloat)m_secondarySubViewport.width() + projectionMatrix.perspective(35.0f, (GLfloat)m_secondarySubViewport.width() / (GLfloat)m_secondarySubViewport.height(), 0.1f, 100.0f); // Set view matrix @@ -300,17 +300,20 @@ void Bars3DRenderer::drawSlicedScene() const Q3DCamera *activeCamera = m_cachedScene->activeCamera(); // Draw the selected row / column - GLfloat barPosYAdjustment = -0.8f; // Positives only -> translate to -1.0 + 0.2 for row/column labels - if (m_hasNegativeValues) { - if (m_noZeroInRange) - barPosYAdjustment = 1.2f; // Negatives only -> translate to 1.0 + 0.2 for row/column labels - else - barPosYAdjustment = 0.2f; // Both -> translate to 0.0 + 0.2 for row/column labels - } QMatrix4x4 projectionViewMatrix = projectionMatrix * viewMatrix; bool rowMode = m_cachedSelectionMode.testFlag(QDataVis::SelectionRow); bool itemMode = m_cachedSelectionMode.testFlag(QDataVis::SelectionItem); + GLfloat barPosYAdjustment = -0.8f; // Translate to -1.0 + 0.2 for row/column labels + GLfloat scaleFactor = 0.0f; + // TODO: When doing this correctly (QTRD-2125), use label dimensions instead of magic number + GLfloat barLabelYPos = barPosYAdjustment - 0.4f - labelMargin; // 0.4 for labels + GLfloat zeroPosAdjustment = 0.0f; + if (!m_noZeroInRange) + zeroPosAdjustment = 2.0f * m_axisCacheY.min() / m_heightNormalizer; + else if (m_hasNegativeValues) + zeroPosAdjustment = -2.0f; + // Draw grid lines if (m_cachedTheme->isGridEnabled()) { glDisable(GL_DEPTH_TEST); @@ -323,24 +326,19 @@ void Bars3DRenderer::drawSlicedScene() lineShader->setUniformValue(lineShader->lightP(), lightPos); lineShader->setUniformValue(lineShader->view(), viewMatrix); lineShader->setUniformValue(lineShader->color(), lineColor); - lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme->ambientLightStrength() * 2.3f); + lineShader->setUniformValue(lineShader->ambientS(), + m_cachedTheme->ambientLightStrength() * 2.3f); lineShader->setUniformValue(lineShader->lightS(), 0.0f); - GLfloat scaleFactor = 0.0f; if (rowMode) scaleFactor = (1.1f * m_rowWidth) / m_scaleFactor; else scaleFactor = (1.1f * m_columnDepth) / m_scaleFactor; - GLfloat startLine = 0.0f; - if (m_noZeroInRange) - startLine = 2.0f * (m_axisCacheY.min() - m_axisCacheY.max()) / m_heightNormalizer; - else - startLine = 2.0f * m_axisCacheY.min() / m_heightNormalizer; - GLfloat gridStep = (2.0f * m_axisCacheY.subSegmentStep()) / m_heightNormalizer; - GLfloat gridPos = startLine + barPosYAdjustment; + GLfloat gridPos = barPosYAdjustment; int lastSegment = m_axisCacheY.subSegmentCount() * m_axisCacheY.segmentCount(); + // Use the position of the bottom grid line as the base y position for bar labels // Horizontal lines if (m_axisCacheY.segmentCount() > 0) { @@ -365,7 +363,8 @@ void Bars3DRenderer::drawSlicedScene() // Draw the object m_drawer->drawObject(lineShader, m_gridLineObj); - if (gridPos == barPosYAdjustment) + // Check if we have a line at zero position already + if (gridPos == (barPosYAdjustment + zeroPosAdjustment)) noZero = false; gridPos += gridStep; @@ -373,7 +372,7 @@ void Bars3DRenderer::drawSlicedScene() // Draw a line at zero, if none exists if (!m_noZeroInRange && noZero) { QMatrix4x4 modelMatrix; - modelMatrix.translate(0.0f, barPosYAdjustment, 0.0f); + modelMatrix.translate(0.0f, barPosYAdjustment - zeroPosAdjustment, 0.0f); modelMatrix.scale(gridLineScale); itModelMatrix = modelMatrix; MVPMatrix = projectionViewMatrix * modelMatrix; @@ -404,7 +403,7 @@ void Bars3DRenderer::drawSlicedScene() int labelNbr = 0; int labelCount = m_axisCacheY.labels().size(); gridStep = (2.0f * m_axisCacheY.segmentStep()) / m_heightNormalizer; - gridPos = startLine + barPosYAdjustment; + gridPos = barPosYAdjustment; QVector3D backLabelRotation(0.0f, 0.0f, 0.0f); QVector3D labelTrans = QVector3D(scaleFactor + labelMargin, 0.0f, 0.0f); @@ -511,7 +510,7 @@ void Bars3DRenderer::drawSlicedScene() QMatrix4x4 modelMatrix; QMatrix4x4 itModelMatrix; GLfloat barRotation = 0.0f; - GLfloat barPosY = item->translation().y() + barPosYAdjustment; + GLfloat barPosY = item->translation().y() + barPosYAdjustment - zeroPosAdjustment; if (rowMode) { barPosX = item->translation().x(); @@ -578,14 +577,26 @@ void Bars3DRenderer::drawSlicedScene() QVector3D positionComp(0.0f, m_autoScaleAdjustment, 0.0f); // Draw labels for bars - QVector3D valuePositionComp = zeroVector; - if (!m_hasNegativeValues) - valuePositionComp.setY(2.0f); - else if (m_noZeroInRange) - valuePositionComp.setY(-2.0f); QVector3D sliceValueRotation(0.0f, 0.0f, 90.0f); QVector3D sliceLabelRotation(0.0f, 0.0f, -45.0f); + int lastLabel = m_sliceCache->labelItems().size() - 1; + + for (int labelNo = 0; labelNo <= lastLabel; labelNo++) { + // Get labels from first series only + BarRenderItem *item = m_sliceSelection.at(labelNo); + m_dummyBarRenderItem.setTranslation(QVector3D(item->translation().x(), + barLabelYPos, + item->translation().z())); + // TODO: Make user controllable (QTRD-2546) + // Draw labels + m_drawer->drawLabel(m_dummyBarRenderItem, *m_sliceCache->labelItems().at(labelNo), + viewMatrix, projectionMatrix, positionComp, sliceLabelRotation, + 0, m_cachedSelectionMode, m_labelShader, + m_labelObj, activeCamera, false, false, Drawer::LabelMid, + Qt::AlignRight, true); + } + for (int col = 0; col < sliceItemCount; col++) { BarRenderItem *item = m_sliceSelection.at(col); @@ -595,13 +606,22 @@ void Bars3DRenderer::drawSlicedScene() if (item->height() != 0.0f || (!m_noZeroInRange && item->value() == 0.0f)) { // Create label texture if we need it if (item->sliceLabel().isNull()) { - item->setSliceLabel(generateValueLabel(m_axisCacheY.labelFormat(), item->value())); + item->setSliceLabel(generateValueLabel(m_axisCacheY.labelFormat(), + item->value())); m_drawer->generateLabelItem(item->sliceLabelItem(), item->sliceLabel()); } - m_drawer->drawLabel(*item, item->sliceLabelItem(), viewMatrix, projectionMatrix, - valuePositionComp, sliceValueRotation, item->height(), - m_cachedSelectionMode, m_labelShader, m_labelObj, activeCamera, - false, false, Drawer::LabelOver, Qt::AlignTop, true); + Qt::AlignmentFlag alignment = (item->height() < 0) ? Qt::AlignBottom : Qt::AlignTop; + Drawer::LabelPosition labelPos = (item->height() < 0) ? Drawer::LabelBelow : Drawer::LabelOver; + m_dummyBarRenderItem.setTranslation(QVector3D(item->translation().x(), + barPosYAdjustment - zeroPosAdjustment + + item->height(), + item->translation().z())); + + m_drawer->drawLabel(m_dummyBarRenderItem, item->sliceLabelItem(), viewMatrix, + projectionMatrix, zeroVector, sliceValueRotation, + item->height(), m_cachedSelectionMode, m_labelShader, + m_labelObj, activeCamera, false, false, labelPos, + alignment, true); } } else { // Only draw value for selected item when grid labels are on @@ -612,31 +632,26 @@ void Bars3DRenderer::drawSlicedScene() && item->seriesIndex() == m_visualSelectedBarSeriesIndex) { // Create label texture if we need it if (item->sliceLabel().isNull()) { - item->setSliceLabel(generateValueLabel(m_axisCacheY.labelFormat(), item->value())); + item->setSliceLabel(generateValueLabel(m_axisCacheY.labelFormat(), + item->value())); m_drawer->generateLabelItem(item->sliceLabelItem(), item->sliceLabel()); } - m_drawer->drawLabel(*item, item->sliceLabelItem(), viewMatrix, projectionMatrix, - valuePositionComp, sliceValueRotation, item->height(), - m_cachedSelectionMode, m_labelShader, m_labelObj, activeCamera, - false, false, Drawer::LabelOver, Qt::AlignTop, true); + Qt::AlignmentFlag alignment = (item->height() < 0) ? Qt::AlignBottom : Qt::AlignTop; + Drawer::LabelPosition labelPos = (item->height() < 0) ? Drawer::LabelBelow : Drawer::LabelOver; + m_dummyBarRenderItem.setTranslation(QVector3D(item->translation().x(), + barPosYAdjustment - zeroPosAdjustment + + item->height(), + item->translation().z())); + + m_drawer->drawLabel(m_dummyBarRenderItem, item->sliceLabelItem(), viewMatrix, + projectionMatrix, zeroVector, sliceValueRotation, + item->height(), m_cachedSelectionMode, m_labelShader, + m_labelObj, activeCamera, false, false, labelPos, + alignment, true); } } } - int lastLabel = m_sliceCache->labelItems().size() - 1; - - for (int labelNo = 0; labelNo <= lastLabel; labelNo++) { - // Get labels from first series only - BarRenderItem *item = m_sliceSelection.at(labelNo); - // TODO: Make user controllable (QTRD-2546) - // Draw labels - m_drawer->drawLabel(*item, *m_sliceCache->labelItems().at(labelNo), viewMatrix, - projectionMatrix, positionComp, sliceLabelRotation, - item->height(), m_cachedSelectionMode, m_labelShader, - m_labelObj, activeCamera, false, false, Drawer::LabelBelow, - Qt::AlignCenter, true); - } - // TODO: Make user controllable (QTRD-2546) // Draw labels for axes if (rowMode) { @@ -662,10 +677,13 @@ void Bars3DRenderer::drawSlicedScene() Qt::AlignCenter, true); } } - m_drawer->drawLabel(*dummyItem, m_axisCacheY.titleItem(), viewMatrix, projectionMatrix, - positionComp, QVector3D(0.0f, 0.0f, 90.0f), 0, + // Y-axis label + QVector3D labelTrans = QVector3D(-scaleFactor - labelMargin, 0.2f, 0.0f); // y = 0.2 for row/column labels (see barPosYAdjustment) + m_dummyBarRenderItem.setTranslation(labelTrans); + m_drawer->drawLabel(m_dummyBarRenderItem, m_axisCacheY.titleItem(), viewMatrix, + projectionMatrix, zeroVector, QVector3D(0.0f, 0.0f, 90.0f), 0, m_cachedSelectionMode, m_labelShader, m_labelObj, activeCamera, - false, false, Drawer::LabelLeft, Qt::AlignCenter, true); + false, false, Drawer::LabelMid, Qt::AlignHCenter); glDisable(GL_TEXTURE_2D); glDisable(GL_BLEND); diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index f78b2d29..c9db4563 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -223,7 +223,7 @@ void Drawer::drawLabel(const AbstractRenderItem &item, const LabelItem &labelIte switch (position) { case LabelBelow: { - yPosition = -2.6f + positionComp.y(); // minus maximum negative height (+ some extra for axis title label) + yPosition = item.translation().y() - (positionComp.y() / 2.0f) + itemHeight - 0.1f; break; } case LabelLow: { @@ -241,30 +241,27 @@ void Drawer::drawLabel(const AbstractRenderItem &item, const LabelItem &labelIte break; } case LabelOver: { - float mod = 0.3f; - if (itemHeight < 0) - mod = 0.15f; - yPosition = item.translation().y() - (positionComp.y() / 2.0f) + itemHeight + mod; + yPosition = item.translation().y() - (positionComp.y() / 2.0f) + itemHeight + 0.1f; break; } case LabelBottom: { - yPosition = -2.95f + positionComp.y(); + yPosition = -2.75f + positionComp.y(); xPosition = 0.0f; break; } case LabelTop: { - yPosition = 2.95f - positionComp.y(); + yPosition = 2.75f - positionComp.y(); xPosition = 0.0f; break; } case LabelLeft: { yPosition = 0.0f; - xPosition = -2.95f; + xPosition = -2.75f; break; } case LabelRight: { yPosition = 0.0f; - xPosition = 2.95f; + xPosition = 2.75f; break; } } @@ -277,33 +274,55 @@ void Drawer::drawLabel(const AbstractRenderItem &item, const LabelItem &labelIte GLfloat xAlignment = 0.0f; GLfloat yAlignment = 0.0f; GLfloat zAlignment = 0.0f; + GLfloat sinRotY = qFabs(qSin(qDegreesToRadians(rotation.y()))); + GLfloat cosRotY = qFabs(qCos(qDegreesToRadians(rotation.y()))); + GLfloat sinRotZ = 0.0f; + GLfloat cosRotZ = 0.0f; + if (rotation.z()) { + sinRotZ = qFabs(qSin(qDegreesToRadians(rotation.z()))); + cosRotZ = qFabs(qCos(qDegreesToRadians(rotation.z()))); + } switch (alignment) { case Qt::AlignLeft: { - xAlignment = (-(GLfloat)textureSize.width() * scaleFactor) - * qFabs(qCos(qDegreesToRadians(rotation.y()))); - zAlignment = ((GLfloat)textureSize.width() * scaleFactor) - * qFabs(qSin(qDegreesToRadians(rotation.y()))); + if (rotation.z() && rotation.z() != 180.0f && !rotation.y()) { + xAlignment = ((-(GLfloat)textureSize.width() * scaleFactor) * cosRotZ + - ((GLfloat)textureSize.height() * scaleFactor) * sinRotZ) / 2.0f; + yAlignment = (((GLfloat)textureSize.width() * scaleFactor) * sinRotZ + + ((GLfloat)textureSize.height() * scaleFactor) * cosRotZ) / 2.0f; + } else { + xAlignment = (-(GLfloat)textureSize.width() * scaleFactor) * cosRotY; + zAlignment = ((GLfloat)textureSize.width() * scaleFactor) * sinRotY; + } break; } case Qt::AlignRight: { - xAlignment = ((GLfloat)textureSize.width() * scaleFactor) - * qFabs(qCos(qDegreesToRadians(rotation.y()))); - zAlignment = (-(GLfloat)textureSize.width() * scaleFactor) - * qFabs(qSin(qDegreesToRadians(rotation.y()))); + if (rotation.z() && rotation.z() != 180.0f && !rotation.y()) { + xAlignment = (((GLfloat)textureSize.width() * scaleFactor) * cosRotZ + + ((GLfloat)textureSize.height() * scaleFactor) * sinRotZ) / 2.0f; + yAlignment = (((GLfloat)textureSize.width() * scaleFactor) * sinRotZ + + ((GLfloat)textureSize.height() * scaleFactor) * cosRotZ) / 2.0f; + } else { + xAlignment = ((GLfloat)textureSize.width() * scaleFactor) * cosRotY; + zAlignment = (-(GLfloat)textureSize.width() * scaleFactor) * sinRotY; + } break; } case Qt::AlignTop: { - yAlignment = ((GLfloat)textureSize.width() * scaleFactor) - * qFabs(qCos(qDegreesToRadians(rotation.y()))); - if (itemHeight < 0) - yAlignment = -yAlignment; + yAlignment = ((GLfloat)textureSize.width() * scaleFactor) * cosRotY; break; } case Qt::AlignBottom: { - yAlignment = (-(GLfloat)textureSize.width() * scaleFactor) - * qFabs(qCos(qDegreesToRadians(rotation.y()))); - if (itemHeight < 0) - yAlignment = -yAlignment; + yAlignment = (-(GLfloat)textureSize.width() * scaleFactor) * cosRotY; + break; + } + case Qt::AlignHCenter: { + xAlignment = (-(GLfloat)textureSize.width() * scaleFactor) * cosRotZ + - ((GLfloat)textureSize.height() * scaleFactor) * sinRotZ; + break; + } + case Qt::AlignVCenter: { + yAlignment = ((GLfloat)textureSize.width() * scaleFactor) * cosRotZ + + ((GLfloat)textureSize.height() * scaleFactor) * sinRotZ; break; } default: { diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index f89233be..aac74d0f 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -795,7 +795,7 @@ void Surface3DRenderer::drawSlicedScene() } labelNbr = 0; - positionComp.setY(backgroundMargin); + positionComp.setY(-0.1f); rotation.setZ(-45.0f); labelTrans.setY(-backgroundMargin); for (int segment = 0; segment <= lastSegment; segment++) { @@ -814,7 +814,7 @@ void Surface3DRenderer::drawSlicedScene() m_drawer->drawLabel(m_dummyRenderItem, *axisLabelItem, viewMatrix, projectionMatrix, positionComp, rotation, 0, QDataVis::SelectionRow, m_labelShader, m_labelObj, m_cachedScene->activeCamera(), - false, false, Drawer::LabelBelow, Qt::AlignTop, true); + false, false, Drawer::LabelBelow, Qt::AlignBottom, true); } labelNbr++; labelPos += posStep; -- cgit v1.2.3 From 64d6b482bfb9dbacd548b72cb9c073513f6aa56f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Wed, 15 Jan 2014 11:34:59 +0200 Subject: Removed QDataVis and namespace macros - docs will be fixed in QTRD-2594 Task-number: QTRD-2699 Task-number: QTRD-2700 Change-Id: Ia89d365c2de5d9254b165feb4f0a54ec099084be Reviewed-by: Miikka Heikkinen --- src/datavisualization/axis/qabstract3daxis.cpp | 4 +- src/datavisualization/axis/qabstract3daxis.h | 7 +- src/datavisualization/axis/qabstract3daxis_p.h | 4 +- src/datavisualization/axis/qcategory3daxis.cpp | 4 +- src/datavisualization/axis/qcategory3daxis.h | 4 +- src/datavisualization/axis/qcategory3daxis_p.h | 4 +- src/datavisualization/axis/qvalue3daxis.cpp | 4 +- src/datavisualization/axis/qvalue3daxis.h | 4 +- src/datavisualization/axis/qvalue3daxis_p.h | 4 +- .../data/abstractitemmodelhandler.cpp | 4 +- .../data/abstractitemmodelhandler_p.h | 4 +- src/datavisualization/data/abstractrenderitem.cpp | 4 +- src/datavisualization/data/abstractrenderitem_p.h | 4 +- src/datavisualization/data/baritemmodelhandler.cpp | 4 +- src/datavisualization/data/baritemmodelhandler_p.h | 4 +- src/datavisualization/data/barrenderitem.cpp | 4 +- src/datavisualization/data/barrenderitem_p.h | 4 +- src/datavisualization/data/labelitem.cpp | 4 +- src/datavisualization/data/labelitem_p.h | 4 +- src/datavisualization/data/qabstract3dseries.cpp | 4 +- src/datavisualization/data/qabstract3dseries.h | 5 +- src/datavisualization/data/qabstract3dseries_p.h | 4 +- src/datavisualization/data/qabstractdataproxy.cpp | 4 +- src/datavisualization/data/qabstractdataproxy.h | 7 +- src/datavisualization/data/qabstractdataproxy_p.h | 4 +- src/datavisualization/data/qbar3dseries.cpp | 4 +- src/datavisualization/data/qbar3dseries.h | 4 +- src/datavisualization/data/qbar3dseries_p.h | 4 +- src/datavisualization/data/qbardataitem.cpp | 4 +- src/datavisualization/data/qbardataitem.h | 6 +- src/datavisualization/data/qbardataitem_p.h | 4 +- src/datavisualization/data/qbardataproxy.cpp | 4 +- src/datavisualization/data/qbardataproxy.h | 4 +- src/datavisualization/data/qbardataproxy_p.h | 4 +- .../data/qheightmapsurfacedataproxy.cpp | 4 +- .../data/qheightmapsurfacedataproxy.h | 4 +- .../data/qheightmapsurfacedataproxy_p.h | 4 +- .../data/qitemmodelbardataproxy.cpp | 4 +- .../data/qitemmodelbardataproxy.h | 4 +- .../data/qitemmodelbardataproxy_p.h | 4 +- .../data/qitemmodelscatterdataproxy.cpp | 4 +- .../data/qitemmodelscatterdataproxy.h | 4 +- .../data/qitemmodelscatterdataproxy_p.h | 4 +- .../data/qitemmodelsurfacedataproxy.cpp | 4 +- .../data/qitemmodelsurfacedataproxy.h | 4 +- .../data/qitemmodelsurfacedataproxy_p.h | 4 +- src/datavisualization/data/qscatter3dseries.cpp | 4 +- src/datavisualization/data/qscatter3dseries.h | 4 +- src/datavisualization/data/qscatter3dseries_p.h | 4 +- src/datavisualization/data/qscatterdataitem.cpp | 4 +- src/datavisualization/data/qscatterdataitem.h | 5 +- src/datavisualization/data/qscatterdataitem_p.h | 4 +- src/datavisualization/data/qscatterdataproxy.cpp | 4 +- src/datavisualization/data/qscatterdataproxy.h | 4 +- src/datavisualization/data/qscatterdataproxy_p.h | 4 +- src/datavisualization/data/qsurface3dseries.cpp | 4 +- src/datavisualization/data/qsurface3dseries.h | 6 +- src/datavisualization/data/qsurface3dseries_p.h | 4 +- src/datavisualization/data/qsurfacedataitem.cpp | 4 +- src/datavisualization/data/qsurfacedataitem.h | 5 +- src/datavisualization/data/qsurfacedataitem_p.h | 4 +- src/datavisualization/data/qsurfacedataproxy.cpp | 4 +- src/datavisualization/data/qsurfacedataproxy.h | 4 +- src/datavisualization/data/qsurfacedataproxy_p.h | 4 +- .../data/scatteritemmodelhandler.cpp | 4 +- .../data/scatteritemmodelhandler_p.h | 4 +- src/datavisualization/data/scatterrenderitem.cpp | 4 +- src/datavisualization/data/scatterrenderitem_p.h | 4 +- .../data/surfaceitemmodelhandler.cpp | 4 +- .../data/surfaceitemmodelhandler_p.h | 4 +- .../doc/src/qtdatavisualization.qdoc | 11 +++ .../engine/abstract3dcontroller.cpp | 20 ++--- .../engine/abstract3dcontroller_p.h | 22 +++--- .../engine/abstract3drenderer.cpp | 46 ++++++----- .../engine/abstract3drenderer_p.h | 14 ++-- src/datavisualization/engine/axisrendercache.cpp | 4 +- src/datavisualization/engine/axisrendercache_p.h | 4 +- src/datavisualization/engine/bars3dcontroller.cpp | 18 ++--- src/datavisualization/engine/bars3dcontroller_p.h | 6 +- src/datavisualization/engine/bars3drenderer.cpp | 64 +++++++-------- src/datavisualization/engine/bars3drenderer_p.h | 6 +- src/datavisualization/engine/drawer.cpp | 9 +-- src/datavisualization/engine/drawer_p.h | 6 +- src/datavisualization/engine/q3dbars.cpp | 4 +- src/datavisualization/engine/q3dbars.h | 5 +- src/datavisualization/engine/q3dbars_p.h | 5 +- src/datavisualization/engine/q3dbox.cpp | 4 +- src/datavisualization/engine/q3dbox.h | 5 +- src/datavisualization/engine/q3dcamera.cpp | 4 +- src/datavisualization/engine/q3dcamera.h | 4 +- src/datavisualization/engine/q3dcamera_p.h | 4 +- src/datavisualization/engine/q3dlight.cpp | 4 +- src/datavisualization/engine/q3dlight.h | 4 +- src/datavisualization/engine/q3dlight_p.h | 4 +- src/datavisualization/engine/q3dobject.cpp | 4 +- src/datavisualization/engine/q3dobject.h | 5 +- src/datavisualization/engine/q3dobject_p.h | 4 +- src/datavisualization/engine/q3dscatter.cpp | 4 +- src/datavisualization/engine/q3dscatter.h | 5 +- src/datavisualization/engine/q3dscatter_p.h | 5 +- src/datavisualization/engine/q3dscene.cpp | 4 +- src/datavisualization/engine/q3dscene.h | 7 +- src/datavisualization/engine/q3dscene_p.h | 4 +- src/datavisualization/engine/q3dsurface.cpp | 4 +- src/datavisualization/engine/q3dsurface.h | 5 +- src/datavisualization/engine/q3dsurface_p.h | 5 +- src/datavisualization/engine/qabstract3dgraph.cpp | 77 +++++++++++++++--- src/datavisualization/engine/qabstract3dgraph.h | 53 +++++++++---- src/datavisualization/engine/qabstract3dgraph_p.h | 4 +- .../engine/scatter3dcontroller.cpp | 8 +- .../engine/scatter3dcontroller_p.h | 6 +- src/datavisualization/engine/scatter3drenderer.cpp | 44 +++++------ src/datavisualization/engine/scatter3drenderer_p.h | 6 +- src/datavisualization/engine/selectionpointer.cpp | 4 +- src/datavisualization/engine/selectionpointer_p.h | 4 +- src/datavisualization/engine/seriesrendercache.cpp | 4 +- src/datavisualization/engine/seriesrendercache_p.h | 4 +- .../engine/surface3dcontroller.cpp | 24 +++--- .../engine/surface3dcontroller_p.h | 9 ++- src/datavisualization/engine/surface3drenderer.cpp | 64 +++++++-------- src/datavisualization/engine/surface3drenderer_p.h | 6 +- .../global/datavisualizationglobal_p.h | 5 +- src/datavisualization/global/global.pri | 1 - .../global/qdatavisualizationenums.h | 63 --------------- .../global/qdatavisualizationglobal.h | 12 --- .../global/qtdatavisualizationenums.qdoc | 90 ---------------------- src/datavisualization/input/q3dinputhandler.cpp | 4 +- src/datavisualization/input/q3dinputhandler.h | 4 +- src/datavisualization/input/q3dinputhandler_p.h | 4 +- .../input/qabstract3dinputhandler.cpp | 4 +- .../input/qabstract3dinputhandler.h | 5 +- .../input/qabstract3dinputhandler_p.h | 4 +- .../input/qtouch3dinputhandler.cpp | 4 +- src/datavisualization/input/qtouch3dinputhandler.h | 4 +- .../input/qtouch3dinputhandler_p.h | 4 +- src/datavisualization/theme/q3dtheme.cpp | 20 ++--- src/datavisualization/theme/q3dtheme.h | 7 +- src/datavisualization/theme/q3dtheme_p.h | 4 +- src/datavisualization/theme/thememanager.cpp | 4 +- src/datavisualization/theme/thememanager_p.h | 4 +- .../utils/abstractobjecthelper.cpp | 4 +- .../utils/abstractobjecthelper_p.h | 4 +- src/datavisualization/utils/camerahelper.cpp | 4 +- src/datavisualization/utils/camerahelper_p.h | 4 +- src/datavisualization/utils/meshloader.cpp | 4 +- src/datavisualization/utils/meshloader_p.h | 4 +- src/datavisualization/utils/objecthelper.cpp | 4 +- src/datavisualization/utils/objecthelper_p.h | 4 +- src/datavisualization/utils/shaderhelper.cpp | 4 +- src/datavisualization/utils/shaderhelper_p.h | 4 +- src/datavisualization/utils/surfaceobject.cpp | 4 +- src/datavisualization/utils/surfaceobject_p.h | 4 +- src/datavisualization/utils/texturehelper.cpp | 4 +- src/datavisualization/utils/texturehelper_p.h | 4 +- src/datavisualization/utils/utils.cpp | 4 +- src/datavisualization/utils/utils_p.h | 4 +- src/datavisualization/utils/vertexindexer.cpp | 4 +- src/datavisualization/utils/vertexindexer_p.h | 4 +- 158 files changed, 588 insertions(+), 674 deletions(-) delete mode 100644 src/datavisualization/global/qdatavisualizationenums.h delete mode 100644 src/datavisualization/global/qtdatavisualizationenums.qdoc (limited to 'src/datavisualization') diff --git a/src/datavisualization/axis/qabstract3daxis.cpp b/src/datavisualization/axis/qabstract3daxis.cpp index 5f1121c4..d2c0f6e8 100644 --- a/src/datavisualization/axis/qabstract3daxis.cpp +++ b/src/datavisualization/axis/qabstract3daxis.cpp @@ -19,7 +19,7 @@ #include "qabstract3daxis.h" #include "qabstract3daxis_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QAbstract3DAxis @@ -401,4 +401,4 @@ void QAbstract3DAxisPrivate::setMax(float max) } } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/axis/qabstract3daxis.h b/src/datavisualization/axis/qabstract3daxis.h index ef9f9c78..c85e50d0 100644 --- a/src/datavisualization/axis/qabstract3daxis.h +++ b/src/datavisualization/axis/qabstract3daxis.h @@ -19,13 +19,14 @@ #ifndef QABSTRACT3DAXIS_H #define QABSTRACT3DAXIS_H -#include +#include + #include #include #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QAbstract3DAxisPrivate; @@ -102,6 +103,6 @@ private: friend class Bars3DController; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/axis/qabstract3daxis_p.h b/src/datavisualization/axis/qabstract3daxis_p.h index da6964ad..4403cc16 100644 --- a/src/datavisualization/axis/qabstract3daxis_p.h +++ b/src/datavisualization/axis/qabstract3daxis_p.h @@ -33,7 +33,7 @@ #ifndef QABSTRACT3DAXIS_P_H #define QABSTRACT3DAXIS_P_H -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QAbstract3DAxisPrivate : public QObject { @@ -72,6 +72,6 @@ protected: friend class QCategory3DAxis; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/axis/qcategory3daxis.cpp b/src/datavisualization/axis/qcategory3daxis.cpp index b5999aaa..0a0cc2e8 100644 --- a/src/datavisualization/axis/qcategory3daxis.cpp +++ b/src/datavisualization/axis/qcategory3daxis.cpp @@ -21,7 +21,7 @@ #include "bars3dcontroller_p.h" #include "qbardataproxy.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QCategory3DAxis @@ -153,4 +153,4 @@ QCategory3DAxis *QCategory3DAxisPrivate::qptr() return static_cast(q_ptr); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/axis/qcategory3daxis.h b/src/datavisualization/axis/qcategory3daxis.h index fdedf795..2d3235b4 100644 --- a/src/datavisualization/axis/qcategory3daxis.h +++ b/src/datavisualization/axis/qcategory3daxis.h @@ -21,7 +21,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QCategory3DAxisPrivate; @@ -48,6 +48,6 @@ private: friend class Bars3DController; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/axis/qcategory3daxis_p.h b/src/datavisualization/axis/qcategory3daxis_p.h index dfcc9961..6449e999 100644 --- a/src/datavisualization/axis/qcategory3daxis_p.h +++ b/src/datavisualization/axis/qcategory3daxis_p.h @@ -33,7 +33,7 @@ #ifndef QCATEGORY3DAXIS_P_H #define QCATEGORY3DAXIS_P_H -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QCategory3DAxisPrivate : public QAbstract3DAxisPrivate { @@ -52,6 +52,6 @@ private: friend class QCategory3DAxis; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/axis/qvalue3daxis.cpp b/src/datavisualization/axis/qvalue3daxis.cpp index a88a9ef5..b34d7511 100644 --- a/src/datavisualization/axis/qvalue3daxis.cpp +++ b/src/datavisualization/axis/qvalue3daxis.cpp @@ -20,7 +20,7 @@ #include "qvalue3daxis_p.h" #include "utils_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QValue3DAxis @@ -267,4 +267,4 @@ QValue3DAxis *QValue3DAxisPrivate::qptr() return static_cast(q_ptr); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/axis/qvalue3daxis.h b/src/datavisualization/axis/qvalue3daxis.h index 3bdeb678..c842167c 100644 --- a/src/datavisualization/axis/qvalue3daxis.h +++ b/src/datavisualization/axis/qvalue3daxis.h @@ -21,7 +21,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QValue3DAxisPrivate; @@ -60,6 +60,6 @@ private: friend class Surface3DController; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/axis/qvalue3daxis_p.h b/src/datavisualization/axis/qvalue3daxis_p.h index 508453e8..08dab486 100644 --- a/src/datavisualization/axis/qvalue3daxis_p.h +++ b/src/datavisualization/axis/qvalue3daxis_p.h @@ -32,7 +32,7 @@ #ifndef QVALUE3DAXIS_P_H #define QVALUE3DAXIS_P_H -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QValue3DAxisPrivate : public QAbstract3DAxisPrivate { @@ -61,6 +61,6 @@ private: friend class QValue3DAxis; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/abstractitemmodelhandler.cpp b/src/datavisualization/data/abstractitemmodelhandler.cpp index 41f520a4..6cae79c8 100644 --- a/src/datavisualization/data/abstractitemmodelhandler.cpp +++ b/src/datavisualization/data/abstractitemmodelhandler.cpp @@ -19,7 +19,7 @@ #include "abstractitemmodelhandler_p.h" #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { AbstractItemModelHandler::AbstractItemModelHandler(QObject *parent) : QObject(parent), @@ -196,4 +196,4 @@ void AbstractItemModelHandler::handlePendingResolve() resolveModel(); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/abstractitemmodelhandler_p.h b/src/datavisualization/data/abstractitemmodelhandler_p.h index b4d55b4a..6771dcc8 100644 --- a/src/datavisualization/data/abstractitemmodelhandler_p.h +++ b/src/datavisualization/data/abstractitemmodelhandler_p.h @@ -34,7 +34,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class AbstractItemModelHandler : public QObject { @@ -79,6 +79,6 @@ private: Q_DISABLE_COPY(AbstractItemModelHandler) }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/abstractrenderitem.cpp b/src/datavisualization/data/abstractrenderitem.cpp index 22a1c6de..268c1e9b 100644 --- a/src/datavisualization/data/abstractrenderitem.cpp +++ b/src/datavisualization/data/abstractrenderitem.cpp @@ -18,7 +18,7 @@ #include "abstractrenderitem_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { AbstractRenderItem::AbstractRenderItem() : m_selectionLabelItem(0) @@ -57,4 +57,4 @@ QString &AbstractRenderItem::selectionLabel() } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/abstractrenderitem_p.h b/src/datavisualization/data/abstractrenderitem_p.h index ca71c0b0..15860933 100644 --- a/src/datavisualization/data/abstractrenderitem_p.h +++ b/src/datavisualization/data/abstractrenderitem_p.h @@ -37,7 +37,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class AbstractRenderItem { @@ -65,6 +65,6 @@ protected: friend class QAbstractDataItem; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/baritemmodelhandler.cpp b/src/datavisualization/data/baritemmodelhandler.cpp index b67a3d8a..bd6f127b 100644 --- a/src/datavisualization/data/baritemmodelhandler.cpp +++ b/src/datavisualization/data/baritemmodelhandler.cpp @@ -18,7 +18,7 @@ #include "baritemmodelhandler_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { BarItemModelHandler::BarItemModelHandler(QItemModelBarDataProxy *proxy, QObject *parent) : AbstractItemModelHandler(parent), @@ -143,4 +143,4 @@ void BarItemModelHandler::resolveModel() m_proxy->resetArray(m_proxyArray, rowLabels, columnLabels); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/baritemmodelhandler_p.h b/src/datavisualization/data/baritemmodelhandler_p.h index 99192b55..c977103e 100644 --- a/src/datavisualization/data/baritemmodelhandler_p.h +++ b/src/datavisualization/data/baritemmodelhandler_p.h @@ -32,7 +32,7 @@ #include "abstractitemmodelhandler_p.h" #include "qitemmodelbardataproxy_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class BarItemModelHandler : public AbstractItemModelHandler { @@ -49,6 +49,6 @@ protected: int m_columnCount; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/barrenderitem.cpp b/src/datavisualization/data/barrenderitem.cpp index 67029c60..678d6ba0 100644 --- a/src/datavisualization/data/barrenderitem.cpp +++ b/src/datavisualization/data/barrenderitem.cpp @@ -19,7 +19,7 @@ #include "barrenderitem_p.h" #include "bars3drenderer_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { BarRenderItem::BarRenderItem() : AbstractRenderItem(), @@ -66,4 +66,4 @@ QString &BarRenderItem::sliceLabel() } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/barrenderitem_p.h b/src/datavisualization/data/barrenderitem_p.h index 480d5049..5a44e2fd 100644 --- a/src/datavisualization/data/barrenderitem_p.h +++ b/src/datavisualization/data/barrenderitem_p.h @@ -31,7 +31,7 @@ #include "abstractrenderitem_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Bars3DRenderer; @@ -90,6 +90,6 @@ void BarRenderItem::setValue(float value) typedef QVector BarRenderItemRow; typedef QVector BarRenderItemArray; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/labelitem.cpp b/src/datavisualization/data/labelitem.cpp index 5e27a50e..78e8d0f2 100644 --- a/src/datavisualization/data/labelitem.cpp +++ b/src/datavisualization/data/labelitem.cpp @@ -18,7 +18,7 @@ #include "labelitem_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { LabelItem::LabelItem() : m_size(QSize(0, 0)), @@ -61,4 +61,4 @@ void LabelItem::clear() m_size = QSize(0, 0); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/labelitem_p.h b/src/datavisualization/data/labelitem_p.h index c10c1f12..40e1030a 100644 --- a/src/datavisualization/data/labelitem_p.h +++ b/src/datavisualization/data/labelitem_p.h @@ -33,7 +33,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class LabelItem { @@ -54,6 +54,6 @@ private: GLuint m_textureId; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qabstract3dseries.cpp b/src/datavisualization/data/qabstract3dseries.cpp index 1afb63c4..577a04a9 100644 --- a/src/datavisualization/data/qabstract3dseries.cpp +++ b/src/datavisualization/data/qabstract3dseries.cpp @@ -21,7 +21,7 @@ #include "qabstractdataproxy_p.h" #include "abstract3dcontroller_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QAbstract3DSeries @@ -704,4 +704,4 @@ void QAbstract3DSeriesPrivate::resetToTheme(const Q3DTheme &theme, int seriesInd } } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/qabstract3dseries.h b/src/datavisualization/data/qabstract3dseries.h index bbcf60ad..615d882e 100644 --- a/src/datavisualization/data/qabstract3dseries.h +++ b/src/datavisualization/data/qabstract3dseries.h @@ -19,13 +19,12 @@ #ifndef QABSTRACT3DSERIES_H #define QABSTRACT3DSERIES_H -#include #include #include #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QAbstract3DSeriesPrivate; @@ -143,6 +142,6 @@ private: friend class Abstract3DRenderer; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qabstract3dseries_p.h b/src/datavisualization/data/qabstract3dseries_p.h index 8e83ff84..c8a39818 100644 --- a/src/datavisualization/data/qabstract3dseries_p.h +++ b/src/datavisualization/data/qabstract3dseries_p.h @@ -33,7 +33,7 @@ #ifndef QABSTRACT3DSERIES_P_H #define QABSTRACT3DSERIES_P_H -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QAbstractDataProxy; class Abstract3DController; @@ -142,6 +142,6 @@ public: QString m_name; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // QAbstract3DSeries_P_H diff --git a/src/datavisualization/data/qabstractdataproxy.cpp b/src/datavisualization/data/qabstractdataproxy.cpp index fa0934c3..631bd8ac 100644 --- a/src/datavisualization/data/qabstractdataproxy.cpp +++ b/src/datavisualization/data/qabstractdataproxy.cpp @@ -20,7 +20,7 @@ #include "qabstractdataproxy_p.h" #include "qabstract3dseries_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QAbstractDataProxy @@ -110,4 +110,4 @@ void QAbstractDataProxyPrivate::setSeries(QAbstract3DSeries *series) m_series = series; } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/qabstractdataproxy.h b/src/datavisualization/data/qabstractdataproxy.h index 2a053c60..cbe70333 100644 --- a/src/datavisualization/data/qabstractdataproxy.h +++ b/src/datavisualization/data/qabstractdataproxy.h @@ -19,11 +19,12 @@ #ifndef QABSTRACTDATAPROXY_H #define QABSTRACTDATAPROXY_H -#include +#include + #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QAbstractDataProxyPrivate; @@ -58,6 +59,6 @@ private: friend class QAbstract3DSeriesPrivate; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // QABSTRACTDATAPROXY_H diff --git a/src/datavisualization/data/qabstractdataproxy_p.h b/src/datavisualization/data/qabstractdataproxy_p.h index 90504ccb..365ff5f2 100644 --- a/src/datavisualization/data/qabstractdataproxy_p.h +++ b/src/datavisualization/data/qabstractdataproxy_p.h @@ -33,7 +33,7 @@ #ifndef QABSTRACTDATAPROXY_P_H #define QABSTRACTDATAPROXY_P_H -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QAbstract3DSeries; @@ -56,6 +56,6 @@ private: friend class QAbstractDataProxy; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // QABSTRACTDATAPROXY_P_H diff --git a/src/datavisualization/data/qbar3dseries.cpp b/src/datavisualization/data/qbar3dseries.cpp index cdf9333a..d7403712 100644 --- a/src/datavisualization/data/qbar3dseries.cpp +++ b/src/datavisualization/data/qbar3dseries.cpp @@ -19,7 +19,7 @@ #include "qbar3dseries_p.h" #include "bars3dcontroller_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QBar3DSeries @@ -275,4 +275,4 @@ void QBar3DSeriesPrivate::setSelectedBar(const QPoint &position) } } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/qbar3dseries.h b/src/datavisualization/data/qbar3dseries.h index d4e948ad..96467a95 100644 --- a/src/datavisualization/data/qbar3dseries.h +++ b/src/datavisualization/data/qbar3dseries.h @@ -23,7 +23,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QBar3DSeriesPrivate; @@ -60,6 +60,6 @@ private: friend class Bars3DController; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qbar3dseries_p.h b/src/datavisualization/data/qbar3dseries_p.h index 89edb84a..8944a5f6 100644 --- a/src/datavisualization/data/qbar3dseries_p.h +++ b/src/datavisualization/data/qbar3dseries_p.h @@ -32,7 +32,7 @@ #include "qbar3dseries.h" #include "qabstract3dseries_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QBar3DSeriesPrivate : public QAbstract3DSeriesPrivate { @@ -55,6 +55,6 @@ private: friend class QBar3DSeries; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qbardataitem.cpp b/src/datavisualization/data/qbardataitem.cpp index e564bd5d..0d69bc95 100644 --- a/src/datavisualization/data/qbardataitem.cpp +++ b/src/datavisualization/data/qbardataitem.cpp @@ -18,7 +18,7 @@ #include "qbardataitem_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QBarDataItem @@ -107,4 +107,4 @@ QBarDataItemPrivate::~QBarDataItemPrivate() { } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/qbardataitem.h b/src/datavisualization/data/qbardataitem.h index 60a4a19f..db604a5b 100644 --- a/src/datavisualization/data/qbardataitem.h +++ b/src/datavisualization/data/qbardataitem.h @@ -19,9 +19,7 @@ #ifndef QBARDATAITEM_H #define QBARDATAITEM_H -#include - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QBarDataItemPrivate; @@ -47,6 +45,6 @@ private: float m_value; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qbardataitem_p.h b/src/datavisualization/data/qbardataitem_p.h index 20b7ea69..94cdf0a0 100644 --- a/src/datavisualization/data/qbardataitem_p.h +++ b/src/datavisualization/data/qbardataitem_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include "qbardataitem.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QBarDataItemPrivate { @@ -46,6 +46,6 @@ protected: friend class QBarDataItem; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qbardataproxy.cpp b/src/datavisualization/data/qbardataproxy.cpp index 71680ff2..5c89f7d4 100644 --- a/src/datavisualization/data/qbardataproxy.cpp +++ b/src/datavisualization/data/qbardataproxy.cpp @@ -20,7 +20,7 @@ #include "qbardataproxy_p.h" #include "qbar3dseries_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QBarDataProxy @@ -713,4 +713,4 @@ void QBarDataProxyPrivate::setSeries(QAbstract3DSeries *series) emit qptr()->seriesChanged(barSeries); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/qbardataproxy.h b/src/datavisualization/data/qbardataproxy.h index 94e15116..c5938531 100644 --- a/src/datavisualization/data/qbardataproxy.h +++ b/src/datavisualization/data/qbardataproxy.h @@ -24,7 +24,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { typedef QVector QBarDataRow; typedef QList QBarDataArray; @@ -104,6 +104,6 @@ private: friend class Bars3DController; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // QBARDATAPROXY_H diff --git a/src/datavisualization/data/qbardataproxy_p.h b/src/datavisualization/data/qbardataproxy_p.h index 84726a02..f6ad0d51 100644 --- a/src/datavisualization/data/qbardataproxy_p.h +++ b/src/datavisualization/data/qbardataproxy_p.h @@ -33,7 +33,7 @@ #include "qabstractdataproxy_p.h" #include "qbardataitem.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QBarDataProxyPrivate : public QAbstractDataProxyPrivate { @@ -72,6 +72,6 @@ private: friend class QBarDataProxy; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // QBARDATAPROXY_P_H diff --git a/src/datavisualization/data/qheightmapsurfacedataproxy.cpp b/src/datavisualization/data/qheightmapsurfacedataproxy.cpp index ce379592..96d6e45a 100644 --- a/src/datavisualization/data/qheightmapsurfacedataproxy.cpp +++ b/src/datavisualization/data/qheightmapsurfacedataproxy.cpp @@ -18,7 +18,7 @@ #include "qheightmapsurfacedataproxy_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { // Default ranges correspond value axis defaults const float defaultMinValue = 0.0f; @@ -548,4 +548,4 @@ void QHeightMapSurfaceDataProxyPrivate::handlePendingResolve() emit qptr()->heightMapChanged(m_heightMap); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/qheightmapsurfacedataproxy.h b/src/datavisualization/data/qheightmapsurfacedataproxy.h index 16132b0d..42592bca 100644 --- a/src/datavisualization/data/qheightmapsurfacedataproxy.h +++ b/src/datavisualization/data/qheightmapsurfacedataproxy.h @@ -23,7 +23,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QHeightMapSurfaceDataProxyPrivate; @@ -77,6 +77,6 @@ private: friend class Surface3DController; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qheightmapsurfacedataproxy_p.h b/src/datavisualization/data/qheightmapsurfacedataproxy_p.h index 2d773344..0137511b 100644 --- a/src/datavisualization/data/qheightmapsurfacedataproxy_p.h +++ b/src/datavisualization/data/qheightmapsurfacedataproxy_p.h @@ -33,7 +33,7 @@ #include "qsurfacedataproxy_p.h" #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QHeightMapSurfaceDataProxyPrivate : public QSurfaceDataProxyPrivate { @@ -64,6 +64,6 @@ private: friend class QHeightMapSurfaceDataProxy; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qitemmodelbardataproxy.cpp b/src/datavisualization/data/qitemmodelbardataproxy.cpp index e3354015..77c0463e 100644 --- a/src/datavisualization/data/qitemmodelbardataproxy.cpp +++ b/src/datavisualization/data/qitemmodelbardataproxy.cpp @@ -20,7 +20,7 @@ #include "baritemmodelhandler_p.h" #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QItemModelBarDataProxy @@ -489,4 +489,4 @@ QItemModelBarDataProxy *QItemModelBarDataProxyPrivate::qptr() return static_cast(q_ptr); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/qitemmodelbardataproxy.h b/src/datavisualization/data/qitemmodelbardataproxy.h index 597ab48f..8a946ca7 100644 --- a/src/datavisualization/data/qitemmodelbardataproxy.h +++ b/src/datavisualization/data/qitemmodelbardataproxy.h @@ -23,7 +23,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QItemModelBarDataProxyPrivate; @@ -104,6 +104,6 @@ private: friend class BarItemModelHandler; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qitemmodelbardataproxy_p.h b/src/datavisualization/data/qitemmodelbardataproxy_p.h index 63c5b3ff..16d48f9f 100644 --- a/src/datavisualization/data/qitemmodelbardataproxy_p.h +++ b/src/datavisualization/data/qitemmodelbardataproxy_p.h @@ -32,7 +32,7 @@ #include "qitemmodelbardataproxy.h" #include "qbardataproxy_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class BarItemModelHandler; @@ -66,6 +66,6 @@ private: friend class QItemModelBarDataProxy; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qitemmodelscatterdataproxy.cpp b/src/datavisualization/data/qitemmodelscatterdataproxy.cpp index 50b57423..e2ba8fec 100644 --- a/src/datavisualization/data/qitemmodelscatterdataproxy.cpp +++ b/src/datavisualization/data/qitemmodelscatterdataproxy.cpp @@ -20,7 +20,7 @@ #include "scatteritemmodelhandler_p.h" #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QItemModelScatterDataProxy @@ -265,4 +265,4 @@ QItemModelScatterDataProxy *QItemModelScatterDataProxyPrivate::qptr() return static_cast(q_ptr); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/qitemmodelscatterdataproxy.h b/src/datavisualization/data/qitemmodelscatterdataproxy.h index f2a7d78c..96fab6b6 100644 --- a/src/datavisualization/data/qitemmodelscatterdataproxy.h +++ b/src/datavisualization/data/qitemmodelscatterdataproxy.h @@ -23,7 +23,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QItemModelScatterDataProxyPrivate; @@ -71,6 +71,6 @@ private: friend class ScatterItemModelHandler; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qitemmodelscatterdataproxy_p.h b/src/datavisualization/data/qitemmodelscatterdataproxy_p.h index 8c86ef09..7b33704c 100644 --- a/src/datavisualization/data/qitemmodelscatterdataproxy_p.h +++ b/src/datavisualization/data/qitemmodelscatterdataproxy_p.h @@ -32,7 +32,7 @@ #include "qitemmodelscatterdataproxy.h" #include "qscatterdataproxy_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class ScatterItemModelHandler; @@ -57,6 +57,6 @@ private: friend class QItemModelScatterDataProxy; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp index 191e0d7f..7ca9842e 100644 --- a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp +++ b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp @@ -20,7 +20,7 @@ #include "surfaceitemmodelhandler_p.h" #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { // TODO: CHECK DOCUMENTATION! @@ -499,4 +499,4 @@ QItemModelSurfaceDataProxy *QItemModelSurfaceDataProxyPrivate::qptr() return static_cast(q_ptr); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/qitemmodelsurfacedataproxy.h b/src/datavisualization/data/qitemmodelsurfacedataproxy.h index ee6b4d99..8c5b9ed4 100644 --- a/src/datavisualization/data/qitemmodelsurfacedataproxy.h +++ b/src/datavisualization/data/qitemmodelsurfacedataproxy.h @@ -23,7 +23,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QItemModelSurfaceDataProxyPrivate; @@ -104,6 +104,6 @@ private: friend class SurfaceItemModelHandler; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qitemmodelsurfacedataproxy_p.h b/src/datavisualization/data/qitemmodelsurfacedataproxy_p.h index e4505c40..81230ab7 100644 --- a/src/datavisualization/data/qitemmodelsurfacedataproxy_p.h +++ b/src/datavisualization/data/qitemmodelsurfacedataproxy_p.h @@ -32,7 +32,7 @@ #include "qitemmodelsurfacedataproxy.h" #include "qsurfacedataproxy_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class SurfaceItemModelHandler; @@ -66,6 +66,6 @@ private: friend class QItemModelSurfaceDataProxy; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qscatter3dseries.cpp b/src/datavisualization/data/qscatter3dseries.cpp index 10b2f84b..38e564f5 100644 --- a/src/datavisualization/data/qscatter3dseries.cpp +++ b/src/datavisualization/data/qscatter3dseries.cpp @@ -19,7 +19,7 @@ #include "qscatter3dseries_p.h" #include "scatter3dcontroller_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QScatter3DSeries @@ -301,4 +301,4 @@ void QScatter3DSeriesPrivate::setItemSize(float size) m_controller->markSeriesVisualsDirty(); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/qscatter3dseries.h b/src/datavisualization/data/qscatter3dseries.h index 758277c0..a3192003 100644 --- a/src/datavisualization/data/qscatter3dseries.h +++ b/src/datavisualization/data/qscatter3dseries.h @@ -22,7 +22,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QScatter3DSeriesPrivate; @@ -64,6 +64,6 @@ private: friend class Scatter3DController; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qscatter3dseries_p.h b/src/datavisualization/data/qscatter3dseries_p.h index a09536c9..aa638445 100644 --- a/src/datavisualization/data/qscatter3dseries_p.h +++ b/src/datavisualization/data/qscatter3dseries_p.h @@ -32,7 +32,7 @@ #include "qscatter3dseries.h" #include "qabstract3dseries_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QScatter3DSeriesPrivate : public QAbstract3DSeriesPrivate { @@ -56,6 +56,6 @@ private: friend class QScatter3DSeries; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qscatterdataitem.cpp b/src/datavisualization/data/qscatterdataitem.cpp index 18c67ee8..cb6d5c70 100644 --- a/src/datavisualization/data/qscatterdataitem.cpp +++ b/src/datavisualization/data/qscatterdataitem.cpp @@ -18,7 +18,7 @@ #include "qscatterdataitem_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QScatterDataItem @@ -148,4 +148,4 @@ QScatterDataItemPrivate::~QScatterDataItemPrivate() { } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/qscatterdataitem.h b/src/datavisualization/data/qscatterdataitem.h index f139abd4..92f34f30 100644 --- a/src/datavisualization/data/qscatterdataitem.h +++ b/src/datavisualization/data/qscatterdataitem.h @@ -19,11 +19,10 @@ #ifndef QSCATTERDATAITEM_H #define QSCATTERDATAITEM_H -#include #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QScatterDataItemPrivate; @@ -58,6 +57,6 @@ private: QQuaternion m_rotation; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qscatterdataitem_p.h b/src/datavisualization/data/qscatterdataitem_p.h index acc67347..c4dec45e 100644 --- a/src/datavisualization/data/qscatterdataitem_p.h +++ b/src/datavisualization/data/qscatterdataitem_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include "qscatterdataitem.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QScatterDataItemPrivate { @@ -46,6 +46,6 @@ protected: friend class QScatterDataItem; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qscatterdataproxy.cpp b/src/datavisualization/data/qscatterdataproxy.cpp index e0876d64..a58149a1 100644 --- a/src/datavisualization/data/qscatterdataproxy.cpp +++ b/src/datavisualization/data/qscatterdataproxy.cpp @@ -20,7 +20,7 @@ #include "qscatterdataproxy_p.h" #include "qscatter3dseries_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QScatterDataProxy @@ -408,4 +408,4 @@ QScatterDataProxy *QScatterDataProxyPrivate::qptr() return static_cast(q_ptr); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/qscatterdataproxy.h b/src/datavisualization/data/qscatterdataproxy.h index acb3d3d4..b1c451b0 100644 --- a/src/datavisualization/data/qscatterdataproxy.h +++ b/src/datavisualization/data/qscatterdataproxy.h @@ -22,7 +22,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { typedef QVector QScatterDataArray; @@ -79,6 +79,6 @@ private: friend class Scatter3DController; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qscatterdataproxy_p.h b/src/datavisualization/data/qscatterdataproxy_p.h index 322c8937..18ab7887 100644 --- a/src/datavisualization/data/qscatterdataproxy_p.h +++ b/src/datavisualization/data/qscatterdataproxy_p.h @@ -33,7 +33,7 @@ #include "qabstractdataproxy_p.h" #include "qscatterdataitem.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QScatterDataProxyPrivate : public QAbstractDataProxyPrivate { @@ -61,6 +61,6 @@ private: friend class QScatterDataProxy; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // QBARDATAPROXY_P_H diff --git a/src/datavisualization/data/qsurface3dseries.cpp b/src/datavisualization/data/qsurface3dseries.cpp index 74b0ca90..0994e010 100644 --- a/src/datavisualization/data/qsurface3dseries.cpp +++ b/src/datavisualization/data/qsurface3dseries.cpp @@ -19,7 +19,7 @@ #include "qsurface3dseries_p.h" #include "surface3dcontroller_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QSurface3DSeries @@ -380,4 +380,4 @@ void QSurface3DSeriesPrivate::setDrawMode(QSurface3DSeries::DrawFlags mode) m_controller->markSeriesVisualsDirty(); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/qsurface3dseries.h b/src/datavisualization/data/qsurface3dseries.h index 0ddd53da..d2109b3e 100644 --- a/src/datavisualization/data/qsurface3dseries.h +++ b/src/datavisualization/data/qsurface3dseries.h @@ -22,7 +22,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QSurface3DSeriesPrivate; @@ -34,7 +34,7 @@ class QT_DATAVISUALIZATION_EXPORT QSurface3DSeries : public QAbstract3DSeries Q_PROPERTY(QPoint selectedPoint READ selectedPoint WRITE setSelectedPoint NOTIFY selectedPointChanged) Q_PROPERTY(bool flatShadingEnabled READ isFlatShadingEnabled WRITE setFlatShadingEnabled NOTIFY flatShadingEnabledChanged) Q_PROPERTY(bool flatShadingSupported READ isFlatShadingSupported NOTIFY flatShadingSupportedChanged) - Q_PROPERTY(QtDataVisualization::QSurface3DSeries::DrawFlags drawMode READ drawMode WRITE setDrawMode NOTIFY drawModeChanged) + Q_PROPERTY(DrawFlags drawMode READ drawMode WRITE setDrawMode NOTIFY drawModeChanged) public: enum DrawFlag { @@ -81,6 +81,6 @@ private: friend class Surface3DController; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qsurface3dseries_p.h b/src/datavisualization/data/qsurface3dseries_p.h index 00bfbed2..a9305268 100644 --- a/src/datavisualization/data/qsurface3dseries_p.h +++ b/src/datavisualization/data/qsurface3dseries_p.h @@ -32,7 +32,7 @@ #include "qsurface3dseries.h" #include "qabstract3dseries_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QSurface3DSeriesPrivate : public QAbstract3DSeriesPrivate { @@ -59,6 +59,6 @@ private: friend class QSurface3DSeries; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qsurfacedataitem.cpp b/src/datavisualization/data/qsurfacedataitem.cpp index f5f91464..291038e2 100644 --- a/src/datavisualization/data/qsurfacedataitem.cpp +++ b/src/datavisualization/data/qsurfacedataitem.cpp @@ -18,7 +18,7 @@ #include "qsurfacedataitem_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QSurfaceDataItem @@ -140,4 +140,4 @@ QSurfaceDataItemPrivate::~QSurfaceDataItemPrivate() { } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/qsurfacedataitem.h b/src/datavisualization/data/qsurfacedataitem.h index dbc849d3..a4d0eb27 100644 --- a/src/datavisualization/data/qsurfacedataitem.h +++ b/src/datavisualization/data/qsurfacedataitem.h @@ -19,10 +19,9 @@ #ifndef QSURFACEDATAITEM_H #define QSURFACEDATAITEM_H -#include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QSurfaceDataItemPrivate; @@ -54,6 +53,6 @@ private: QVector3D m_position; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qsurfacedataitem_p.h b/src/datavisualization/data/qsurfacedataitem_p.h index d13679a8..538bb6d9 100644 --- a/src/datavisualization/data/qsurfacedataitem_p.h +++ b/src/datavisualization/data/qsurfacedataitem_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include "qsurfacedataitem.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QSurfaceDataItemPrivate { @@ -46,6 +46,6 @@ protected: friend class QSurfaceDataItem; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/qsurfacedataproxy.cpp b/src/datavisualization/data/qsurfacedataproxy.cpp index 5ea05d75..e3a6cb13 100644 --- a/src/datavisualization/data/qsurfacedataproxy.cpp +++ b/src/datavisualization/data/qsurfacedataproxy.cpp @@ -20,7 +20,7 @@ #include "qsurfacedataproxy_p.h" #include "qsurface3dseries_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QSurfaceDataProxy @@ -520,4 +520,4 @@ void QSurfaceDataProxyPrivate::setSeries(QAbstract3DSeries *series) emit qptr()->seriesChanged(surfaceSeries); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/qsurfacedataproxy.h b/src/datavisualization/data/qsurfacedataproxy.h index 04c6dbf7..f4015fee 100644 --- a/src/datavisualization/data/qsurfacedataproxy.h +++ b/src/datavisualization/data/qsurfacedataproxy.h @@ -22,7 +22,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { typedef QVector QSurfaceDataRow; typedef QList QSurfaceDataArray; @@ -86,6 +86,6 @@ private: friend class Surface3DController; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // QSURFACEDATAPROXY_H diff --git a/src/datavisualization/data/qsurfacedataproxy_p.h b/src/datavisualization/data/qsurfacedataproxy_p.h index 1fda354c..d01b4383 100644 --- a/src/datavisualization/data/qsurfacedataproxy_p.h +++ b/src/datavisualization/data/qsurfacedataproxy_p.h @@ -34,7 +34,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QSurfaceDataProxyPrivate : public QAbstractDataProxyPrivate { @@ -67,6 +67,6 @@ private: friend class QSurfaceDataProxy; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // QSURFACEDATAPROXY_P_H diff --git a/src/datavisualization/data/scatteritemmodelhandler.cpp b/src/datavisualization/data/scatteritemmodelhandler.cpp index a70b35b0..f5bac672 100644 --- a/src/datavisualization/data/scatteritemmodelhandler.cpp +++ b/src/datavisualization/data/scatteritemmodelhandler.cpp @@ -19,7 +19,7 @@ #include "scatteritemmodelhandler_p.h" #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { ScatterItemModelHandler::ScatterItemModelHandler(QItemModelScatterDataProxy *proxy, QObject *parent) : AbstractItemModelHandler(parent), @@ -77,4 +77,4 @@ void ScatterItemModelHandler::resolveModel() m_proxy->resetArray(m_proxyArray); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/scatteritemmodelhandler_p.h b/src/datavisualization/data/scatteritemmodelhandler_p.h index 72f8f76c..b59b3aa7 100644 --- a/src/datavisualization/data/scatteritemmodelhandler_p.h +++ b/src/datavisualization/data/scatteritemmodelhandler_p.h @@ -32,7 +32,7 @@ #include "abstractitemmodelhandler_p.h" #include "qitemmodelscatterdataproxy_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class ScatterItemModelHandler : public AbstractItemModelHandler { @@ -48,6 +48,6 @@ protected: QScatterDataArray *m_proxyArray; // Not owned }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/scatterrenderitem.cpp b/src/datavisualization/data/scatterrenderitem.cpp index 83c66583..be6d3852 100644 --- a/src/datavisualization/data/scatterrenderitem.cpp +++ b/src/datavisualization/data/scatterrenderitem.cpp @@ -20,7 +20,7 @@ #include "scatter3drenderer_p.h" #include "qscatterdataproxy.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { ScatterRenderItem::ScatterRenderItem() : AbstractRenderItem(), @@ -39,4 +39,4 @@ ScatterRenderItem::~ScatterRenderItem() { } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/scatterrenderitem_p.h b/src/datavisualization/data/scatterrenderitem_p.h index 047caeb6..7b7d51f6 100644 --- a/src/datavisualization/data/scatterrenderitem_p.h +++ b/src/datavisualization/data/scatterrenderitem_p.h @@ -31,7 +31,7 @@ #include "abstractrenderitem_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Scatter3DRenderer; @@ -82,6 +82,6 @@ void ScatterRenderItem::setRotation(const QQuaternion &rotation) typedef QVector ScatterRenderItemArray; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/data/surfaceitemmodelhandler.cpp b/src/datavisualization/data/surfaceitemmodelhandler.cpp index 10b4ccc5..ac1a8b81 100644 --- a/src/datavisualization/data/surfaceitemmodelhandler.cpp +++ b/src/datavisualization/data/surfaceitemmodelhandler.cpp @@ -18,7 +18,7 @@ #include "surfaceitemmodelhandler_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { SurfaceItemModelHandler::SurfaceItemModelHandler(QItemModelSurfaceDataProxy *proxy, QObject *parent) : AbstractItemModelHandler(parent), @@ -139,4 +139,4 @@ void SurfaceItemModelHandler::resolveModel() m_proxy->resetArray(m_proxyArray); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/data/surfaceitemmodelhandler_p.h b/src/datavisualization/data/surfaceitemmodelhandler_p.h index de0d2885..edca9dca 100644 --- a/src/datavisualization/data/surfaceitemmodelhandler_p.h +++ b/src/datavisualization/data/surfaceitemmodelhandler_p.h @@ -32,7 +32,7 @@ #include "abstractitemmodelhandler_p.h" #include "qitemmodelsurfacedataproxy_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class SurfaceItemModelHandler : public AbstractItemModelHandler { @@ -48,6 +48,6 @@ protected: QSurfaceDataArray *m_proxyArray; // Not owned }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/doc/src/qtdatavisualization.qdoc b/src/datavisualization/doc/src/qtdatavisualization.qdoc index d29de4f7..e23940ea 100644 --- a/src/datavisualization/doc/src/qtdatavisualization.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization.qdoc @@ -16,6 +16,17 @@ ** ****************************************************************************/ +/*! + \namespace QtDataVisualization + \inmodule QtDataVisualization + \target QtDataVisualization namespace + + QtDataVisualization namespace holds all the classes and enumerations in the QtDataVisualization + module. + + \generatelist{classesbymodule QtDataVisualization} +*/ + /*! \module QtDataVisualization \title Qt Data Visualization C++ Classes diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 919db22c..454ff7a4 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -33,13 +33,13 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scene, QObject *parent) : QObject(parent), m_themeManager(new ThemeManager(this)), - m_selectionMode(QDataVis::SelectionItem), - m_shadowQuality(QDataVis::ShadowQualityMedium), + m_selectionMode(QAbstract3DGraph::SelectionItem), + m_shadowQuality(QAbstract3DGraph::ShadowQualityMedium), m_scene(scene), m_activeInputHandler(0), m_axisX(0), @@ -668,7 +668,7 @@ Q3DTheme *Abstract3DController::activeTheme() const return m_themeManager->activeTheme(); } -void Abstract3DController::setSelectionMode(QDataVis::SelectionFlags mode) +void Abstract3DController::setSelectionMode(QAbstract3DGraph::SelectionFlags mode) { if (mode != m_selectionMode) { m_selectionMode = mode; @@ -678,12 +678,12 @@ void Abstract3DController::setSelectionMode(QDataVis::SelectionFlags mode) } } -QDataVis::SelectionFlags Abstract3DController::selectionMode() const +QAbstract3DGraph::SelectionFlags Abstract3DController::selectionMode() const { return m_selectionMode; } -void Abstract3DController::setShadowQuality(QDataVis::ShadowQuality quality) +void Abstract3DController::setShadowQuality(QAbstract3DGraph::ShadowQuality quality) { if (quality != m_shadowQuality) { m_shadowQuality = quality; @@ -693,7 +693,7 @@ void Abstract3DController::setShadowQuality(QDataVis::ShadowQuality quality) } } -QDataVis::ShadowQuality Abstract3DController::shadowQuality() const +QAbstract3DGraph::ShadowQuality Abstract3DController::shadowQuality() const { return m_shadowQuality; } @@ -844,7 +844,7 @@ void Abstract3DController::handleAxisLabelFormatChanged(const QString &format) void Abstract3DController::handleInputStateChanged(QAbstract3DInputHandler::InputState state) { // When in automatic slicing mode, input state change to overview disables slice mode - if (m_selectionMode.testFlag(QDataVis::SelectionSlice) + if (m_selectionMode.testFlag(QAbstract3DGraph::SelectionSlice) && state == QAbstract3DInputHandler::InputStateOnPrimaryView) { setSlicingActive(false); } @@ -868,7 +868,7 @@ void Abstract3DController::handleSeriesVisibilityChanged(bool visible) handleSeriesVisibilityChangedBySender(sender()); } -void Abstract3DController::handleRequestShadowQuality(QDataVis::ShadowQuality quality) +void Abstract3DController::handleRequestShadowQuality(QAbstract3DGraph::ShadowQuality quality) { setShadowQuality(quality); } @@ -1001,4 +1001,4 @@ void Abstract3DController::emitNeedRender() } } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index 0f951e5a..a68272d6 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -42,7 +42,7 @@ class QFont; -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class CameraHelper; class Abstract3DRenderer; @@ -136,8 +136,8 @@ private: GLfloat m_horizontalRotation; GLfloat m_verticalRotation; ThemeManager *m_themeManager; - QDataVis::SelectionFlags m_selectionMode; - QDataVis::ShadowQuality m_shadowQuality; + QAbstract3DGraph::SelectionFlags m_selectionMode; + QAbstract3DGraph::ShadowQuality m_shadowQuality; Q3DScene *m_scene; protected: @@ -198,11 +198,11 @@ public: virtual Q3DTheme *activeTheme() const; virtual QList themes() const; - virtual void setSelectionMode(QDataVis::SelectionFlags mode); - virtual QDataVis::SelectionFlags selectionMode() const; + virtual void setSelectionMode(QAbstract3DGraph::SelectionFlags mode); + virtual QAbstract3DGraph::SelectionFlags selectionMode() const; - virtual void setShadowQuality(QDataVis::ShadowQuality quality); - virtual QDataVis::ShadowQuality shadowQuality() const; + virtual void setShadowQuality(QAbstract3DGraph::ShadowQuality quality); + virtual QAbstract3DGraph::ShadowQuality shadowQuality() const; bool isSlicingActive() const; void setSlicingActive(bool isSlicing); @@ -253,13 +253,13 @@ public slots: void handleThemeTypeChanged(Q3DTheme::Theme theme); // Renderer callback handlers - void handleRequestShadowQuality(QDataVis::ShadowQuality quality); + void handleRequestShadowQuality(QAbstract3DGraph::ShadowQuality quality); signals: - void shadowQualityChanged(QDataVis::ShadowQuality quality); + void shadowQualityChanged(QAbstract3DGraph::ShadowQuality quality); void activeInputHandlerChanged(QAbstract3DInputHandler *inputHandler); void activeThemeChanged(Q3DTheme *activeTheme); - void selectionModeChanged(QDataVis::SelectionFlags mode); + void selectionModeChanged(QAbstract3DGraph::SelectionFlags mode); void needRender(); void axisXChanged(QAbstract3DAxis *axis); void axisYChanged(QAbstract3DAxis *axis); @@ -277,6 +277,6 @@ private: friend class Bars3DController; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index e812496c..9c7cfb39 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -27,18 +27,16 @@ #include "q3dtheme_p.h" #include "objecthelper_p.h" -Q_DECLARE_METATYPE(QtDataVisualization::QDataVis::ShadowQuality) - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { Abstract3DRenderer::Abstract3DRenderer(Abstract3DController *controller) : QObject(0), m_hasNegativeValues(false), m_cachedTheme(new Q3DTheme()), m_drawer(new Drawer(m_cachedTheme)), - m_cachedShadowQuality(QDataVis::ShadowQualityMedium), + m_cachedShadowQuality(QAbstract3DGraph::ShadowQualityMedium), m_autoScaleAdjustment(1.0f), - m_cachedSelectionMode(QDataVis::SelectionNone), + m_cachedSelectionMode(QAbstract3DGraph::SelectionNone), m_textureHelper(0), m_cachedScene(new Q3DScene()), m_selectionDirty(true), @@ -220,7 +218,7 @@ void Abstract3DRenderer::updateScene(Q3DScene *scene) void Abstract3DRenderer::reInitShaders() { #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { initGradientShaders(QStringLiteral(":/shaders/vertexShadow"), QStringLiteral(":/shaders/fragmentShadowNoTexColorOnY")); initShaders(QStringLiteral(":/shaders/vertexShadow"), @@ -250,15 +248,15 @@ void Abstract3DRenderer::handleShadowQualityChange() reInitShaders(); #if defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality != QDataVis::ShadowQualityNone) { - emit requestShadowQuality(QDataVis::ShadowQualityNone); + if (m_cachedShadowQuality != QAbstract3DGraph::ShadowQualityNone) { + emit requestShadowQuality(QAbstract3DGraph::ShadowQualityNone); qWarning("Shadows are not yet supported for OpenGL ES2"); - m_cachedShadowQuality = QDataVis::ShadowQualityNone; + m_cachedShadowQuality = QAbstract3DGraph::ShadowQualityNone; } #endif } -void Abstract3DRenderer::updateSelectionMode(QDataVis::SelectionFlags mode) +void Abstract3DRenderer::updateSelectionMode(QAbstract3DGraph::SelectionFlags mode) { m_cachedSelectionMode = mode; m_selectionDirty = true; @@ -382,32 +380,32 @@ AxisRenderCache &Abstract3DRenderer::axisCacheForOrientation(QAbstract3DAxis::Ax void Abstract3DRenderer::lowerShadowQuality() { - QDataVis::ShadowQuality newQuality = QDataVis::ShadowQualityNone; + QAbstract3DGraph::ShadowQuality newQuality = QAbstract3DGraph::ShadowQualityNone; switch (m_cachedShadowQuality) { - case QDataVis::ShadowQualityHigh: + case QAbstract3DGraph::ShadowQualityHigh: qWarning("Creating high quality shadows failed. Changing to medium quality."); - newQuality = QDataVis::ShadowQualityMedium; + newQuality = QAbstract3DGraph::ShadowQualityMedium; break; - case QDataVis::ShadowQualityMedium: + case QAbstract3DGraph::ShadowQualityMedium: qWarning("Creating medium quality shadows failed. Changing to low quality."); - newQuality = QDataVis::ShadowQualityLow; + newQuality = QAbstract3DGraph::ShadowQualityLow; break; - case QDataVis::ShadowQualityLow: + case QAbstract3DGraph::ShadowQualityLow: qWarning("Creating low quality shadows failed. Switching shadows off."); - newQuality = QDataVis::ShadowQualityNone; + newQuality = QAbstract3DGraph::ShadowQualityNone; break; - case QDataVis::ShadowQualitySoftHigh: + case QAbstract3DGraph::ShadowQualitySoftHigh: qWarning("Creating soft high quality shadows failed. Changing to soft medium quality."); - newQuality = QDataVis::ShadowQualitySoftMedium; + newQuality = QAbstract3DGraph::ShadowQualitySoftMedium; break; - case QDataVis::ShadowQualitySoftMedium: + case QAbstract3DGraph::ShadowQualitySoftMedium: qWarning("Creating soft medium quality shadows failed. Changing to soft low quality."); - newQuality = QDataVis::ShadowQualitySoftLow; + newQuality = QAbstract3DGraph::ShadowQualitySoftLow; break; - case QDataVis::ShadowQualitySoftLow: + case QAbstract3DGraph::ShadowQualitySoftLow: qWarning("Creating soft low quality shadows failed. Switching shadows off."); - newQuality = QDataVis::ShadowQualityNone; + newQuality = QAbstract3DGraph::ShadowQualityNone; break; default: // You'll never get here @@ -432,4 +430,4 @@ void Abstract3DRenderer::fixGradientAndGenerateTexture(QLinearGradient *gradient *gradientTexture = m_textureHelper->createGradientTexture(*gradient); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/abstract3drenderer_p.h b/src/datavisualization/engine/abstract3drenderer_p.h index c375b0b8..c38135ed 100644 --- a/src/datavisualization/engine/abstract3drenderer_p.h +++ b/src/datavisualization/engine/abstract3drenderer_p.h @@ -41,7 +41,7 @@ //#define DISPLAY_RENDER_SPEED -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class TextureHelper; class Theme; @@ -70,7 +70,7 @@ public: virtual void render(GLuint defaultFboHandle); virtual void updateTheme(Q3DTheme *theme); - virtual void updateSelectionMode(QDataVis::SelectionFlags newMode); + virtual void updateSelectionMode(QAbstract3DGraph::SelectionFlags newMode); virtual void updateScene(Q3DScene *scene); virtual void updateTextures() = 0; virtual void initSelectionBuffer() = 0; @@ -80,7 +80,7 @@ public: #if !defined(QT_OPENGL_ES_2) virtual void updateDepthBuffer() = 0; #endif - virtual void updateShadowQuality(QDataVis::ShadowQuality quality) = 0; + virtual void updateShadowQuality(QAbstract3DGraph::ShadowQuality quality) = 0; virtual void initShaders(const QString &vertexShader, const QString &fragmentShader) = 0; virtual void initGradientShaders(const QString &vertexShader, const QString &fragmentShader); virtual void initBackgroundShaders(const QString &vertexShader, const QString &fragmentShader) = 0; @@ -97,7 +97,7 @@ public: signals: void needRender(); // Emit this if something in renderer causes need for another render pass. - void requestShadowQuality(QDataVis::ShadowQuality quality); // For automatic quality adjustments + void requestShadowQuality(QAbstract3DGraph::ShadowQuality quality); // For automatic quality adjustments protected: Abstract3DRenderer(Abstract3DController *controller); @@ -118,10 +118,10 @@ protected: Q3DTheme *m_cachedTheme; Drawer *m_drawer; QRect m_viewport; - QDataVis::ShadowQuality m_cachedShadowQuality; + QAbstract3DGraph::ShadowQuality m_cachedShadowQuality; GLfloat m_autoScaleAdjustment; - QDataVis::SelectionFlags m_cachedSelectionMode; + QAbstract3DGraph::SelectionFlags m_cachedSelectionMode; AxisRenderCache m_axisCacheX; AxisRenderCache m_axisCacheY; @@ -146,6 +146,6 @@ protected: #endif }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // ABSTRACT3DRENDERER_P_H diff --git a/src/datavisualization/engine/axisrendercache.cpp b/src/datavisualization/engine/axisrendercache.cpp index 5ada62ca..9fcd8b5d 100644 --- a/src/datavisualization/engine/axisrendercache.cpp +++ b/src/datavisualization/engine/axisrendercache.cpp @@ -20,7 +20,7 @@ #include "qmath.h" #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { AxisRenderCache::AxisRenderCache() : m_type(QAbstract3DAxis::AxisTypeNone), @@ -183,4 +183,4 @@ int AxisRenderCache::maxLabelWidth(const QStringList &labels) const return labelWidth; } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/axisrendercache_p.h b/src/datavisualization/engine/axisrendercache_p.h index 991cff76..595ba83b 100644 --- a/src/datavisualization/engine/axisrendercache_p.h +++ b/src/datavisualization/engine/axisrendercache_p.h @@ -34,7 +34,7 @@ #include "qabstract3daxis_p.h" #include "drawer_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class AxisRenderCache : public QObject { @@ -96,6 +96,6 @@ private: Q_DISABLE_COPY(AxisRenderCache) }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index 8bf0cb8c..c9a9706c 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -30,7 +30,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { Bars3DController::Bars3DController(QRect boundRect, Q3DScene *scene) : Abstract3DController(boundRect, scene), @@ -341,13 +341,13 @@ bool Bars3DController::isBarSpecRelative() return m_isBarSpecRelative; } -void Bars3DController::setSelectionMode(QDataVis::SelectionFlags mode) +void Bars3DController::setSelectionMode(QAbstract3DGraph::SelectionFlags mode) { - if (mode.testFlag(QDataVis::SelectionSlice) - && (mode.testFlag(QDataVis::SelectionRow) == mode.testFlag(QDataVis::SelectionColumn))) { + if (mode.testFlag(QAbstract3DGraph::SelectionSlice) + && (mode.testFlag(QAbstract3DGraph::SelectionRow) == mode.testFlag(QAbstract3DGraph::SelectionColumn))) { qWarning("Must specify one of either row or column selection mode in conjunction with slicing mode."); } else { - QDataVis::SelectionFlags oldMode = selectionMode(); + QAbstract3DGraph::SelectionFlags oldMode = selectionMode(); Abstract3DController::setSelectionMode(mode); @@ -358,8 +358,8 @@ void Bars3DController::setSelectionMode(QDataVis::SelectionFlags mode) // Special case: Always deactivate slicing when changing away from slice // automanagement, as this can't be handled in setSelectedBar. - if (!mode.testFlag(QDataVis::SelectionSlice) - && oldMode.testFlag(QDataVis::SelectionSlice)) { + if (!mode.testFlag(QAbstract3DGraph::SelectionSlice) + && oldMode.testFlag(QAbstract3DGraph::SelectionSlice)) { scene()->setSlicingActive(false); } } @@ -377,7 +377,7 @@ void Bars3DController::setSelectedBar(const QPoint &position, QBar3DSeries *seri adjustSelectionPosition(pos, series); - if (selectionMode().testFlag(QDataVis::SelectionSlice)) { + if (selectionMode().testFlag(QAbstract3DGraph::SelectionSlice)) { // If the selected bar is outside data window, or there is no visible selected bar, disable slicing if (pos.x() < m_axisZ->min() || pos.x() > m_axisZ->max() || pos.y() < m_axisX->min() || pos.y() > m_axisX->max() @@ -529,4 +529,4 @@ QAbstract3DAxis *Bars3DController::createDefaultAxis(QAbstract3DAxis::AxisOrient return defaultAxis; } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/bars3dcontroller_p.h b/src/datavisualization/engine/bars3dcontroller_p.h index 3fcae959..0c9bf71c 100644 --- a/src/datavisualization/engine/bars3dcontroller_p.h +++ b/src/datavisualization/engine/bars3dcontroller_p.h @@ -34,7 +34,7 @@ //#define DISPLAY_RENDER_SPEED -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Bars3DRenderer; class QBar3DSeries; @@ -89,7 +89,7 @@ public: QSizeF barSpacing(); bool isBarSpecRelative(); - void setSelectionMode(QDataVis::SelectionFlags mode); + void setSelectionMode(QAbstract3DGraph::SelectionFlags mode); void setSelectedBar(const QPoint &position, QBar3DSeries *series); virtual void handleAxisAutoAdjustRangeChangedInOrientation(QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust); @@ -131,6 +131,6 @@ private: }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 38e85499..02b26821 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -38,7 +38,7 @@ // You should see the scene from where the light is //#define SHOW_DEPTH_TEXTURE_SCENE -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { const GLfloat labelMargin = 0.05f; const GLfloat gridLineWidth = 0.005f; @@ -301,8 +301,8 @@ void Bars3DRenderer::drawSlicedScene() // Draw the selected row / column QMatrix4x4 projectionViewMatrix = projectionMatrix * viewMatrix; - bool rowMode = m_cachedSelectionMode.testFlag(QDataVis::SelectionRow); - bool itemMode = m_cachedSelectionMode.testFlag(QDataVis::SelectionItem); + bool rowMode = m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionRow); + bool itemMode = m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionItem); GLfloat barPosYAdjustment = -0.8f; // Translate to -1.0 + 0.2 for row/column labels GLfloat scaleFactor = 0.0f; @@ -778,10 +778,10 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) QMatrix4x4 projectionViewMatrix = projectionMatrix * viewMatrix; - bool rowMode = m_cachedSelectionMode.testFlag(QDataVis::SelectionRow); + bool rowMode = m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionRow); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Render scene into a depth texture for using with shadow mapping // Enable drawing to depth framebuffer glBindFramebuffer(GL_FRAMEBUFFER, m_depthFrameBuffer); @@ -904,7 +904,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) // TODO: Selection must be enabled currently to support clicked signal. (QTRD-2517) // Skip selection mode drawing if we're slicing or have no selection mode - if (!m_cachedIsSlicingActivated && m_cachedSelectionMode > QDataVis::SelectionNone + if (!m_cachedIsSlicingActivated && m_cachedSelectionMode > QAbstract3DGraph::SelectionNone && m_selectionState == SelectOnScene && seriesCount > 0) { // Bind selection shader m_selectionShader->bind(); @@ -1044,7 +1044,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) reserveAmount = m_cachedColumnCount; else reserveAmount = m_cachedRowCount; - if (m_cachedSelectionMode.testFlag(QDataVis::SelectionMultiSeries)) + if (m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionMultiSeries)) reserveAmount *= m_visibleSeriesList.size(); m_sliceSelection.resize(reserveAmount); @@ -1092,7 +1092,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) } // Always use base color when no selection mode - if (m_cachedSelectionMode == QDataVis::SelectionNone) { + if (m_cachedSelectionMode == QAbstract3DGraph::SelectionNone) { if (colorStyleIsUniform) barColor = baseColor; else @@ -1103,7 +1103,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) int sliceSeriesAdjust = 0; if (m_selectionDirty && m_cachedIsSlicingActivated) { int seriesMultiplier = 0; - if (m_cachedSelectionMode.testFlag(QDataVis::SelectionMultiSeries)) + if (m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionMultiSeries)) seriesMultiplier = series; if (rowMode) sliceSeriesAdjust = seriesMultiplier * m_cachedColumnCount; @@ -1141,7 +1141,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) GLfloat lightStrength = m_cachedTheme->lightStrength(); GLfloat shadowLightStrength = adjustedLightStrength; - if (m_cachedSelectionMode > QDataVis::SelectionNone) { + if (m_cachedSelectionMode > QAbstract3DGraph::SelectionNone) { Bars3DController::SelectionType selectionType = Bars3DController::SelectionNone; if (somethingSelected) selectionType = isSelected(row, bar, series); @@ -1164,7 +1164,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) } if (m_selectionDirty && m_cachedIsSlicingActivated) { QVector3D translation = modelMatrix.column(3).toVector3D(); - if (m_cachedSelectionMode & QDataVis::SelectionColumn + if (m_cachedSelectionMode & QAbstract3DGraph::SelectionColumn && seriesCount > 1) { translation.setZ((m_columnDepth - ((row + 0.5f + seriesPos) * (m_cachedBarSpacing.height()))) @@ -1254,7 +1254,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) } #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; barShader->setUniformValue(barShader->shadowQ(), m_shadowQualityToShader); @@ -1324,7 +1324,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) m_cachedTheme->ambientLightStrength() * 2.0f); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; m_backgroundShader->setUniformValue(m_backgroundShader->shadowQ(), @@ -1372,7 +1372,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) m_backgroundShader->setUniformValue(m_backgroundShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; m_backgroundShader->setUniformValue(m_backgroundShader->depth(), depthMVPMatrix); @@ -1405,7 +1405,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->color(), barColor); lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme->ambientLightStrength()); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadowed shader bindings lineShader->setUniformValue(lineShader->shadowQ(), m_shadowQualityToShader); lineShader->setUniformValue(lineShader->lightS(), @@ -1453,7 +1453,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -1491,7 +1491,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -1548,7 +1548,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -1597,7 +1597,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -1926,31 +1926,31 @@ void Bars3DRenderer::updateSelectedBar(const QPoint &position, const QBar3DSerie } } -void Bars3DRenderer::updateShadowQuality(QDataVis::ShadowQuality quality) +void Bars3DRenderer::updateShadowQuality(QAbstract3DGraph::ShadowQuality quality) { m_cachedShadowQuality = quality; switch (quality) { - case QDataVis::ShadowQualityLow: + case QAbstract3DGraph::ShadowQualityLow: m_shadowQualityToShader = 33.3f; m_shadowQualityMultiplier = 1; break; - case QDataVis::ShadowQualityMedium: + case QAbstract3DGraph::ShadowQualityMedium: m_shadowQualityToShader = 100.0f; m_shadowQualityMultiplier = 3; break; - case QDataVis::ShadowQualityHigh: + case QAbstract3DGraph::ShadowQualityHigh: m_shadowQualityToShader = 200.0f; m_shadowQualityMultiplier = 5; break; - case QDataVis::ShadowQualitySoftLow: + case QAbstract3DGraph::ShadowQualitySoftLow: m_shadowQualityToShader = 7.5f; m_shadowQualityMultiplier = 1; break; - case QDataVis::ShadowQualitySoftMedium: + case QAbstract3DGraph::ShadowQualitySoftMedium: m_shadowQualityToShader = 10.0f; m_shadowQualityMultiplier = 3; break; - case QDataVis::ShadowQualitySoftHigh: + case QAbstract3DGraph::ShadowQualitySoftHigh: m_shadowQualityToShader = 15.0f; m_shadowQualityMultiplier = 4; break; @@ -2058,17 +2058,17 @@ Bars3DController::SelectionType Bars3DRenderer::isSelected(int row, int bar, int { Bars3DController::SelectionType isSelectedType = Bars3DController::SelectionNone; - if ((m_cachedSelectionMode.testFlag(QDataVis::SelectionMultiSeries) + if ((m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionMultiSeries) && m_visualSelectedBarSeriesIndex >= 0) || seriesIndex == m_visualSelectedBarSeriesIndex) { if (row == m_visualSelectedBarPos.x() && bar == m_visualSelectedBarPos.y() - && (m_cachedSelectionMode.testFlag(QDataVis::SelectionItem))) { + && (m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionItem))) { isSelectedType = Bars3DController::SelectionItem; } else if (row == m_visualSelectedBarPos.x() - && (m_cachedSelectionMode.testFlag(QDataVis::SelectionRow))) { + && (m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionRow))) { isSelectedType = Bars3DController::SelectionRow; } else if (bar == m_visualSelectedBarPos.y() - && (m_cachedSelectionMode.testFlag(QDataVis::SelectionColumn))) { + && (m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionColumn))) { isSelectedType = Bars3DController::SelectionColumn; } } @@ -2173,7 +2173,7 @@ void Bars3DRenderer::updateDepthBuffer() if (m_primarySubViewport.size().isEmpty()) return; - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { m_depthTexture = m_textureHelper->createDepthTextureFrameBuffer(m_primarySubViewport.size(), m_depthFrameBuffer, m_shadowQualityMultiplier); @@ -2200,4 +2200,4 @@ void Bars3DRenderer::initLabelShaders(const QString &vertexShader, const QString m_labelShader->initialize(); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/bars3drenderer_p.h b/src/datavisualization/engine/bars3drenderer_p.h index 2cdb28e4..03e490b8 100644 --- a/src/datavisualization/engine/bars3drenderer_p.h +++ b/src/datavisualization/engine/bars3drenderer_p.h @@ -39,7 +39,7 @@ class QPoint; class QSizeF; class QOpenGLShaderProgram; -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class ShaderHelper; class ObjectHelper; @@ -133,7 +133,7 @@ signals: private: virtual void initShaders(const QString &vertexShader, const QString &fragmentShader); virtual void initGradientShaders(const QString &vertexShader, const QString &fragmentShader); - virtual void updateShadowQuality(QDataVis::ShadowQuality quality); + virtual void updateShadowQuality(QAbstract3DGraph::ShadowQuality quality); virtual void updateTextures(); virtual void fixMeshFileName(QString &fileName, QAbstract3DSeries::Mesh mesh); @@ -163,6 +163,6 @@ private: }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index c9db4563..ec36befd 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -16,7 +16,6 @@ ** ****************************************************************************/ -#include "qdatavisualizationenums.h" #include "drawer_p.h" #include "shaderhelper_p.h" #include "objecthelper_p.h" @@ -39,7 +38,7 @@ public: }; StaticLibInitializer staticLibInitializer; -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { // Vertex array buffer for point const GLfloat point_data[] = {0.0f, 0.0f, 0.0f}; @@ -205,7 +204,7 @@ void Drawer::drawPoint(ShaderHelper *shader) void Drawer::drawLabel(const AbstractRenderItem &item, const LabelItem &labelItem, const QMatrix4x4 &viewmatrix, const QMatrix4x4 &projectionmatrix, const QVector3D &positionComp, const QVector3D &rotation, - GLfloat itemHeight, QDataVis::SelectionFlags mode, + GLfloat itemHeight, QAbstract3DGraph::SelectionFlags mode, ShaderHelper *shader, ObjectHelper *object, const Q3DCamera *camera, bool useDepth, bool rotateAlong, LabelPosition position, Qt::AlignmentFlag alignment, bool isSlicing) @@ -334,7 +333,7 @@ void Drawer::drawLabel(const AbstractRenderItem &item, const LabelItem &labelIte xPosition = item.translation().x(); if (useDepth) zPosition = item.translation().z(); - else if (mode.testFlag(QDataVis::SelectionColumn) && isSlicing) + else if (mode.testFlag(QAbstract3DGraph::SelectionColumn) && isSlicing) xPosition = -(item.translation().z()) + positionComp.z(); // flip first to left } @@ -401,4 +400,4 @@ void Drawer::generateLabelItem(LabelItem &item, const QString &text, int widestL } } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/drawer_p.h b/src/datavisualization/engine/drawer_p.h index 8bc62209..82163c08 100644 --- a/src/datavisualization/engine/drawer_p.h +++ b/src/datavisualization/engine/drawer_p.h @@ -36,7 +36,7 @@ #include "abstractrenderitem_p.h" #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class ShaderHelper; class ObjectHelper; @@ -81,7 +81,7 @@ public: void drawLabel(const AbstractRenderItem &item, const LabelItem &labelItem, const QMatrix4x4 &viewmatrix, const QMatrix4x4 &projectionmatrix, const QVector3D &positionComp, const QVector3D &rotation, GLfloat itemHeight, - QDataVis::SelectionFlags mode, ShaderHelper *shader, ObjectHelper *object, + QAbstract3DGraph::SelectionFlags mode, ShaderHelper *shader, ObjectHelper *object, const Q3DCamera *camera, bool useDepth = false, bool rotateAlong = false, LabelPosition position = LabelOver, Qt::AlignmentFlag alignment = Qt::AlignCenter, bool isSlicing = false); @@ -100,6 +100,6 @@ private: GLuint m_pointbuffer; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp index fe121e0d..00530f7f 100644 --- a/src/datavisualization/engine/q3dbars.cpp +++ b/src/datavisualization/engine/q3dbars.cpp @@ -24,7 +24,7 @@ #include "q3dcamera.h" #include "qbar3dseries_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class Q3DBars @@ -338,4 +338,4 @@ Q3DBars *Q3DBarsPrivate::qptr() return static_cast(q_ptr); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/q3dbars.h b/src/datavisualization/engine/q3dbars.h index 2ed27c50..10535eab 100644 --- a/src/datavisualization/engine/q3dbars.h +++ b/src/datavisualization/engine/q3dbars.h @@ -19,12 +19,11 @@ #ifndef Q3DBARS_H #define Q3DBARS_H -#include #include #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DBarsPrivate; class QAbstract3DAxis; @@ -83,6 +82,6 @@ private: Q_DISABLE_COPY(Q3DBars) }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/engine/q3dbars_p.h b/src/datavisualization/engine/q3dbars_p.h index 37ae3d70..3e7c97ac 100644 --- a/src/datavisualization/engine/q3dbars_p.h +++ b/src/datavisualization/engine/q3dbars_p.h @@ -30,10 +30,9 @@ #define Q3DBARS_P_H #include "bars3dcontroller_p.h" -#include "qdatavisualizationenums.h" #include "qabstract3dgraph_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DBars; @@ -53,6 +52,6 @@ public: Bars3DController *m_shared; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/engine/q3dbox.cpp b/src/datavisualization/engine/q3dbox.cpp index cc1e0265..ce5f76b1 100644 --- a/src/datavisualization/engine/q3dbox.cpp +++ b/src/datavisualization/engine/q3dbox.cpp @@ -20,7 +20,7 @@ #include "q3dbox.h" #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! \class Q3DBox @@ -478,4 +478,4 @@ QDataStream &operator>>(QDataStream &stream, Q3DBox &box) #endif // QT_NO_DATASTREAM -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/q3dbox.h b/src/datavisualization/engine/q3dbox.h index aa63ec39..e89f1cca 100644 --- a/src/datavisualization/engine/q3dbox.h +++ b/src/datavisualization/engine/q3dbox.h @@ -19,11 +19,10 @@ #ifndef Q3DBOX_H #define Q3DBOX_H -#include #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DBox; // Needed to circumvent an issue with qdoc. If this line is removed, make docs will not work for this. @@ -179,6 +178,6 @@ QT_DATAVISUALIZATION_EXPORT QDataStream &operator<<(QDataStream &stream, const Q QT_DATAVISUALIZATION_EXPORT QDataStream &operator>>(QDataStream &stream, Q3DBox &box); #endif -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/engine/q3dcamera.cpp b/src/datavisualization/engine/q3dcamera.cpp index 6378051c..c9460c44 100644 --- a/src/datavisualization/engine/q3dcamera.cpp +++ b/src/datavisualization/engine/q3dcamera.cpp @@ -26,7 +26,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class Q3DCamera @@ -868,4 +868,4 @@ void Q3DCameraPrivate::updateViewMatrix(float zoomAdjustment) } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/q3dcamera.h b/src/datavisualization/engine/q3dcamera.h index 9287e15a..b4341bb7 100644 --- a/src/datavisualization/engine/q3dcamera.h +++ b/src/datavisualization/engine/q3dcamera.h @@ -25,7 +25,7 @@ class QVector3D; class QPoint; -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DCameraPrivate; @@ -157,6 +157,6 @@ private: friend class QMac3DInputHandler; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // Q3DCAMERA_H diff --git a/src/datavisualization/engine/q3dcamera_p.h b/src/datavisualization/engine/q3dcamera_p.h index ac32248e..cfaaeb4d 100644 --- a/src/datavisualization/engine/q3dcamera_p.h +++ b/src/datavisualization/engine/q3dcamera_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include "q3dcamera.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DCamera; @@ -82,6 +82,6 @@ public: friend class QMac3DInputHandler; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // Q3DCAMERA_P_H diff --git a/src/datavisualization/engine/q3dlight.cpp b/src/datavisualization/engine/q3dlight.cpp index bc43c3d7..73ddc0fe 100644 --- a/src/datavisualization/engine/q3dlight.cpp +++ b/src/datavisualization/engine/q3dlight.cpp @@ -20,7 +20,7 @@ #include "q3dscene.h" #include "q3dlight_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class Q3DLight @@ -79,4 +79,4 @@ void Q3DLightPrivate::sync(Q3DLight &other) } } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/q3dlight.h b/src/datavisualization/engine/q3dlight.h index f9109183..6515b1ae 100644 --- a/src/datavisualization/engine/q3dlight.h +++ b/src/datavisualization/engine/q3dlight.h @@ -21,7 +21,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DLightPrivate; class Q3DScene; @@ -43,6 +43,6 @@ private: friend class Q3DScenePrivate; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // Q3DLIGHT_H diff --git a/src/datavisualization/engine/q3dlight_p.h b/src/datavisualization/engine/q3dlight_p.h index dad6d670..bd871427 100644 --- a/src/datavisualization/engine/q3dlight_p.h +++ b/src/datavisualization/engine/q3dlight_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include "q3dlight.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DScene; class Q3DLight; @@ -49,7 +49,7 @@ public: Q3DLight *q_ptr; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // Q3DLIGHT_P_H diff --git a/src/datavisualization/engine/q3dobject.cpp b/src/datavisualization/engine/q3dobject.cpp index 89a682e1..1ef78add 100644 --- a/src/datavisualization/engine/q3dobject.cpp +++ b/src/datavisualization/engine/q3dobject.cpp @@ -20,7 +20,7 @@ #include "q3dobject_p.h" #include "q3dscene_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! \class Q3DObject @@ -120,4 +120,4 @@ Q3DObjectPrivate::~Q3DObjectPrivate() } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/q3dobject.h b/src/datavisualization/engine/q3dobject.h index b5ce7804..c32203cc 100644 --- a/src/datavisualization/engine/q3dobject.h +++ b/src/datavisualization/engine/q3dobject.h @@ -19,13 +19,12 @@ #ifndef Q3DOBJECT_H #define Q3DOBJECT_H -#include #include #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DObjectPrivate; @@ -61,6 +60,6 @@ private: friend class Q3DScenePrivate; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // Q3DOBJECT_H diff --git a/src/datavisualization/engine/q3dobject_p.h b/src/datavisualization/engine/q3dobject_p.h index bac18cfe..51bf1b08 100644 --- a/src/datavisualization/engine/q3dobject_p.h +++ b/src/datavisualization/engine/q3dobject_p.h @@ -31,7 +31,7 @@ #include "datavisualizationglobal_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DObject; class Q3DScene; @@ -48,6 +48,6 @@ public: bool m_isDirty; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // Q3DOBJECT_P_H diff --git a/src/datavisualization/engine/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp index f83ca17e..d6805232 100644 --- a/src/datavisualization/engine/q3dscatter.cpp +++ b/src/datavisualization/engine/q3dscatter.cpp @@ -23,7 +23,7 @@ #include "q3dcamera.h" #include "qscatter3dseries_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class Q3DScatter @@ -270,5 +270,5 @@ Q3DScatter *Q3DScatterPrivate::qptr() return static_cast(q_ptr); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/q3dscatter.h b/src/datavisualization/engine/q3dscatter.h index d9ad596c..a03e51f7 100644 --- a/src/datavisualization/engine/q3dscatter.h +++ b/src/datavisualization/engine/q3dscatter.h @@ -19,13 +19,12 @@ #ifndef Q3DSCATTER_H #define Q3DSCATTER_H -#include #include #include #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DScatterPrivate; class QValue3DAxis; @@ -68,6 +67,6 @@ private: Q_DISABLE_COPY(Q3DScatter) }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/engine/q3dscatter_p.h b/src/datavisualization/engine/q3dscatter_p.h index ab547e52..9c6c4480 100644 --- a/src/datavisualization/engine/q3dscatter_p.h +++ b/src/datavisualization/engine/q3dscatter_p.h @@ -30,10 +30,9 @@ #define Q3DSCATTER_P_H #include "scatter3dcontroller_p.h" -#include "qdatavisualizationenums.h" #include "qabstract3dgraph_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DScatter; @@ -53,6 +52,6 @@ public: Scatter3DController *m_shared; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/engine/q3dscene.cpp b/src/datavisualization/engine/q3dscene.cpp index 6fbfac51..cb70876b 100644 --- a/src/datavisualization/engine/q3dscene.cpp +++ b/src/datavisualization/engine/q3dscene.cpp @@ -25,7 +25,7 @@ #include "q3dcamera_p.h" #include "q3dlight_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class Q3DScene @@ -644,4 +644,4 @@ QRect Q3DScenePrivate::glSecondarySubViewport() return m_glSecondarySubViewport; } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/q3dscene.h b/src/datavisualization/engine/q3dscene.h index fb543cdb..d43d06ec 100644 --- a/src/datavisualization/engine/q3dscene.h +++ b/src/datavisualization/engine/q3dscene.h @@ -19,11 +19,12 @@ #ifndef Q3DSCENE_H #define Q3DSCENE_H -#include +#include + #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DCamera; class Q3DBox; @@ -107,6 +108,6 @@ private: friend class Q3DObject; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // Q3DSCENE_H diff --git a/src/datavisualization/engine/q3dscene_p.h b/src/datavisualization/engine/q3dscene_p.h index 94265568..65d5e4c8 100644 --- a/src/datavisualization/engine/q3dscene_p.h +++ b/src/datavisualization/engine/q3dscene_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DCamera; class Q3DLight; @@ -110,6 +110,6 @@ public: bool m_sceneDirty; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // Q3DSCENE_P_H diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp index 15c48dbf..84e2c455 100644 --- a/src/datavisualization/engine/q3dsurface.cpp +++ b/src/datavisualization/engine/q3dsurface.cpp @@ -23,7 +23,7 @@ #include "q3dcamera.h" #include "qsurface3dseries_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class Q3DSurface @@ -293,4 +293,4 @@ Q3DSurface *Q3DSurfacePrivate::qptr() return static_cast(q_ptr); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/q3dsurface.h b/src/datavisualization/engine/q3dsurface.h index a5107ef1..833e983a 100644 --- a/src/datavisualization/engine/q3dsurface.h +++ b/src/datavisualization/engine/q3dsurface.h @@ -19,12 +19,11 @@ #ifndef Q3DSURFACE_H #define Q3DSURFACE_H -#include #include #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DSurfacePrivate; class QValue3DAxis; @@ -67,6 +66,6 @@ private: Q_DISABLE_COPY(Q3DSurface) }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // Q3DSURFACE_H diff --git a/src/datavisualization/engine/q3dsurface_p.h b/src/datavisualization/engine/q3dsurface_p.h index 0cbb6997..d604fc51 100644 --- a/src/datavisualization/engine/q3dsurface_p.h +++ b/src/datavisualization/engine/q3dsurface_p.h @@ -30,12 +30,11 @@ #define Q3DSURFACE_P_H #include "surface3dcontroller_p.h" -#include "qdatavisualizationenums.h" #include "qabstract3dgraph_p.h" #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DSurface; @@ -55,6 +54,6 @@ public: Surface3DController *m_shared; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // Q3DSURFACE_P_H diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index c7063438..2d62a4ee 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -29,7 +29,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QAbstract3DGraph @@ -59,6 +59,59 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * \sa Q3DBars, Q3DScatter, Q3DSurface, {Qt Data Visualization C++ Classes} */ +/*! + \enum QAbstract3DGraph::SelectionFlag + + Item selection modes. Values of this enumeration can be combined with OR operator. + + \value SelectionNone + Selection mode disabled. + \value SelectionItem + Selection highlights a single item. + \value SelectionRow + Selection highlights a single row. + \value SelectionItemAndRow + Combination flag for highlighting both item and row with different colors. + \value SelectionColumn + Selection highlights a single column. + \value SelectionItemAndColumn + Combination flag for highlighting both item and column with different colors. + \value SelectionRowAndColumn + Combination flag for highlighting both row and column. + \value SelectionItemRowAndColumn + Combination flag for highlighting item, row, and column. + \value SelectionSlice + Setting this mode flag indicates that the graph should take care of the slice view handling + automatically. If you wish to control the slice view yourself via Q3DScene, do not set this + flag. When setting this mode flag, either \c SelectionRow or \c SelectionColumn must also + be set, but not both. Slicing is supported by Q3DBars and Q3DSurface only. + \value SelectionMultiSeries + Setting this mode means that items for all series at same position are highlighted, instead + of just the selected item. The actual selection in the other series doesn't change. + Multi-series selection is only supported for Q3DBars. +*/ + +/*! + \enum QAbstract3DGraph::ShadowQuality + + Quality of shadows. + + \value ShadowQualityNone + Shadows are disabled. + \value ShadowQualityLow + Shadows are rendered in low quality. + \value ShadowQualityMedium + Shadows are rendered in medium quality. + \value ShadowQualityHigh + Shadows are rendered in high quality. + \value ShadowQualitySoftLow + Shadows are rendered in low quality with softened edges. + \value ShadowQualitySoftMedium + Shadows are rendered in medium quality with softened edges. + \value ShadowQualitySoftHigh + Shadows are rendered in high quality with softened edges. +*/ + /*! * \internal */ @@ -232,17 +285,17 @@ QList QAbstract3DGraph::themes() const /*! * \property QAbstract3DGraph::selectionMode * - * Sets selection \a mode to a combination of \c QDataVis::SelectionFlags. It is preset to - * \c QDataVis::SelectionItem by default. - * Different graph types support different selection modes. See \c QDataVis::SelectionFlags + * Sets selection \a mode to a combination of SelectionFlags. It is preset to + * \c SelectionItem by default. + * Different graph types support different selection modes. See \c SelectionFlags * documentation for details. */ -void QAbstract3DGraph::setSelectionMode(QDataVis::SelectionFlags mode) +void QAbstract3DGraph::setSelectionMode(SelectionFlags mode) { d_ptr->m_visualController->setSelectionMode(mode); } -QDataVis::SelectionFlags QAbstract3DGraph::selectionMode() const +QAbstract3DGraph::SelectionFlags QAbstract3DGraph::selectionMode() const { return d_ptr->m_visualController->selectionMode(); } @@ -250,19 +303,19 @@ QDataVis::SelectionFlags QAbstract3DGraph::selectionMode() const /*! * \property QAbstract3DGraph::shadowQuality * - * Sets shadow \a quality to one of \c QDataVis::ShadowQuality. It is preset to - * \c QDataVis::ShadowQualityMedium by default. + * Sets shadow \a quality to one of ShadowQuality. It is preset to + * \c ShadowQualityMedium by default. * - * \note If setting QDataVis::ShadowQuality of a certain level fails, a level is lowered + * \note If setting ShadowQuality of a certain level fails, a level is lowered * until it is successful and shadowQualityChanged signal is emitted for each time the change is * done. */ -void QAbstract3DGraph::setShadowQuality(QDataVis::ShadowQuality quality) +void QAbstract3DGraph::setShadowQuality(ShadowQuality quality) { d_ptr->m_visualController->setShadowQuality(quality); } -QDataVis::ShadowQuality QAbstract3DGraph::shadowQuality() const +QAbstract3DGraph::ShadowQuality QAbstract3DGraph::shadowQuality() const { return d_ptr->m_visualController->shadowQuality(); } @@ -443,4 +496,4 @@ void QAbstract3DGraphPrivate::renderNow() m_context->swapBuffers(q_ptr); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/qabstract3dgraph.h b/src/datavisualization/engine/qabstract3dgraph.h index 5e39221c..9441544b 100644 --- a/src/datavisualization/engine/qabstract3dgraph.h +++ b/src/datavisualization/engine/qabstract3dgraph.h @@ -19,15 +19,13 @@ #ifndef QABSTRACT3DGRAPH_H #define QABSTRACT3DGRAPH_H -#include +#include #include #include #include -class QPainter; - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QAbstract3DGraphPrivate; class Abstract3DController; @@ -38,14 +36,42 @@ class Q3DScene; class QT_DATAVISUALIZATION_EXPORT QAbstract3DGraph : public QWindow, protected QOpenGLFunctions { Q_OBJECT + Q_ENUMS(ShadowQuality) + Q_FLAGS(SelectionFlag SelectionFlags) Q_PROPERTY(QAbstract3DInputHandler* activeInputHandler READ activeInputHandler WRITE setActiveInputHandler NOTIFY activeInputHandlerChanged) Q_PROPERTY(Q3DTheme* activeTheme READ activeTheme WRITE setActiveTheme NOTIFY activeThemeChanged) - Q_PROPERTY(QtDataVisualization::QDataVis::SelectionFlags selectionMode READ selectionMode WRITE setSelectionMode NOTIFY selectionModeChanged) - Q_PROPERTY(QtDataVisualization::QDataVis::ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality NOTIFY shadowQualityChanged) + Q_PROPERTY(SelectionFlags selectionMode READ selectionMode WRITE setSelectionMode NOTIFY selectionModeChanged) + Q_PROPERTY(ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality NOTIFY shadowQualityChanged) Q_PROPERTY(Q3DScene* scene READ scene) protected: explicit QAbstract3DGraph(QAbstract3DGraphPrivate *d, const QSurfaceFormat *format, QWindow *parent = 0); + +public: + enum SelectionFlag { + SelectionNone = 0, + SelectionItem = 1, + SelectionRow = 2, + SelectionItemAndRow = SelectionItem | SelectionRow, + SelectionColumn = 4, + SelectionItemAndColumn = SelectionItem | SelectionColumn, + SelectionRowAndColumn = SelectionRow | SelectionColumn, + SelectionItemRowAndColumn = SelectionItem | SelectionRow | SelectionColumn, + SelectionSlice = 8, + SelectionMultiSeries = 16 + }; + Q_DECLARE_FLAGS(SelectionFlags, SelectionFlag) + + enum ShadowQuality { + ShadowQualityNone = 0, + ShadowQualityLow, + ShadowQualityMedium, + ShadowQualityHigh, + ShadowQualitySoftLow, + ShadowQualitySoftMedium, + ShadowQualitySoftHigh + }; + public: virtual ~QAbstract3DGraph(); @@ -61,11 +87,11 @@ public: Q3DTheme *activeTheme() const; QList themes() const; - void setSelectionMode(QDataVis::SelectionFlags mode); - QDataVis::SelectionFlags selectionMode() const; + void setSelectionMode(SelectionFlags mode); + SelectionFlags selectionMode() const; - void setShadowQuality(QDataVis::ShadowQuality quality); - QDataVis::ShadowQuality shadowQuality() const; + void setShadowQuality(ShadowQuality quality); + ShadowQuality shadowQuality() const; Q3DScene *scene() const; @@ -85,8 +111,8 @@ protected: signals: void activeInputHandlerChanged(QAbstract3DInputHandler *inputHandler); void activeThemeChanged(Q3DTheme *theme); - void selectionModeChanged(QDataVis::SelectionFlags mode); - void shadowQualityChanged(QDataVis::ShadowQuality quality); + void selectionModeChanged(SelectionFlags mode); + void shadowQualityChanged(ShadowQuality quality); private: QScopedPointer d_ptr; @@ -95,7 +121,8 @@ private: friend class Q3DScatter; friend class Q3DSurface; }; +Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstract3DGraph::SelectionFlags) -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/engine/qabstract3dgraph_p.h b/src/datavisualization/engine/qabstract3dgraph_p.h index e1ccab92..43f96e4a 100644 --- a/src/datavisualization/engine/qabstract3dgraph_p.h +++ b/src/datavisualization/engine/qabstract3dgraph_p.h @@ -36,7 +36,7 @@ class QOpenGLContext; class QOpenGLPaintDevice; -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QAbstract3DGraph; class Abstract3DController; @@ -71,6 +71,6 @@ public: float m_devicePixelRatio; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp index 0c991839..e6e47cb5 100644 --- a/src/datavisualization/engine/scatter3dcontroller.cpp +++ b/src/datavisualization/engine/scatter3dcontroller.cpp @@ -27,7 +27,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { Scatter3DController::Scatter3DController(QRect boundRect, Q3DScene *scene) : Abstract3DController(boundRect, scene), @@ -214,10 +214,10 @@ void Scatter3DController::handleSeriesVisibilityChangedBySender(QObject *sender) adjustValueAxisRange(); } -void Scatter3DController::setSelectionMode(QDataVis::SelectionFlags mode) +void Scatter3DController::setSelectionMode(QAbstract3DGraph::SelectionFlags mode) { // We only support single item selection mode and no selection mode - if (mode != QDataVis::SelectionItem && mode != QDataVis::SelectionNone) { + if (mode != QAbstract3DGraph::SelectionItem && mode != QAbstract3DGraph::SelectionNone) { qWarning("Unsupported selection mode - only none and item selection modes are supported."); return; } @@ -367,4 +367,4 @@ void Scatter3DController::adjustValueAxisRange() } } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/scatter3dcontroller_p.h b/src/datavisualization/engine/scatter3dcontroller_p.h index 2d0c9a9a..8bc43636 100644 --- a/src/datavisualization/engine/scatter3dcontroller_p.h +++ b/src/datavisualization/engine/scatter3dcontroller_p.h @@ -34,7 +34,7 @@ //#define DISPLAY_RENDER_SPEED -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Scatter3DRenderer; class QScatterDataProxy; @@ -69,7 +69,7 @@ public: virtual void initializeOpenGL(); // Change selection mode - void setSelectionMode(QDataVis::SelectionFlags mode); + void setSelectionMode(QAbstract3DGraph::SelectionFlags mode); void setSelectedItem(int index, QScatter3DSeries *series); static inline int invalidSelectionIndex() { return -1; } @@ -101,6 +101,6 @@ private: }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 3eee8ff0..606f1379 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -41,7 +41,7 @@ // You should see the scene from where the light is //#define SHOW_DEPTH_TEXTURE_SCENE -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { //#define USE_UNIFORM_SCALING // Scale x and z uniformly, or based on autoscaled values @@ -324,7 +324,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) glEnable(GL_PROGRAM_POINT_SIZE); } - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Render scene into a depth texture for using with shadow mapping // Bind depth shader m_depthShader->bind(); @@ -455,7 +455,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) ShaderHelper *selectionShader = m_selectionShader; // Skip selection mode drawing if we have no selection mode - if (m_cachedSelectionMode > QDataVis::SelectionNone + if (m_cachedSelectionMode > QAbstract3DGraph::SelectionNone && SelectOnScene == m_selectionState && seriesCount > 0) { // Draw dots to selection buffer glBindFramebuffer(GL_FRAMEBUFFER, m_selectionFrameBuffer); @@ -704,7 +704,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) gradientTexture = currentSeries.baseGradientTexture(); GLfloat lightStrength = m_cachedTheme->lightStrength(); - if (m_cachedSelectionMode > QDataVis::SelectionNone && (m_selectedItemTotalIndex == dotNo)) { + if (m_cachedSelectionMode > QAbstract3DGraph::SelectionNone && (m_selectedItemTotalIndex == dotNo)) { if (useColor) dotColor = currentSeries.singleHighlightColor(); else @@ -730,7 +730,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) (item.position().y() + 1.0f) / 2.0f); } #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { if (!drawingPoints) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; @@ -821,7 +821,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) m_cachedTheme->ambientLightStrength() * 2.0f); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; m_backgroundShader->setUniformValue(m_backgroundShader->shadowQ(), @@ -869,7 +869,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->color(), lineColor); lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme->ambientLightStrength()); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadowed shader bindings lineShader->setUniformValue(lineShader->shadowQ(), m_shadowQualityToShader); lineShader->setUniformValue(lineShader->lightS(), @@ -943,7 +943,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; // Set shadow shader bindings lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -995,7 +995,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -1052,7 +1052,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -1107,7 +1107,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -1171,7 +1171,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -1229,7 +1229,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -1561,31 +1561,31 @@ void Scatter3DRenderer::updateSelectedItem(int index, const QScatter3DSeries *se } } -void Scatter3DRenderer::updateShadowQuality(QDataVis::ShadowQuality quality) +void Scatter3DRenderer::updateShadowQuality(QAbstract3DGraph::ShadowQuality quality) { m_cachedShadowQuality = quality; switch (quality) { - case QDataVis::ShadowQualityLow: + case QAbstract3DGraph::ShadowQualityLow: m_shadowQualityToShader = 33.3f; m_shadowQualityMultiplier = 1; break; - case QDataVis::ShadowQualityMedium: + case QAbstract3DGraph::ShadowQualityMedium: m_shadowQualityToShader = 100.0f; m_shadowQualityMultiplier = 3; break; - case QDataVis::ShadowQualityHigh: + case QAbstract3DGraph::ShadowQualityHigh: m_shadowQualityToShader = 200.0f; m_shadowQualityMultiplier = 5; break; - case QDataVis::ShadowQualitySoftLow: + case QAbstract3DGraph::ShadowQualitySoftLow: m_shadowQualityToShader = 5.0f; m_shadowQualityMultiplier = 1; break; - case QDataVis::ShadowQualitySoftMedium: + case QAbstract3DGraph::ShadowQualitySoftMedium: m_shadowQualityToShader = 10.0f; m_shadowQualityMultiplier = 3; break; - case QDataVis::ShadowQualitySoftHigh: + case QAbstract3DGraph::ShadowQualitySoftHigh: m_shadowQualityToShader = 15.0f; m_shadowQualityMultiplier = 4; break; @@ -1733,7 +1733,7 @@ void Scatter3DRenderer::updateDepthBuffer() if (m_primarySubViewport.size().isEmpty()) return; - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { m_depthTexture = m_textureHelper->createDepthTextureFrameBuffer(m_primarySubViewport.size(), m_depthFrameBuffer, m_shadowQualityMultiplier); @@ -1800,4 +1800,4 @@ void Scatter3DRenderer::selectionColorToSeriesAndIndex(const QVector3D &color, i series = 0; } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/scatter3drenderer_p.h b/src/datavisualization/engine/scatter3drenderer_p.h index 7eb75de9..fb1e2698 100644 --- a/src/datavisualization/engine/scatter3drenderer_p.h +++ b/src/datavisualization/engine/scatter3drenderer_p.h @@ -39,7 +39,7 @@ class QPoint; class QSizeF; class QOpenGLShaderProgram; -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class ShaderHelper; class ObjectHelper; @@ -110,7 +110,7 @@ protected: private: virtual void initShaders(const QString &vertexShader, const QString &fragmentShader); virtual void initGradientShaders(const QString &vertexShader, const QString &fragmentShader); - virtual void updateShadowQuality(QDataVis::ShadowQuality quality); + virtual void updateShadowQuality(QAbstract3DGraph::ShadowQuality quality); virtual void updateTextures(); virtual void fixMeshFileName(QString &fileName, QAbstract3DSeries::Mesh mesh); @@ -150,6 +150,6 @@ private: void selectionColorToSeriesAndIndex(const QVector3D &color, int &index, QScatter3DSeries *&series); }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/engine/selectionpointer.cpp b/src/datavisualization/engine/selectionpointer.cpp index c4eced30..0ce9ce22 100644 --- a/src/datavisualization/engine/selectionpointer.cpp +++ b/src/datavisualization/engine/selectionpointer.cpp @@ -32,7 +32,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { const GLfloat sliceUnits = 2.5; @@ -259,4 +259,4 @@ void SelectionPointer::loadLabelMesh() m_labelObj->load(); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/selectionpointer_p.h b/src/datavisualization/engine/selectionpointer_p.h index 8faeb9ac..b1cb4b63 100644 --- a/src/datavisualization/engine/selectionpointer_p.h +++ b/src/datavisualization/engine/selectionpointer_p.h @@ -41,7 +41,7 @@ class QOpenGLShaderProgram; -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class ShaderHelper; class ObjectHelper; @@ -93,6 +93,6 @@ private: QVector3D m_highlightColor; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // NOTIFICATIONLABEL_P_H diff --git a/src/datavisualization/engine/seriesrendercache.cpp b/src/datavisualization/engine/seriesrendercache.cpp index cea0f7b1..5ea9a117 100644 --- a/src/datavisualization/engine/seriesrendercache.cpp +++ b/src/datavisualization/engine/seriesrendercache.cpp @@ -22,7 +22,7 @@ #include "texturehelper_p.h" #include "utils_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { const QString smoothString(QStringLiteral("Smooth")); @@ -179,4 +179,4 @@ void SeriesRenderCache::cleanup(TextureHelper *texHelper) texHelper->deleteTexture(&m_multiHighlightGradientTexture); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/seriesrendercache_p.h b/src/datavisualization/engine/seriesrendercache_p.h index 2bf7a1cc..d543da71 100644 --- a/src/datavisualization/engine/seriesrendercache_p.h +++ b/src/datavisualization/engine/seriesrendercache_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include "qabstract3dseries_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Abstract3DRenderer; class ObjectHelper; @@ -80,7 +80,7 @@ protected: QString m_name; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index cf844c0f..53535b9d 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -30,7 +30,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { Surface3DController::Surface3DController(QRect rect, Q3DScene *scene) : Abstract3DController(rect, scene), @@ -173,18 +173,20 @@ QList Surface3DController::surfaceSeriesList() return surfaceSeriesList; } -void Surface3DController::setSelectionMode(QDataVis::SelectionFlags mode) +void Surface3DController::setSelectionMode(QAbstract3DGraph::SelectionFlags mode) { // Currently surface only supports row and column modes when also slicing - if ((mode.testFlag(QDataVis::SelectionRow) || mode.testFlag(QDataVis::SelectionColumn)) - && !mode.testFlag(QDataVis::SelectionSlice)) { + if ((mode.testFlag(QAbstract3DGraph::SelectionRow) + || mode.testFlag(QAbstract3DGraph::SelectionColumn)) + && !mode.testFlag(QAbstract3DGraph::SelectionSlice)) { qWarning("Unsupported selection mode."); return; - } else if (mode.testFlag(QDataVis::SelectionSlice) - && (mode.testFlag(QDataVis::SelectionRow) == mode.testFlag(QDataVis::SelectionColumn))) { + } else if (mode.testFlag(QAbstract3DGraph::SelectionSlice) + && (mode.testFlag(QAbstract3DGraph::SelectionRow) + == mode.testFlag(QAbstract3DGraph::SelectionColumn))) { qWarning("Must specify one of either row or column selection mode in conjunction with slicing mode."); } else { - QDataVis::SelectionFlags oldMode = selectionMode(); + QAbstract3DGraph::SelectionFlags oldMode = selectionMode(); Abstract3DController::setSelectionMode(mode); @@ -195,8 +197,8 @@ void Surface3DController::setSelectionMode(QDataVis::SelectionFlags mode) // Special case: Always deactivate slicing when changing away from slice // automanagement, as this can't be handled in setSelectedBar. - if (!mode.testFlag(QDataVis::SelectionSlice) - && oldMode.testFlag(QDataVis::SelectionSlice)) { + if (!mode.testFlag(QAbstract3DGraph::SelectionSlice) + && oldMode.testFlag(QAbstract3DGraph::SelectionSlice)) { scene()->setSlicingActive(false); } } @@ -227,7 +229,7 @@ void Surface3DController::setSelectedPoint(const QPoint &position, QSurface3DSer pos = invalidSelectionPosition(); } - if (selectionMode().testFlag(QDataVis::SelectionSlice)) { + if (selectionMode().testFlag(QAbstract3DGraph::SelectionSlice)) { if (pos == invalidSelectionPosition() || !series->isVisible()) { scene()->setSlicingActive(false); } else { @@ -509,4 +511,4 @@ void Surface3DController::adjustValueAxisRange() } } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/surface3dcontroller_p.h b/src/datavisualization/engine/surface3dcontroller_p.h index 915a3122..dcd55982 100644 --- a/src/datavisualization/engine/surface3dcontroller_p.h +++ b/src/datavisualization/engine/surface3dcontroller_p.h @@ -33,7 +33,7 @@ #include "datavisualizationglobal_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Surface3DRenderer; class QSurface3DSeries; @@ -76,10 +76,11 @@ public: virtual void initializeOpenGL(); virtual void synchDataToRenderer(); - void setSelectionMode(QDataVis::SelectionFlags mode); + void setSelectionMode(QAbstract3DGraph::SelectionFlags mode); void setSelectedPoint(const QPoint &position, QSurface3DSeries *series); - virtual void handleAxisAutoAdjustRangeChangedInOrientation(QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust); + virtual void handleAxisAutoAdjustRangeChangedInOrientation( + QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust); virtual void handleAxisRangeChangedBySender(QObject *sender); virtual void handleSeriesVisibilityChangedBySender(QObject *sender); @@ -109,6 +110,6 @@ private: Q_DISABLE_COPY(Surface3DController) }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // SURFACE3DCONTROLLER_P_H diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index aac74d0f..5f54ed79 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -38,7 +38,7 @@ static const int ID_TO_RGBA_MASK = 0xff; -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { //#define SHOW_DEPTH_TEXTURE_SCENE @@ -399,7 +399,7 @@ void Surface3DRenderer::updateSliceDataModel(const QPoint &point) float adjust = (0.025f * m_heightNormalizer) / 2.0f; float stepDown = 2.0f * adjust; - if (m_cachedSelectionMode.testFlag(QDataVis::SelectionRow)) { + if (m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionRow)) { QSurfaceDataRow *src = m_dataArray.at(row); sliceRow = new QSurfaceDataRow(src->size()); for (int i = 0; i < sliceRow->size(); i++) @@ -539,7 +539,7 @@ void Surface3DRenderer::updateScene(Q3DScene *scene) Abstract3DRenderer::updateScene(scene); if (m_selectionPointer && m_selectionActive - && m_cachedSelectionMode.testFlag(QDataVis::SelectionItem)) { + && m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionItem)) { m_selectionDirty = true; // Ball may need repositioning if scene changes } @@ -557,7 +557,7 @@ void Surface3DRenderer::render(GLuint defaultFboHandle) // Render selection ball if (m_selectionPointer && m_selectionActive - && m_cachedSelectionMode.testFlag(QDataVis::SelectionItem)) { + && m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionItem)) { m_selectionPointer->render(defaultFboHandle); } } @@ -588,7 +588,7 @@ void Surface3DRenderer::drawSlicedScene() QMatrix4x4 projectionViewMatrix = projectionMatrix * viewMatrix; - bool rowMode = m_cachedSelectionMode.testFlag(QDataVis::SelectionRow); + bool rowMode = m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionRow); GLfloat scaleX = 0.0f; GLfloat scaleXBackground = 0.0f; @@ -812,7 +812,7 @@ void Surface3DRenderer::drawSlicedScene() axisLabelItem = m_axisCacheZ.labelItems().at(labelNbr); m_drawer->drawLabel(m_dummyRenderItem, *axisLabelItem, viewMatrix, projectionMatrix, - positionComp, rotation, 0, QDataVis::SelectionRow, + positionComp, rotation, 0, QAbstract3DGraph::SelectionRow, m_labelShader, m_labelObj, m_cachedScene->activeCamera(), false, false, Drawer::LabelBelow, Qt::AlignBottom, true); } @@ -880,7 +880,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) // Draw depth buffer #if !defined(QT_OPENGL_ES_2) GLfloat adjustedLightStrength = m_cachedTheme->lightStrength() / 10.0f; - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone && m_surfaceObj && m_cachedSurfaceVisible) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone && m_surfaceObj && m_cachedSurfaceVisible) { // Render scene into a depth texture for using with shadow mapping // Enable drawing to depth framebuffer glBindFramebuffer(GL_FRAMEBUFFER, m_depthFrameBuffer); @@ -994,7 +994,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) // Draw selection buffer if (!m_cachedIsSlicingActivated && m_surfaceObj && m_selectionState == SelectOnScene - && m_cachedSelectionMode > QDataVis::SelectionNone + && m_cachedSelectionMode > QAbstract3DGraph::SelectionNone && (m_cachedSurfaceVisible || m_cachedSurfaceGridOn) && m_visibleSeriesList.size() > 0) { m_selectionShader->bind(); @@ -1091,7 +1091,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) gradientTexture = m_visibleSeriesList.at(0).baseGradientTexture(); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; m_surfaceShader->setUniformValue(m_surfaceShader->shadowQ(), m_shadowQualityToShader); @@ -1168,7 +1168,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) m_cachedTheme->ambientLightStrength() * 2.0f); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; m_backgroundShader->setUniformValue(m_backgroundShader->shadowQ(), @@ -1209,7 +1209,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->color(), lineColor); lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme->ambientLightStrength()); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadowed shader bindings lineShader->setUniformValue(lineShader->shadowQ(), m_shadowQualityToShader); lineShader->setUniformValue(lineShader->lightS(), @@ -1267,7 +1267,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -1311,7 +1311,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -1356,7 +1356,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -1402,7 +1402,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -1454,7 +1454,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -1499,7 +1499,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); #if !defined(QT_OPENGL_ES_2) - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); @@ -1703,14 +1703,14 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) } } - if (m_cachedSelectionMode == QDataVis::SelectionNone + if (m_cachedSelectionMode == QAbstract3DGraph::SelectionNone || visiblePoint == Surface3DController::invalidSelectionPosition()) { m_selectionActive = false; } else { // TODO: Need separate selection ball for slice and main surface view QTRD-2515 if (m_cachedIsSlicingActivated) updateSliceDataModel(visiblePoint); - if (m_cachedSelectionMode.testFlag(QDataVis::SelectionItem)) + if (m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionItem)) surfacePointSelected(visiblePoint); m_selectionActive = true; } @@ -1909,13 +1909,13 @@ void Surface3DRenderer::surfacePointSelected(const QPoint &point) QVector3D pos; if (m_cachedIsSlicingActivated) { - if (m_cachedSelectionMode.testFlag(QDataVis::SelectionRow)) { + if (m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionRow)) { pos = m_sliceSurfaceObj->vertexAt(column, 0); pos *= QVector3D(m_surfaceScaleX, 1.0f, 0.0f); pos += QVector3D(m_surfaceOffsetX, 0.0f, 0.0f); m_selectionPointer->updateBoundingRect(m_secondarySubViewport); m_selectionPointer->updateSliceData(true, m_autoScaleAdjustment); - } else if (m_cachedSelectionMode.testFlag(QDataVis::SelectionColumn)) { + } else if (m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionColumn)) { pos = m_sliceSurfaceObj->vertexAt(row, 0); pos *= QVector3D(m_surfaceScaleZ, 1.0f, 0.0f); pos += QVector3D(-m_surfaceOffsetZ, 0.0f, 0.0f); @@ -1994,32 +1994,32 @@ QString Surface3DRenderer::createSelectionLabel(float value, int column, int row return labelText; } -void Surface3DRenderer::updateShadowQuality(QDataVis::ShadowQuality quality) +void Surface3DRenderer::updateShadowQuality(QAbstract3DGraph::ShadowQuality quality) { m_cachedShadowQuality = quality; switch (quality) { - case QDataVis::ShadowQualityLow: + case QAbstract3DGraph::ShadowQualityLow: m_shadowQualityToShader = 33.3f; m_shadowQualityMultiplier = 1; break; - case QDataVis::ShadowQualityMedium: + case QAbstract3DGraph::ShadowQualityMedium: m_shadowQualityToShader = 100.0f; m_shadowQualityMultiplier = 3; break; - case QDataVis::ShadowQualityHigh: + case QAbstract3DGraph::ShadowQualityHigh: m_shadowQualityToShader = 200.0f; m_shadowQualityMultiplier = 5; break; - case QDataVis::ShadowQualitySoftLow: + case QAbstract3DGraph::ShadowQualitySoftLow: m_shadowQualityToShader = 5.0f; m_shadowQualityMultiplier = 1; break; - case QDataVis::ShadowQualitySoftMedium: + case QAbstract3DGraph::ShadowQualitySoftMedium: m_shadowQualityToShader = 10.0f; m_shadowQualityMultiplier = 3; break; - case QDataVis::ShadowQualitySoftHigh: + case QAbstract3DGraph::ShadowQualitySoftHigh: m_shadowQualityToShader = 15.0f; m_shadowQualityMultiplier = 4; break; @@ -2076,7 +2076,7 @@ void Surface3DRenderer::initShaders(const QString &vertexShader, const QString & delete m_surfaceShader; #if !defined(QT_OPENGL_ES_2) if (!m_cachedFlatShading) { - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { m_surfaceShader = new ShaderHelper(this, QStringLiteral(":/shaders/vertexShadow"), QStringLiteral(":/shaders/fragmentSurfaceShadowNoTex")); } else { @@ -2084,7 +2084,7 @@ void Surface3DRenderer::initShaders(const QString &vertexShader, const QString & QStringLiteral(":/shaders/fragmentSurface")); } } else { - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { m_surfaceShader = new ShaderHelper(this, QStringLiteral(":/shaders/vertexSurfaceShadowFlat"), QStringLiteral(":/shaders/fragmentSurfaceShadowFlat")); } else { @@ -2162,7 +2162,7 @@ void Surface3DRenderer::updateDepthBuffer() if (m_primarySubViewport.size().isEmpty()) return; - if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { m_depthTexture = m_textureHelper->createDepthTextureFrameBuffer(m_primarySubViewport.size(), m_depthFrameBuffer, m_shadowQualityMultiplier); @@ -2188,4 +2188,4 @@ void Surface3DRenderer::generateUniformGradient(const QVector3D newColor) } } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/engine/surface3drenderer_p.h b/src/datavisualization/engine/surface3drenderer_p.h index 71e02db5..10c2c723 100644 --- a/src/datavisualization/engine/surface3drenderer_p.h +++ b/src/datavisualization/engine/surface3drenderer_p.h @@ -43,7 +43,7 @@ class QOpenGLShaderProgram; -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class ShaderHelper; class ObjectHelper; @@ -152,7 +152,7 @@ signals: private: void updateSliceDataModel(const QPoint &point); - void updateShadowQuality(QDataVis::ShadowQuality quality); + void updateShadowQuality(QAbstract3DGraph::ShadowQuality quality); void updateTextures(); void initShaders(const QString &vertexShader, const QString &fragmentShader); QRect calculateSampleRect(const QSurfaceDataArray &array); @@ -184,6 +184,6 @@ private: Q_DISABLE_COPY(Surface3DRenderer) }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // SURFACE3DRENDERER_P_H diff --git a/src/datavisualization/global/datavisualizationglobal_p.h b/src/datavisualization/global/datavisualizationglobal_p.h index 8ff36a90..6ceb9658 100644 --- a/src/datavisualization/global/datavisualizationglobal_p.h +++ b/src/datavisualization/global/datavisualizationglobal_p.h @@ -30,12 +30,11 @@ #define DATAVISUALIZATIONGLOBAL_P_H #include "qdatavisualizationglobal.h" -#include "qdatavisualizationenums.h" #include #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { // Constants used in several files // Distance from camera to origin @@ -57,6 +56,6 @@ static const QVector3D invalidColorVector = QVector3D(-1.0f, -1.0f, -1.0f); static const GLfloat gradientTextureHeight = 1024.0f; static const GLfloat gradientTextureWidth = 2.0f; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/global/global.pri b/src/datavisualization/global/global.pri index 0fd7c576..00a3eb65 100644 --- a/src/datavisualization/global/global.pri +++ b/src/datavisualization/global/global.pri @@ -1,4 +1,3 @@ HEADERS += \ $$PWD/qdatavisualizationglobal.h \ - $$PWD/qdatavisualizationenums.h \ $$PWD/datavisualizationglobal_p.h diff --git a/src/datavisualization/global/qdatavisualizationenums.h b/src/datavisualization/global/qdatavisualizationenums.h deleted file mode 100644 index fcbf63a9..00000000 --- a/src/datavisualization/global/qdatavisualizationenums.h +++ /dev/null @@ -1,63 +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 QDATAVISUALIZATIONENUMS_H -#define QDATAVISUALIZATIONENUMS_H - -#include -#include - -// namespace must be declared without using macros for qdoc -namespace QtDataVisualization { - -class QT_DATAVISUALIZATION_EXPORT QDataVis : public QObject -{ - Q_OBJECT - Q_ENUMS(ShadowQuality) - Q_FLAGS(SelectionFlag SelectionFlags) - -public: - enum SelectionFlag { - SelectionNone = 0, - SelectionItem = 1, - SelectionRow = 2, - SelectionItemAndRow = SelectionItem | SelectionRow, - SelectionColumn = 4, - SelectionItemAndColumn = SelectionItem | SelectionColumn, - SelectionRowAndColumn = SelectionRow | SelectionColumn, - SelectionItemRowAndColumn = SelectionItem | SelectionRow | SelectionColumn, - SelectionSlice = 8, - SelectionMultiSeries = 16 - }; - Q_DECLARE_FLAGS(SelectionFlags, SelectionFlag) - - enum ShadowQuality { - ShadowQualityNone = 0, - ShadowQualityLow, - ShadowQualityMedium, - ShadowQualityHigh, - ShadowQualitySoftLow, - ShadowQualitySoftMedium, - ShadowQualitySoftHigh - }; -}; - -Q_DECLARE_OPERATORS_FOR_FLAGS(QDataVis::SelectionFlags) -} - -#endif diff --git a/src/datavisualization/global/qdatavisualizationglobal.h b/src/datavisualization/global/qdatavisualizationglobal.h index a125e4b2..e17cc7ea 100644 --- a/src/datavisualization/global/qdatavisualizationglobal.h +++ b/src/datavisualization/global/qdatavisualizationglobal.h @@ -52,16 +52,4 @@ # define QT_DATAVISUALIZATION_AUTOTEST_EXPORT #endif -#define QT_DATAVISUALIZATION_NAMESPACE QtDataVisualization - -#ifdef QT_DATAVISUALIZATION_NAMESPACE -# define QT_DATAVISUALIZATION_BEGIN_NAMESPACE namespace QT_DATAVISUALIZATION_NAMESPACE { -# define QT_DATAVISUALIZATION_END_NAMESPACE } -# define QT_DATAVISUALIZATION_USE_NAMESPACE using namespace QT_DATAVISUALIZATION_NAMESPACE; -#else -# define QT_DATAVISUALIZATION_BEGIN_NAMESPACE -# define QT_DATAVISUALIZATION_END_NAMESPACE -# define QT_DATAVISUALIZATION_USE_NAMESPACE -#endif - #endif diff --git a/src/datavisualization/global/qtdatavisualizationenums.qdoc b/src/datavisualization/global/qtdatavisualizationenums.qdoc deleted file mode 100644 index f3fa406c..00000000 --- a/src/datavisualization/global/qtdatavisualizationenums.qdoc +++ /dev/null @@ -1,90 +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 -** -****************************************************************************/ - -/*! - \namespace QtDataVisualization - \inmodule QtDataVisualization - \target QtDataVisualization Enums - - QtDataVisualization namespace holds all the classes and enumerations in the QtDataVisualization - module. - - \generatelist{classesbymodule QtDataVisualization} -*/ - -/*! - * \class QtDataVisualization::QDataVis - * \inmodule QtDataVisualization - * \brief Container class for Qt Data Visualization enums. - * \since Qt Data Visualization 1.0 - * - * QDataVis acts as a container for Qt Data Visualization enums. It has no other functionality. - */ - -/*! - \enum QtDataVisualization::QDataVis::SelectionFlag - - Item selection modes. Values of this enumeration can be combined with OR operator. - - \value SelectionNone - Selection mode disabled. - \value SelectionItem - Selection highlights a single item. - \value SelectionRow - Selection highlights a single row. - \value SelectionItemAndRow - Combination flag for highlighting both item and row with different colors. - \value SelectionColumn - Selection highlights a single column. - \value SelectionItemAndColumn - Combination flag for highlighting both item and column with different colors. - \value SelectionRowAndColumn - Combination flag for highlighting both row and column. - \value SelectionItemRowAndColumn - Combination flag for highlighting item, row, and column. - \value SelectionSlice - Setting this mode flag indicates that the graph should take care of the slice view handling - automatically. If you wish to control the slice view yourself via Q3DScene, do not set this - flag. When setting this mode flag, either \c SelectionRow or \c SelectionColumn must also - be set, but not both. Slicing is supported by Q3DBars and Q3DSurface only. - \value SelectionMultiSeries - Setting this mode means that items for all series at same position are highlighted, instead - of just the selected item. The actual selection in the other series doesn't change. - Multi-series selection is only supported for Q3DBars. -*/ - -/*! - \enum QtDataVisualization::QDataVis::ShadowQuality - - Quality of shadows. - - \value ShadowQualityNone - Shadows are disabled. - \value ShadowQualityLow - Shadows are rendered in low quality. - \value ShadowQualityMedium - Shadows are rendered in medium quality. - \value ShadowQualityHigh - Shadows are rendered in high quality. - \value ShadowQualitySoftLow - Shadows are rendered in low quality with softened edges. - \value ShadowQualitySoftMedium - Shadows are rendered in medium quality with softened edges. - \value ShadowQualitySoftHigh - Shadows are rendered in high quality with softened edges. -*/ diff --git a/src/datavisualization/input/q3dinputhandler.cpp b/src/datavisualization/input/q3dinputhandler.cpp index 5d730c47..80e02d5e 100644 --- a/src/datavisualization/input/q3dinputhandler.cpp +++ b/src/datavisualization/input/q3dinputhandler.cpp @@ -21,7 +21,7 @@ #include "q3dcamera_p.h" #include "q3dlight.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { const int minZoomLevel = 10; const int halfSizeZoomLevel = 50; @@ -190,4 +190,4 @@ void Q3DInputHandler::wheelEvent(QWheelEvent *event) scene()->activeCamera()->setZoomLevel(zoomLevel); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/input/q3dinputhandler.h b/src/datavisualization/input/q3dinputhandler.h index a7fa0573..cca2f983 100644 --- a/src/datavisualization/input/q3dinputhandler.h +++ b/src/datavisualization/input/q3dinputhandler.h @@ -21,7 +21,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DInputHandler; // Workaround for qdoc bug, removing this will cause qdoc compiler to not find the class. @@ -43,6 +43,6 @@ private: Q_DISABLE_COPY(Q3DInputHandler) }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // QDEFAULT3DINPUTHANDLER_H diff --git a/src/datavisualization/input/q3dinputhandler_p.h b/src/datavisualization/input/q3dinputhandler_p.h index af8bef5f..8724f5bf 100644 --- a/src/datavisualization/input/q3dinputhandler_p.h +++ b/src/datavisualization/input/q3dinputhandler_p.h @@ -31,7 +31,7 @@ #include "datavisualizationglobal_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DInputHandler; @@ -46,6 +46,6 @@ public: }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // Q3DINPUTHANDLER_P_H diff --git a/src/datavisualization/input/qabstract3dinputhandler.cpp b/src/datavisualization/input/qabstract3dinputhandler.cpp index 0aa8372c..9e599535 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.cpp +++ b/src/datavisualization/input/qabstract3dinputhandler.cpp @@ -17,7 +17,7 @@ ****************************************************************************/ #include "qabstract3dinputhandler_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class QAbstract3DInputHandler @@ -243,4 +243,4 @@ QAbstract3DInputHandlerPrivate::~QAbstract3DInputHandlerPrivate() } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/input/qabstract3dinputhandler.h b/src/datavisualization/input/qabstract3dinputhandler.h index 313abef3..2ad1514b 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.h +++ b/src/datavisualization/input/qabstract3dinputhandler.h @@ -19,11 +19,10 @@ #ifndef QABSTRACT3DINPUTHANDLER_H #define QABSTRACT3DINPUTHANDLER_H -#include #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QAbstract3DInputHandlerPrivate; @@ -88,6 +87,6 @@ private: friend class QTouch3DInputHandlerPrivate; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // QABSTRACT3DINPUTHANDLER_H diff --git a/src/datavisualization/input/qabstract3dinputhandler_p.h b/src/datavisualization/input/qabstract3dinputhandler_p.h index 205abf66..a44cc40d 100644 --- a/src/datavisualization/input/qabstract3dinputhandler_p.h +++ b/src/datavisualization/input/qabstract3dinputhandler_p.h @@ -33,7 +33,7 @@ #include "qabstract3dinputhandler.h" #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QAbstract3DInputHandler; class Q3DScene; @@ -65,6 +65,6 @@ private: friend class Abstract3DController; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // QABSTRACT3DINPUTHANDLER_P_H diff --git a/src/datavisualization/input/qtouch3dinputhandler.cpp b/src/datavisualization/input/qtouch3dinputhandler.cpp index 42769562..0dd5b469 100644 --- a/src/datavisualization/input/qtouch3dinputhandler.cpp +++ b/src/datavisualization/input/qtouch3dinputhandler.cpp @@ -21,7 +21,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { const float maxTapAndHoldJitter = 20.0f; const int maxPinchJitter = 10; @@ -209,4 +209,4 @@ void QTouch3DInputHandlerPrivate::handleRotation(const QPointF &position) } } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/input/qtouch3dinputhandler.h b/src/datavisualization/input/qtouch3dinputhandler.h index 1c366926..0f3cd255 100644 --- a/src/datavisualization/input/qtouch3dinputhandler.h +++ b/src/datavisualization/input/qtouch3dinputhandler.h @@ -21,7 +21,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QTouch3DInputHandlerPrivate; @@ -42,6 +42,6 @@ private: QScopedPointer d_ptr; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // QTOUCH3DINPUTHANDLER_H diff --git a/src/datavisualization/input/qtouch3dinputhandler_p.h b/src/datavisualization/input/qtouch3dinputhandler_p.h index 11163140..e8d1793b 100644 --- a/src/datavisualization/input/qtouch3dinputhandler_p.h +++ b/src/datavisualization/input/qtouch3dinputhandler_p.h @@ -21,7 +21,7 @@ #include "qtouch3dinputhandler.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class QAbstract3DInputHandler; @@ -45,6 +45,6 @@ public: QPointF m_touchHoldPos; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // QTOUCH3DINPUTHANDLER_H diff --git a/src/datavisualization/theme/q3dtheme.cpp b/src/datavisualization/theme/q3dtheme.cpp index bf225b83..aec39637 100644 --- a/src/datavisualization/theme/q3dtheme.cpp +++ b/src/datavisualization/theme/q3dtheme.cpp @@ -19,7 +19,7 @@ #include "q3dtheme_p.h" #include "thememanager_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { /*! * \class Q3DTheme @@ -122,22 +122,22 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * \row * \li multiHighlightColor * \li The color to be used for highlighted objects, if \l{Q3DBars::selectionMode}{selectionMode} - * of the graph has \c QDataVis::SelectionRow or \c QDataVis::SelectionColumn flag set. + * of the graph has \c QAbstract3DGraph::SelectionRow or \c QAbstract3DGraph::SelectionColumn flag set. * \li Qt::blue * \row * \li multiHighlightGradient * \li The gradient to be used for highlighted objects, if \l{Q3DBars::selectionMode}{selectionMode} - * of the graph has \c QDataVis::SelectionRow or \c QDataVis::SelectionColumn flag set. + * of the graph has \c QAbstract3DGraph::SelectionRow or \c QAbstract3DGraph::SelectionColumn flag set. * \li QLinearGradient(). Essentially fully black. * \row * \li singleHighlightColor * \li The color to be used for a highlighted object, if \l{Q3DBars::selectionMode}{selectionMode} - * of the graph has \c QDataVis::SelectionItem flag set. + * of the graph has \c QAbstract3DGraph::SelectionItem flag set. * \li Qt::red * \row * \li singleHighlightGradient * \li The gradient to be used for a highlighted object, if \l{Q3DBars::selectionMode}{selectionMode} - * of the graph has \c QDataVis::SelectionItem flag set. + * of the graph has \c QAbstract3DGraph::SelectionItem flag set. * \li QLinearGradient(). Essentially fully black. * \row * \li windowColor @@ -554,7 +554,7 @@ QColor Q3DTheme::gridLineColor() const * \property Q3DTheme::singleHighlightColor * * Highlight color for a highlighted object. Used if \l{Q3DBars::selectionMode}{selectionMode} has - * \c QDataVis::SelectionItem flag set. + * \c QAbstract3DGraph::SelectionItem flag set. */ void Q3DTheme::setSingleHighlightColor(const QColor &color) { @@ -574,7 +574,7 @@ QColor Q3DTheme::singleHighlightColor() const * \property Q3DTheme::multiHighlightColor * * Highlight color for highlighted objects. Used if \l{Q3DBars::selectionMode}{selectionMode} has - * \c QDataVis::SelectionRow or \c QDataVis::SelectionColumn flag set. + * \c QAbstract3DGraph::SelectionRow or \c QAbstract3DGraph::SelectionColumn flag set. */ void Q3DTheme::setMultiHighlightColor(const QColor &color) { @@ -643,7 +643,7 @@ QList Q3DTheme::baseGradients() const * \property Q3DTheme::singleHighlightGradient * * Highlight gradient for a highlighted object. Used if \l{Q3DBars::selectionMode}{selectionMode} - * has \c QDataVis::SelectionItem flag set. + * has \c QAbstract3DGraph::SelectionItem flag set. */ void Q3DTheme::setSingleHighlightGradient(const QLinearGradient &gradient) { @@ -663,7 +663,7 @@ QLinearGradient Q3DTheme::singleHighlightGradient() const * \property Q3DTheme::multiHighlightGradient * * Highlight gradient for highlighted objects. Used if \l{Q3DBars::selectionMode}{selectionMode} - * has \c QDataVis::SelectionRow or \c QDataVis::SelectionColumn flag set. + * has \c QAbstract3DGraph::SelectionRow or \c QAbstract3DGraph::SelectionColumn flag set. */ void Q3DTheme::setMultiHighlightGradient(const QLinearGradient &gradient) { @@ -1072,4 +1072,4 @@ bool Q3DThemePrivate::sync(Q3DThemePrivate &other) return changed; } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/theme/q3dtheme.h b/src/datavisualization/theme/q3dtheme.h index 44e58e5d..632beb47 100644 --- a/src/datavisualization/theme/q3dtheme.h +++ b/src/datavisualization/theme/q3dtheme.h @@ -19,12 +19,13 @@ #ifndef Q3DTHEME_H #define Q3DTHEME_H -#include +#include + #include #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class Q3DThemePrivate; @@ -183,6 +184,6 @@ private: Q_DISABLE_COPY(Q3DTheme) }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/theme/q3dtheme_p.h b/src/datavisualization/theme/q3dtheme_p.h index 078c2d7d..0180ddc3 100644 --- a/src/datavisualization/theme/q3dtheme_p.h +++ b/src/datavisualization/theme/q3dtheme_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include "q3dtheme.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { struct Q3DThemeDirtyBitField { bool baseColorDirty : 1; @@ -144,6 +144,6 @@ protected: Q3DTheme *q_ptr; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/theme/thememanager.cpp b/src/datavisualization/theme/thememanager.cpp index d93e9b20..ab3eecc8 100644 --- a/src/datavisualization/theme/thememanager.cpp +++ b/src/datavisualization/theme/thememanager.cpp @@ -19,7 +19,7 @@ #include "thememanager_p.h" #include "q3dtheme_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { const float defaultBuiltInColorLevel = 0.7f; // for built-in gradient themes const float defaultColorLevel = 0.5f; // for built-in uniform themes @@ -590,4 +590,4 @@ void ThemeManager::setColorStyle(Q3DTheme *theme, Q3DTheme::ColorStyle style) theme->setColorStyle(style); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/theme/thememanager_p.h b/src/datavisualization/theme/thememanager_p.h index 13cbcdc9..343cf8a5 100644 --- a/src/datavisualization/theme/thememanager_p.h +++ b/src/datavisualization/theme/thememanager_p.h @@ -33,7 +33,7 @@ #include "abstract3dcontroller_p.h" #include "q3dtheme.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class ThemeManager : public QObject { @@ -81,6 +81,6 @@ private: Abstract3DController *m_controller; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/utils/abstractobjecthelper.cpp b/src/datavisualization/utils/abstractobjecthelper.cpp index 96cdc0c4..3192648f 100644 --- a/src/datavisualization/utils/abstractobjecthelper.cpp +++ b/src/datavisualization/utils/abstractobjecthelper.cpp @@ -20,7 +20,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { AbstractObjectHelper::AbstractObjectHelper() : m_vertexbuffer(0), @@ -80,4 +80,4 @@ GLuint AbstractObjectHelper::indicesType() return m_indicesType; } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/utils/abstractobjecthelper_p.h b/src/datavisualization/utils/abstractobjecthelper_p.h index a6de6941..6f48238d 100644 --- a/src/datavisualization/utils/abstractobjecthelper_p.h +++ b/src/datavisualization/utils/abstractobjecthelper_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class AbstractObjectHelper: protected QOpenGLFunctions { @@ -60,6 +60,6 @@ public: GLuint m_indicesType; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // ABSTRACTOBJECTHELPER_H diff --git a/src/datavisualization/utils/camerahelper.cpp b/src/datavisualization/utils/camerahelper.cpp index 9e7e58aa..9a07e783 100644 --- a/src/datavisualization/utils/camerahelper.cpp +++ b/src/datavisualization/utils/camerahelper.cpp @@ -22,7 +22,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { CameraHelper::CameraHelper(QObject *parent) : QObject(parent), @@ -283,4 +283,4 @@ void CameraHelper::setCameraPreset(Q3DCamera::CameraPreset preset) } } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/utils/camerahelper_p.h b/src/datavisualization/utils/camerahelper_p.h index 50de93a8..9d411b74 100644 --- a/src/datavisualization/utils/camerahelper_p.h +++ b/src/datavisualization/utils/camerahelper_p.h @@ -39,7 +39,7 @@ class QVector3D; class QPoint; class QPointF; -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class CameraHelper : public QObject { @@ -86,6 +86,6 @@ public: void setCameraPreset(Q3DCamera::CameraPreset preset); }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/utils/meshloader.cpp b/src/datavisualization/utils/meshloader.cpp index 119cde3a..08e56c39 100644 --- a/src/datavisualization/utils/meshloader.cpp +++ b/src/datavisualization/utils/meshloader.cpp @@ -26,7 +26,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { QString slashTag = QStringLiteral("/"); @@ -122,4 +122,4 @@ bool MeshLoader::loadOBJ(const QString &path, return true; } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/utils/meshloader_p.h b/src/datavisualization/utils/meshloader_p.h index 48551fff..3add8c2d 100644 --- a/src/datavisualization/utils/meshloader_p.h +++ b/src/datavisualization/utils/meshloader_p.h @@ -34,7 +34,7 @@ class QVector2D; class QVector3D; -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class MeshLoader { @@ -46,6 +46,6 @@ class MeshLoader // TODO: add loaders for other formats? }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/utils/objecthelper.cpp b/src/datavisualization/utils/objecthelper.cpp index 180ce009..ce8f598a 100644 --- a/src/datavisualization/utils/objecthelper.cpp +++ b/src/datavisualization/utils/objecthelper.cpp @@ -23,7 +23,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { ObjectHelper::ObjectHelper(const QString &objectFile) : m_objectFile(objectFile) @@ -95,4 +95,4 @@ void ObjectHelper::load() m_meshDataLoaded = true; } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/utils/objecthelper_p.h b/src/datavisualization/utils/objecthelper_p.h index 9d643fdd..6e325639 100644 --- a/src/datavisualization/utils/objecthelper_p.h +++ b/src/datavisualization/utils/objecthelper_p.h @@ -33,7 +33,7 @@ #include "abstractobjecthelper_p.h" #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class ObjectHelper : public AbstractObjectHelper { @@ -49,6 +49,6 @@ private: QString m_objectFile; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/utils/shaderhelper.cpp b/src/datavisualization/utils/shaderhelper.cpp index b4d2ee76..6fcd2bd2 100644 --- a/src/datavisualization/utils/shaderhelper.cpp +++ b/src/datavisualization/utils/shaderhelper.cpp @@ -20,7 +20,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { void discardDebugMsgs(QtMsgType type, const QMessageLogContext &context, const QString &msg) { @@ -268,4 +268,4 @@ GLuint ShaderHelper::normalAtt() return m_normalAttr; } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/utils/shaderhelper_p.h b/src/datavisualization/utils/shaderhelper_p.h index 191b7bf6..996ad7fc 100644 --- a/src/datavisualization/utils/shaderhelper_p.h +++ b/src/datavisualization/utils/shaderhelper_p.h @@ -34,7 +34,7 @@ class QOpenGLShaderProgram; -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class ShaderHelper { @@ -110,6 +110,6 @@ class ShaderHelper GLboolean m_initialized; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/utils/surfaceobject.cpp b/src/datavisualization/utils/surfaceobject.cpp index 6e4765e5..1e00df0a 100644 --- a/src/datavisualization/utils/surfaceobject.cpp +++ b/src/datavisualization/utils/surfaceobject.cpp @@ -24,7 +24,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { SurfaceObject::SurfaceObject() { @@ -681,4 +681,4 @@ QVector3D SurfaceObject::normal(const QVector3D &a, const QVector3D &b, const QV return QVector3D::crossProduct(v1, v2); } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/utils/surfaceobject_p.h b/src/datavisualization/utils/surfaceobject_p.h index e035d905..91b42c76 100644 --- a/src/datavisualization/utils/surfaceobject_p.h +++ b/src/datavisualization/utils/surfaceobject_p.h @@ -36,7 +36,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class SurfaceObject : public AbstractObjectHelper { @@ -85,5 +85,5 @@ private: QVector m_normals; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif // SURFACEOBJECT_P_H diff --git a/src/datavisualization/utils/texturehelper.cpp b/src/datavisualization/utils/texturehelper.cpp index c88fc8dc..fc42b518 100644 --- a/src/datavisualization/utils/texturehelper.cpp +++ b/src/datavisualization/utils/texturehelper.cpp @@ -24,7 +24,7 @@ #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { TextureHelper::TextureHelper() { @@ -367,4 +367,4 @@ QRgb TextureHelper::qt_gl_convertToGLFormatHelper(QRgb src_pixel, GLenum texture } } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/utils/texturehelper_p.h b/src/datavisualization/utils/texturehelper_p.h index 11022495..e67904d8 100644 --- a/src/datavisualization/utils/texturehelper_p.h +++ b/src/datavisualization/utils/texturehelper_p.h @@ -34,7 +34,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class TextureHelper : protected QOpenGLFunctions { @@ -67,6 +67,6 @@ class TextureHelper : protected QOpenGLFunctions friend class Scatter3DRenderer; }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif diff --git a/src/datavisualization/utils/utils.cpp b/src/datavisualization/utils/utils.cpp index e6f33032..69dbf92d 100644 --- a/src/datavisualization/utils/utils.cpp +++ b/src/datavisualization/utils/utils.cpp @@ -26,7 +26,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { #define NUM_IN_POWER(y, x) for (;y -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { int unique_vertices = 0; @@ -150,4 +150,4 @@ void VertexIndexer::indexVBO_TBN(const QVector &in_vertices, //qDebug() << "unique vertices" << unique_vertices; } -QT_DATAVISUALIZATION_END_NAMESPACE +} diff --git a/src/datavisualization/utils/vertexindexer_p.h b/src/datavisualization/utils/vertexindexer_p.h index 0cf1857b..de8f7690 100644 --- a/src/datavisualization/utils/vertexindexer_p.h +++ b/src/datavisualization/utils/vertexindexer_p.h @@ -35,7 +35,7 @@ #include #include -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +namespace QtDataVisualization { class VertexIndexer { @@ -83,6 +83,6 @@ class VertexIndexer unsigned short &result); }; -QT_DATAVISUALIZATION_END_NAMESPACE +} #endif -- cgit v1.2.3 From de93a42512e58c598427178373f0e3e59b04dec7 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 15 Jan 2014 09:43:29 +0200 Subject: Better control of series ordering and 'primary' series for bars MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTRD-2578 Change-Id: Icbd945596334afb03d81f3b1d6a72399077455db Reviewed-by: Tomi Korpipää --- src/datavisualization/axis/qcategory3daxis.cpp | 10 +-- .../doc/src/qtdatavisualization-qml-bars3d.qdoc | 29 ++++++- .../engine/abstract3dcontroller.cpp | 29 +++++-- .../engine/abstract3dcontroller_p.h | 1 + src/datavisualization/engine/bars3dcontroller.cpp | 94 +++++++++++++++------- src/datavisualization/engine/bars3dcontroller_p.h | 7 ++ src/datavisualization/engine/q3dbars.cpp | 42 ++++++++++ src/datavisualization/engine/q3dbars.h | 5 ++ 8 files changed, 172 insertions(+), 45 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/axis/qcategory3daxis.cpp b/src/datavisualization/axis/qcategory3daxis.cpp index 0a0cc2e8..0dfe2e4a 100644 --- a/src/datavisualization/axis/qcategory3daxis.cpp +++ b/src/datavisualization/axis/qcategory3daxis.cpp @@ -53,10 +53,7 @@ namespace QtDataVisualization { * * Defines labels for axis applied to categories. If there are fewer labels than categories, the * remaining ones do not have a label. If category labels are not defined explicitly, labels are - * generated from the data row (or column) labels. - * - * \note If the graph has multiple visible series and category labels are not defined explicitly, - * changing the rows (or columns) on any of the attached series will regenerate the labels. + * generated from the data row (or column) labels of the primary series of the graph. */ /*! @@ -80,10 +77,7 @@ QCategory3DAxis::~QCategory3DAxis() * * Defines labels for axis applied to categories. If there are fewer labels than categories, the * remaining ones do not have a label. If category labels are not defined explicitly, labels are - * generated from the data row (or column) labels. - * - * \note If the graph has multiple visible series and category labels are not defined explicitly, - * changing the rows (or columns) on any of the attached series will regenerate the labels. + * generated from the data row (or column) labels of the primary series of the graph. */ QStringList QCategory3DAxis::labels() const { diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc index 7bd30867..d61b298a 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc @@ -87,7 +87,7 @@ */ /*! - * \qmlproperty list Bars3D::seriesList + * \qmlproperty list Bars3D::seriesList * \default * This property holds the series of the graph. * By default, this property contains an empty list. @@ -95,7 +95,20 @@ */ /*! - * \qmlmethod void Bars3D::addSeries(QBar3DSeries *series) + * \qmlproperty Bar3DSeries Bars3D::primarySeries + * Specifies the \a series that is the primary series of the graph. The primary series + * is used to determine the row and column axis labels when the labels are not explicitly + * set to the axes. + * If the specified \a series is not already added to the graph, setting it as the + * primary series will also implicitly add it to the graph. + * If the primary series itself is removed from the graph, this property + * resets to default. + * If \a series is null, this property resets to default. + * Defaults to the first added series or zero if no series are added to the graph. + */ + +/*! + * \qmlmethod void Bars3D::addSeries(Bar3DSeries series) * Adds the \a series to the graph. A graph can contain multiple series, but only one set of axes, * so the rows and columns of all series must match for the visualized data to be meaningful. * If the graph has multiple visible series, only the first one added will @@ -105,6 +118,16 @@ */ /*! - * \qmlmethod void Bars3D::removeSeries(QBar3DSeries *series) + * \qmlmethod void Bars3D::removeSeries(Bar3DSeries series) * Remove the \a series from the graph. */ + +/*! + * \qmlmethod void Bars3D::insertSeries(int index, Bar3DSeries series) + * Inserts the \a series into the position \a index in the series list. + * If the \a series has already been added to the list, it is moved to the + * new \a index. + * \note When moving a series to a new \a index that is after its old index, + * the new position in list is calculated as if the series was still in its old + * index, so the final index is actually the \a index decremented by one. + */ diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 454ff7a4..82d60865 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -97,15 +97,30 @@ void Abstract3DController::setRenderer(Abstract3DRenderer *renderer) void Abstract3DController::addSeries(QAbstract3DSeries *series) { - if (series && !m_seriesList.contains(series)) { - int oldSize = m_seriesList.size(); - m_seriesList.append(series); - series->d_ptr->setController(this); - QObject::connect(series, &QAbstract3DSeries::visibilityChanged, - this, &Abstract3DController::handleSeriesVisibilityChanged); + insertSeries(m_seriesList.size(), series); +} + +void Abstract3DController::insertSeries(int index, QAbstract3DSeries *series) +{ + if (series) { + if (m_seriesList.contains(series)) { + int oldIndex = m_seriesList.indexOf(series); + if (index != oldIndex) { + m_seriesList.removeOne(series); + if (oldIndex < index) + index--; + m_seriesList.insert(index, series); + } + } else { + int oldSize = m_seriesList.size(); + m_seriesList.insert(index, series); + series->d_ptr->setController(this); + QObject::connect(series, &QAbstract3DSeries::visibilityChanged, + this, &Abstract3DController::handleSeriesVisibilityChanged); + series->d_ptr->resetToTheme(*m_themeManager->activeTheme(), oldSize, false); + } if (series->isVisible()) handleSeriesVisibilityChangedBySender(series); - series->d_ptr->resetToTheme(*m_themeManager->activeTheme(), oldSize, false); } } diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index a68272d6..a11e80cd 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -170,6 +170,7 @@ public: void setRenderer(Abstract3DRenderer *renderer); virtual void addSeries(QAbstract3DSeries *series); + virtual void insertSeries(int index, QAbstract3DSeries *series); virtual void removeSeries(QAbstract3DSeries *series); QList seriesList(); diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index c9a9706c..986b9a0e 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -36,6 +36,7 @@ Bars3DController::Bars3DController(QRect boundRect, Q3DScene *scene) : Abstract3DController(boundRect, scene), m_selectedBar(invalidSelectionPosition()), m_selectedBarSeries(0), + m_primarySeries(0), m_isBarSpecRelative(true), m_barThicknessRatio(1.0f), m_barSpacing(QSizeF(1.0, 1.0)), @@ -174,29 +175,28 @@ void Bars3DController::handleItemChanged(int rowIndex, int columnIndex) void Bars3DController::handleDataRowLabelsChanged() { - QBar3DSeries *firstSeries = 0; - if (m_seriesList.size()) - firstSeries = static_cast(m_seriesList.at(0)); - if (m_axisZ && firstSeries && firstSeries->dataProxy()) { + if (m_axisZ) { // Grab a sublist equal to data window (no need to have more labels in axis) int min = int(m_axisZ->min()); int count = int(m_axisZ->max()) - min + 1; - QStringList subList = firstSeries->dataProxy()->rowLabels().mid(min, count); + QStringList subList; + if (m_primarySeries && m_primarySeries->dataProxy()) + subList = m_primarySeries->dataProxy()->rowLabels().mid(min, count); static_cast(m_axisZ)->dptr()->setDataLabels(subList); } } void Bars3DController::handleDataColumnLabelsChanged() { - QBar3DSeries *firstSeries = 0; - if (m_seriesList.size()) - firstSeries = static_cast(m_seriesList.at(0)); - if (m_axisX && firstSeries && firstSeries->dataProxy()) { + if (m_axisX) { // Grab a sublist equal to data window (no need to have more labels in axis) int min = int(m_axisX->min()); int count = int(m_axisX->max()) - min + 1; - QStringList subList = static_cast(firstSeries->dataProxy()) - ->columnLabels().mid(min, count); + QStringList subList; + if (m_primarySeries && m_primarySeries->dataProxy()) { + subList = static_cast(m_primarySeries->dataProxy()) + ->columnLabels().mid(min, count); + } static_cast(m_axisX)->dptr()->setDataLabels(subList); } } @@ -246,31 +246,36 @@ void Bars3DController::setAxisZ(QAbstract3DAxis *axis) handleDataRowLabelsChanged(); } -void Bars3DController::addSeries(QAbstract3DSeries *series) +void Bars3DController::setPrimarySeries(QBar3DSeries *series) { - Q_ASSERT(series && series->type() == QAbstract3DSeries::SeriesTypeBar); - - bool firstAdded = !m_seriesList.size(); - - Abstract3DController::addSeries(series); - - if (series->isVisible()) - adjustAxisRanges(); + if (!series) { + if (m_seriesList.size()) + series = static_cast(m_seriesList.at(0)); + } else if (!m_seriesList.contains(series)) { + // Add nonexistent series. + addSeries(series); + } - if (firstAdded) { + if (m_primarySeries != series) { + m_primarySeries = series; handleDataRowLabelsChanged(); handleDataColumnLabelsChanged(); + emit primarySeriesChanged(m_primarySeries); } +} - QBar3DSeries *barSeries = static_cast(series); - if (barSeries->selectedBar() != invalidSelectionPosition()) - setSelectedBar(barSeries->selectedBar(), barSeries); +QBar3DSeries *Bars3DController::primarySeries() const +{ + return m_primarySeries; } -void Bars3DController::removeSeries(QAbstract3DSeries *series) +void Bars3DController::addSeries(QAbstract3DSeries *series) { - bool firstRemoved = (m_seriesList.size() && m_seriesList.at(0) == series); + insertSeries(m_seriesList.size(), series); +} +void Bars3DController::removeSeries(QAbstract3DSeries *series) +{ bool wasVisible = (series && series->d_ptr->m_controller == this && series->isVisible()); Abstract3DController::removeSeries(series); @@ -281,9 +286,44 @@ void Bars3DController::removeSeries(QAbstract3DSeries *series) if (wasVisible) adjustAxisRanges(); - if (firstRemoved) { + // If primary series is removed, reset it to default + if (series == m_primarySeries) { + if (m_seriesList.size()) + m_primarySeries = static_cast(m_seriesList.at(0)); + else + m_primarySeries = 0; + handleDataRowLabelsChanged(); handleDataColumnLabelsChanged(); + + emit primarySeriesChanged(m_primarySeries); + } +} + +void Bars3DController::insertSeries(int index, QAbstract3DSeries *series) +{ + Q_ASSERT(series && series->type() == QAbstract3DSeries::SeriesTypeBar); + + int oldSize = m_seriesList.size(); + + Abstract3DController::insertSeries(index, series); + + if (oldSize != m_seriesList.size()) { + if (series->isVisible()) + adjustAxisRanges(); + + QBar3DSeries *barSeries = static_cast(series); + if (!oldSize) { + m_primarySeries = barSeries; + handleDataRowLabelsChanged(); + handleDataColumnLabelsChanged(); + } + + if (barSeries->selectedBar() != invalidSelectionPosition()) + setSelectedBar(barSeries->selectedBar(), barSeries); + + if (!oldSize) + emit primarySeriesChanged(m_primarySeries); } } diff --git a/src/datavisualization/engine/bars3dcontroller_p.h b/src/datavisualization/engine/bars3dcontroller_p.h index 0c9bf71c..0632830e 100644 --- a/src/datavisualization/engine/bars3dcontroller_p.h +++ b/src/datavisualization/engine/bars3dcontroller_p.h @@ -63,6 +63,7 @@ private: QPoint m_selectedBar; // Points to row & column in data window. QBar3DSeries *m_selectedBarSeries; // Points to the series for which the bar is selected in // single series selection cases. + QBar3DSeries *m_primarySeries; // Category axis labels are taken from the primary series // Look'n'feel bool m_isBarSpecRelative; @@ -100,8 +101,11 @@ public: virtual void setAxisX(QAbstract3DAxis *axis); virtual void setAxisZ(QAbstract3DAxis *axis); + virtual void setPrimarySeries(QBar3DSeries *series); + virtual QBar3DSeries *primarySeries() const; virtual void addSeries(QAbstract3DSeries *series); virtual void removeSeries(QAbstract3DSeries *series); + virtual void insertSeries(int index, QAbstract3DSeries *series); virtual QList barSeriesList(); virtual void handleAxisRangeChangedBySender(QObject *sender); @@ -119,6 +123,9 @@ public slots: // Renderer callback handlers void handleBarClicked(const QPoint &position, QBar3DSeries *series); +signals: + void primarySeriesChanged(QBar3DSeries *series); + protected: virtual QAbstract3DAxis *createDefaultAxis(QAbstract3DAxis::AxisOrientation orientation); diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp index 00530f7f..3b8d837d 100644 --- a/src/datavisualization/engine/q3dbars.cpp +++ b/src/datavisualization/engine/q3dbars.cpp @@ -102,6 +102,8 @@ Q3DBars::Q3DBars(const QSurfaceFormat *format, QWindow *parent) dptr()->m_shared = new Bars3DController(geometry()); d_ptr->setVisualController(dptr()->m_shared); dptr()->m_shared->initializeOpenGL(); + QObject::connect(dptr()->m_shared, &Bars3DController::primarySeriesChanged, + this, &Q3DBars::primarySeriesChanged); } /*! @@ -111,6 +113,29 @@ Q3DBars::~Q3DBars() { } +/*! + * \property Q3DBars::primarySeries + * + * Specifies the \a series that is the primary series of the graph. The primary series + * is used to determine the row and column axis labels when the labels are not explicitly + * set to the axes. + * If the specified \a series is not already added to the graph, setting it as the + * primary series will also implicitly add it to the graph. + * If the primary series itself is removed from the graph, this property + * resets to default. + * If \a series is null, this property resets to default. + * Defaults to the first added series or zero if no series are added to the graph. + */ +void Q3DBars::setPrimarySeries(QBar3DSeries *series) +{ + dptr()->m_shared->setPrimarySeries(series); +} + +QBar3DSeries *Q3DBars::primarySeries() const +{ + return dptrc()->m_shared->primarySeries(); +} + /*! * Adds the \a series to the graph. A graph can contain multiple series, but only one set of axes, * so the rows and columns of all series must match for the visualized data to be meaningful. @@ -118,6 +143,8 @@ Q3DBars::~Q3DBars() * generate the row or column labels on the axes in cases where the labels are not explicitly set * to the axes. If the newly added series has specified a selected bar, it will be highlighted and * any existing selection will be cleared. Only one added series can have an active selection. + * + * /sa seriesList() */ void Q3DBars::addSeries(QBar3DSeries *series) { @@ -132,6 +159,21 @@ void Q3DBars::removeSeries(QBar3DSeries *series) dptr()->m_shared->removeSeries(series); } +/*! + * Inserts the \a series into the position \a index in the series list. + * If the \a series has already been added to the list, it is moved to the + * new \a index. + * \note When moving a series to a new \a index that is after its old index, + * the new position in list is calculated as if the series was still in its old + * index, so the final index is actually the \a index decremented by one. + * + * \sa addSeries(), seriesList(), seriesIndex() + */ +void Q3DBars::insertSeries(int index, QBar3DSeries *series) +{ + dptr()->m_shared->insertSeries(index, series); +} + /*! * \return list of series added to this graph. */ diff --git a/src/datavisualization/engine/q3dbars.h b/src/datavisualization/engine/q3dbars.h index 10535eab..251e410f 100644 --- a/src/datavisualization/engine/q3dbars.h +++ b/src/datavisualization/engine/q3dbars.h @@ -40,13 +40,17 @@ class QT_DATAVISUALIZATION_EXPORT Q3DBars : public QAbstract3DGraph Q_PROPERTY(QCategory3DAxis *rowAxis READ rowAxis WRITE setRowAxis NOTIFY rowAxisChanged) Q_PROPERTY(QCategory3DAxis *columnAxis READ columnAxis WRITE setColumnAxis NOTIFY columnAxisChanged) Q_PROPERTY(QValue3DAxis *valueAxis READ valueAxis WRITE setValueAxis NOTIFY valueAxisChanged) + Q_PROPERTY(QBar3DSeries *primarySeries READ primarySeries WRITE setPrimarySeries NOTIFY primarySeriesChanged) public: explicit Q3DBars(const QSurfaceFormat *format = 0, QWindow *parent = 0); virtual ~Q3DBars(); + void setPrimarySeries(QBar3DSeries *series); + QBar3DSeries *primarySeries() const; void addSeries(QBar3DSeries *series); void removeSeries(QBar3DSeries *series); + void insertSeries(int index, QBar3DSeries *series); QList seriesList(); void setBarThickness(float thicknessRatio); @@ -75,6 +79,7 @@ signals: void rowAxisChanged(QCategory3DAxis *axis); void columnAxisChanged(QCategory3DAxis *axis); void valueAxisChanged(QValue3DAxis *axis); + void primarySeriesChanged(QBar3DSeries *series); private: Q3DBarsPrivate *dptr(); -- cgit v1.2.3 From 3e7dc5bd1769e4578733f7ce0f4eba72346b6d98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Thu, 16 Jan 2014 09:29:38 +0200 Subject: Docs updated after namespace macro removal - some links do not work Task-number: QTRD-2594 Change-Id: I255a4c12fe09e1a708c068a68073c1c99d6382b6 Reviewed-by: Miikka Heikkinen --- src/datavisualization/axis/qabstract3daxis.cpp | 8 +- src/datavisualization/axis/qcategory3daxis.cpp | 9 +- src/datavisualization/axis/qvalue3daxis.cpp | 9 +- .../data/abstractitemmodelhandler.cpp | 5 + src/datavisualization/data/abstractrenderitem.cpp | 5 + src/datavisualization/data/baritemmodelhandler.cpp | 5 + src/datavisualization/data/barrenderitem.cpp | 15 ++ src/datavisualization/data/barrenderitem_p.h | 20 ++- src/datavisualization/data/labelitem.cpp | 5 + src/datavisualization/data/qabstract3dseries.cpp | 112 ++++++++------ src/datavisualization/data/qabstractdataproxy.cpp | 8 +- src/datavisualization/data/qbar3dseries.cpp | 8 +- src/datavisualization/data/qbardataitem.cpp | 6 +- src/datavisualization/data/qbardataproxy.cpp | 20 ++- .../data/qheightmapsurfacedataproxy.cpp | 8 +- .../data/qitemmodelbardataproxy.cpp | 50 +++--- .../data/qitemmodelscatterdataproxy.cpp | 32 ++-- .../data/qitemmodelsurfacedataproxy.cpp | 50 +++--- src/datavisualization/data/qscatter3dseries.cpp | 8 +- src/datavisualization/data/qscatterdataitem.cpp | 6 +- src/datavisualization/data/qscatterdataproxy.cpp | 14 +- src/datavisualization/data/qsurface3dseries.cpp | 8 +- src/datavisualization/data/qsurfacedataitem.cpp | 6 +- src/datavisualization/data/qsurfacedataproxy.cpp | 20 ++- .../data/scatteritemmodelhandler.cpp | 5 + src/datavisualization/data/scatterrenderitem.cpp | 10 ++ src/datavisualization/data/scatterrenderitem_p.h | 34 ++-- .../data/surfaceitemmodelhandler.cpp | 5 + .../doc/qtdatavisualization.qdocconf | 2 + .../doc/src/qtdatavisualization.qdoc | 3 +- .../engine/abstract3dcontroller.cpp | 10 ++ .../engine/abstract3drenderer.cpp | 5 + src/datavisualization/engine/axisrendercache.cpp | 5 + src/datavisualization/engine/bars3dcontroller.cpp | 10 ++ src/datavisualization/engine/bars3drenderer.cpp | 5 + src/datavisualization/engine/drawer.cpp | 5 + src/datavisualization/engine/q3dbars.cpp | 6 +- src/datavisualization/engine/q3dbox.cpp | 8 +- src/datavisualization/engine/q3dbox.h | 172 +++++++++------------ src/datavisualization/engine/q3dcamera.cpp | 8 +- src/datavisualization/engine/q3dlight.cpp | 8 +- src/datavisualization/engine/q3dobject.cpp | 6 +- src/datavisualization/engine/q3dscatter.cpp | 6 +- src/datavisualization/engine/q3dscene.cpp | 13 +- src/datavisualization/engine/q3dsurface.cpp | 6 +- src/datavisualization/engine/qabstract3dgraph.cpp | 6 +- .../engine/scatter3dcontroller.cpp | 10 ++ src/datavisualization/engine/scatter3drenderer.cpp | 5 + src/datavisualization/engine/selectionpointer.cpp | 5 + src/datavisualization/engine/seriesrendercache.cpp | 5 + .../engine/surface3dcontroller.cpp | 10 ++ src/datavisualization/engine/surface3drenderer.cpp | 5 + .../global/datavisualizationglobal_p.h | 8 +- src/datavisualization/input/q3dinputhandler.cpp | 7 +- src/datavisualization/input/q3dinputhandler.h | 4 +- .../input/qabstract3dinputhandler.cpp | 8 +- .../input/qtouch3dinputhandler.cpp | 6 +- src/datavisualization/theme/q3dtheme.cpp | 13 +- src/datavisualization/theme/thememanager.cpp | 5 + .../utils/abstractobjecthelper.cpp | 5 + src/datavisualization/utils/camerahelper.cpp | 5 + src/datavisualization/utils/meshloader.cpp | 5 + src/datavisualization/utils/objecthelper.cpp | 5 + src/datavisualization/utils/shaderhelper.cpp | 5 + src/datavisualization/utils/surfaceobject.cpp | 5 + src/datavisualization/utils/texturehelper.cpp | 5 + src/datavisualization/utils/utils.cpp | 5 + src/datavisualization/utils/vertexindexer.cpp | 5 + 68 files changed, 622 insertions(+), 289 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/axis/qabstract3daxis.cpp b/src/datavisualization/axis/qabstract3daxis.cpp index d2c0f6e8..99a4a91d 100644 --- a/src/datavisualization/axis/qabstract3daxis.cpp +++ b/src/datavisualization/axis/qabstract3daxis.cpp @@ -22,7 +22,7 @@ namespace QtDataVisualization { /*! - * \class QAbstract3DAxis + * \class QtDataVisualization::QAbstract3DAxis * \inmodule QtDataVisualization * \brief QAbstract3DAxis is base class for axes of a graph. * \since Qt Data Visualization 1.0 @@ -37,7 +37,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QAbstract3DAxis + * \instantiates QtDataVisualization::QAbstract3DAxis * \brief AbstractAxis3D is base type for axes of a graph. * * This type is uncreatable, but contains properties that are exposed via subtypes. @@ -255,6 +255,10 @@ bool QAbstract3DAxis::isAutoAdjustRange() const */ // QAbstract3DAxisPrivate +/*! + * \class QtDataVisualization::QAbstract3DAxisPrivate + * \internal + */ QAbstract3DAxisPrivate::QAbstract3DAxisPrivate(QAbstract3DAxis *q, QAbstract3DAxis::AxisType type) : QObject(0), diff --git a/src/datavisualization/axis/qcategory3daxis.cpp b/src/datavisualization/axis/qcategory3daxis.cpp index 0dfe2e4a..a29fb376 100644 --- a/src/datavisualization/axis/qcategory3daxis.cpp +++ b/src/datavisualization/axis/qcategory3daxis.cpp @@ -24,7 +24,7 @@ namespace QtDataVisualization { /*! - * \class QCategory3DAxis + * \class QtDataVisualization::QCategory3DAxis * \inmodule QtDataVisualization * \brief The QCategory3DAxis class is used for manipulating an axis of a graph. * \since Qt Data Visualization 1.0 @@ -41,7 +41,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QCategory3DAxis + * \instantiates QtDataVisualization::QCategory3DAxis * \inherits AbstractAxis3D * \brief The CategoryAxis3D type is used for manipulating an axis of a graph. * @@ -117,6 +117,11 @@ QCategory3DAxisPrivate *QCategory3DAxis::dptr() return static_cast(d_ptr.data()); } +/*! + * \class QtDataVisualization::QCategory3DAxisPrivate + * \internal + */ + QCategory3DAxisPrivate::QCategory3DAxisPrivate(QCategory3DAxis *q) : QAbstract3DAxisPrivate(q, QAbstract3DAxis::AxisTypeCategory), m_labelsExplicitlySet(false) diff --git a/src/datavisualization/axis/qvalue3daxis.cpp b/src/datavisualization/axis/qvalue3daxis.cpp index b34d7511..deee9bac 100644 --- a/src/datavisualization/axis/qvalue3daxis.cpp +++ b/src/datavisualization/axis/qvalue3daxis.cpp @@ -23,7 +23,7 @@ namespace QtDataVisualization { /*! - * \class QValue3DAxis + * \class QtDataVisualization::QValue3DAxis * \inmodule QtDataVisualization * \brief The QValue3DAxis class is used for manipulating an axis of a graph. * \since Qt Data Visualization 1.0 @@ -41,7 +41,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QValue3DAxis + * \instantiates QtDataVisualization::QValue3DAxis * \inherits AbstractAxis3D * \brief The ValueAxis3D type is used for manipulating an axis of a graph. * @@ -184,6 +184,11 @@ const QValue3DAxisPrivate *QValue3DAxis::dptrc() const return static_cast(d_ptr.data()); } +/*! + * \class QtDataVisualization::QValue3DAxisPrivate + * \internal + */ + QValue3DAxisPrivate::QValue3DAxisPrivate(QValue3DAxis *q) : QAbstract3DAxisPrivate(q, QAbstract3DAxis::AxisTypeValue), m_segmentCount(5), diff --git a/src/datavisualization/data/abstractitemmodelhandler.cpp b/src/datavisualization/data/abstractitemmodelhandler.cpp index 6cae79c8..33fe7791 100644 --- a/src/datavisualization/data/abstractitemmodelhandler.cpp +++ b/src/datavisualization/data/abstractitemmodelhandler.cpp @@ -21,6 +21,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::AbstractItemModelHandler + * \internal + */ + AbstractItemModelHandler::AbstractItemModelHandler(QObject *parent) : QObject(parent), resolvePending(0) diff --git a/src/datavisualization/data/abstractrenderitem.cpp b/src/datavisualization/data/abstractrenderitem.cpp index 268c1e9b..9ed51e43 100644 --- a/src/datavisualization/data/abstractrenderitem.cpp +++ b/src/datavisualization/data/abstractrenderitem.cpp @@ -20,6 +20,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::AbstractRenderItem + * \internal + */ + AbstractRenderItem::AbstractRenderItem() : m_selectionLabelItem(0) { diff --git a/src/datavisualization/data/baritemmodelhandler.cpp b/src/datavisualization/data/baritemmodelhandler.cpp index bd6f127b..5147e631 100644 --- a/src/datavisualization/data/baritemmodelhandler.cpp +++ b/src/datavisualization/data/baritemmodelhandler.cpp @@ -20,6 +20,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::BarItemModelHandler + * \internal + */ + BarItemModelHandler::BarItemModelHandler(QItemModelBarDataProxy *proxy, QObject *parent) : AbstractItemModelHandler(parent), m_proxy(proxy), diff --git a/src/datavisualization/data/barrenderitem.cpp b/src/datavisualization/data/barrenderitem.cpp index 678d6ba0..be96936e 100644 --- a/src/datavisualization/data/barrenderitem.cpp +++ b/src/datavisualization/data/barrenderitem.cpp @@ -21,6 +21,21 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::BarRenderItem + * \internal + */ + +/*! + * \typedef QtDataVisualization::BarRenderItemRow + * \internal + */ + +/*! + * \typedef QtDataVisualization::BarRenderItemArray + * \internal + */ + BarRenderItem::BarRenderItem() : AbstractRenderItem(), m_value(0), diff --git a/src/datavisualization/data/barrenderitem_p.h b/src/datavisualization/data/barrenderitem_p.h index 5a44e2fd..f44ba2b4 100644 --- a/src/datavisualization/data/barrenderitem_p.h +++ b/src/datavisualization/data/barrenderitem_p.h @@ -47,7 +47,15 @@ public: inline const QPoint &position() const { return m_position; } // Actual cached data value of the bar (needed to trigger label reformats) - inline void setValue(float value); + inline void setValue(float value) + { + m_value = value; + // Force reformatting on next access by setting label string to null string + if (!m_sliceLabel.isNull()) + setSliceLabel(QString()); + if (!m_selectionLabel.isNull()) + setSelectionLabel(QString()); + } inline float value() const { return m_value; } // Normalized bar height @@ -77,16 +85,6 @@ protected: friend class QBarDataItem; }; -void BarRenderItem::setValue(float value) -{ - m_value = value; - // Force reformatting on next access by setting label string to null string - if (!m_sliceLabel.isNull()) - setSliceLabel(QString()); - if (!m_selectionLabel.isNull()) - setSelectionLabel(QString()); -} - typedef QVector BarRenderItemRow; typedef QVector BarRenderItemArray; diff --git a/src/datavisualization/data/labelitem.cpp b/src/datavisualization/data/labelitem.cpp index 78e8d0f2..658912fc 100644 --- a/src/datavisualization/data/labelitem.cpp +++ b/src/datavisualization/data/labelitem.cpp @@ -20,6 +20,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::LabelItem + * \internal + */ + LabelItem::LabelItem() : m_size(QSize(0, 0)), m_textureId(0) diff --git a/src/datavisualization/data/qabstract3dseries.cpp b/src/datavisualization/data/qabstract3dseries.cpp index 577a04a9..7c6798bc 100644 --- a/src/datavisualization/data/qabstract3dseries.cpp +++ b/src/datavisualization/data/qabstract3dseries.cpp @@ -24,7 +24,7 @@ namespace QtDataVisualization { /*! - * \class QAbstract3DSeries + * \class QtDataVisualization::QAbstract3DSeries * \inmodule QtDataVisualization * \brief Base class for all QtDataVisualization series. * \since Qt Data Visualization 1.0 @@ -33,18 +33,75 @@ namespace QtDataVisualization { * \sa QBar3DSeries, QScatter3DSeries, QSurface3DSeries, {Qt Data Visualization Data Handling} */ +/*! + * \class QtDataVisualization::QAbstract3DSeriesChangeBitField + * \internal + */ + +/*! + * \class QtDataVisualization::QAbstract3DSeriesThemeOverrideBitField + * \internal + */ + /*! * \qmltype Abstract3DSeries * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QAbstract3DSeries + * \instantiates QtDataVisualization::QAbstract3DSeries * \brief Base type for all QtDataVisualization series. * * This type is uncreatable, but contains properties that are exposed via subtypes. * \sa Bar3DSeries, Scatter3DSeries, Surface3DSeries, {Qt Data Visualization Data Handling} */ +/*! + * \enum QAbstract3DSeries::SeriesType + * + * Type of the series. + * + * \value SeriesTypeNone + * No series type. + * \value SeriesTypeBar + * Series type for Q3DBars. + * \value SeriesTypeScatter + * Series type for Q3DScatter. + * \value SeriesTypeSurface + * Series type for Q3DSurface. + */ + +/*! + * \enum QAbstract3DSeries::Mesh + * + * Predefined mesh types. All styles are not usable with all visualization types. + * + * \value MeshUserDefined + * User defined mesh, set via QAbstract3DSeries::userDefinedMesh property. + * \value MeshBar + * Basic rectangular bar. + * \value MeshCube + * Basic cube. + * \value MeshPyramid + * Four-sided pyramid. + * \value MeshCone + * Basic cone. + * \value MeshCylinder + * Basic cylinder. + * \value MeshBevelBar + * Slightly beveled (rounded) rectangular bar. + * \value MeshBevelCube + * Slightly beveled (rounded) cube. + * \value MeshSphere + * Sphere. + * \value MeshMinimal + * The minimal 3D mesh: a triangular pyramid. Usable only with Q3DScatter. + * \value MeshArrow + * Arrow pointing upwards. + * \value MeshPoint + * 2D point. Usable only with Q3DScatter. + * \b Note: Shadows and color gradients do not affect this style. + */ + /*! * \qmlproperty Abstract3DSeries.SeriesType Abstract3DSeries::type * The type of the series. @@ -167,53 +224,6 @@ namespace QtDataVisualization { * \sa itemLabelFormat */ -/*! - * \enum QAbstract3DSeries::SeriesType - * - * Type of the series. - * - * \value SeriesTypeNone - * No series type. - * \value SeriesTypeBar - * Series type for Q3DBars. - * \value SeriesTypeScatter - * Series type for Q3DScatter. - * \value SeriesTypeSurface - * Series type for Q3DSurface. - */ - -/*! - * \enum QAbstract3DSeries::Mesh - * - * Predefined mesh types. All styles are not usable with all visualization types. - * - * \value MeshUserDefined - * User defined mesh, set via QAbstract3DSeries::userDefinedMesh property. - * \value MeshBar - * Basic rectangular bar. - * \value MeshCube - * Basic cube. - * \value MeshPyramid - * Four-sided pyramid. - * \value MeshCone - * Basic cone. - * \value MeshCylinder - * Basic cylinder. - * \value MeshBevelBar - * Slightly beveled (rounded) rectangular bar. - * \value MeshBevelCube - * Slightly beveled (rounded) cube. - * \value MeshSphere - * Sphere. - * \value MeshMinimal - * The minimal 3D mesh: a triangular pyramid. Usable only with Q3DScatter. - * \value MeshArrow - * Arrow pointing upwards. - * \value MeshPoint - * 2D point. Usable only with Q3DScatter. - * \b Note: Shadows and color gradients do not affect this style. - */ - /*! * \internal */ @@ -519,6 +529,10 @@ QString QAbstract3DSeries::name() const } // QAbstract3DSeriesPrivate +/*! + * \class QtDataVisualization::QAbstract3DSeriesPrivate + * \internal + */ QAbstract3DSeriesPrivate::QAbstract3DSeriesPrivate(QAbstract3DSeries *q, QAbstract3DSeries::SeriesType type) : QObject(0), diff --git a/src/datavisualization/data/qabstractdataproxy.cpp b/src/datavisualization/data/qabstractdataproxy.cpp index 631bd8ac..ce377d2d 100644 --- a/src/datavisualization/data/qabstractdataproxy.cpp +++ b/src/datavisualization/data/qabstractdataproxy.cpp @@ -23,7 +23,7 @@ namespace QtDataVisualization { /*! - * \class QAbstractDataProxy + * \class QtDataVisualization::QAbstractDataProxy * \inmodule QtDataVisualization * \brief Base class for all QtDataVisualization data proxies. * \since Qt Data Visualization 1.0 @@ -37,7 +37,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QAbstractDataProxy + * \instantiates QtDataVisualization::QAbstractDataProxy * \brief Base type for all QtDataVisualization data proxies. * * This type is uncreatable, but contains properties that are exposed via subtypes. @@ -91,6 +91,10 @@ QAbstractDataProxy::DataType QAbstractDataProxy::type() const } // QAbstractDataProxyPrivate +/*! + * \class QtDataVisualization::QAbstractDataProxyPrivate + * \internal + */ QAbstractDataProxyPrivate::QAbstractDataProxyPrivate(QAbstractDataProxy *q, QAbstractDataProxy::DataType type) : QObject(0), diff --git a/src/datavisualization/data/qbar3dseries.cpp b/src/datavisualization/data/qbar3dseries.cpp index d7403712..edee80f5 100644 --- a/src/datavisualization/data/qbar3dseries.cpp +++ b/src/datavisualization/data/qbar3dseries.cpp @@ -22,7 +22,7 @@ namespace QtDataVisualization { /*! - * \class QBar3DSeries + * \class QtDataVisualization::QBar3DSeries * \inmodule QtDataVisualization * \brief Base series class for Q3DBars. * \since Qt Data Visualization 1.0 @@ -69,7 +69,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QBar3DSeries + * \instantiates QtDataVisualization::QBar3DSeries * \inherits Abstract3DSeries * \brief Base series type for Bars3D. * @@ -209,6 +209,10 @@ const QBar3DSeriesPrivate *QBar3DSeries::dptrc() const } // QBar3DSeriesPrivate +/*! + * \class QtDataVisualization::QBar3DSeriesPrivate + * \internal + */ QBar3DSeriesPrivate::QBar3DSeriesPrivate(QBar3DSeries *q) : QAbstract3DSeriesPrivate(q, QAbstract3DSeries::SeriesTypeBar), diff --git a/src/datavisualization/data/qbardataitem.cpp b/src/datavisualization/data/qbardataitem.cpp index 0d69bc95..cd4178ab 100644 --- a/src/datavisualization/data/qbardataitem.cpp +++ b/src/datavisualization/data/qbardataitem.cpp @@ -21,7 +21,7 @@ namespace QtDataVisualization { /*! - * \class QBarDataItem + * \class QtDataVisualization::QBarDataItem * \inmodule QtDataVisualization * \brief The QBarDataItem class provides a container for resolved data to be added to bar graphs. * \since Qt Data Visualization 1.0 @@ -99,6 +99,10 @@ void QBarDataItem::createExtraData() d_ptr = new QBarDataItemPrivate; } +/*! + * \class QtDataVisualization::QBarDataItemPrivate + * \internal + */ QBarDataItemPrivate::QBarDataItemPrivate() { } diff --git a/src/datavisualization/data/qbardataproxy.cpp b/src/datavisualization/data/qbardataproxy.cpp index 5c89f7d4..93645f38 100644 --- a/src/datavisualization/data/qbardataproxy.cpp +++ b/src/datavisualization/data/qbardataproxy.cpp @@ -23,7 +23,7 @@ namespace QtDataVisualization { /*! - * \class QBarDataProxy + * \class QtDataVisualization::QBarDataProxy * \inmodule QtDataVisualization * \brief Base proxy class for Q3DBars. * \since Qt Data Visualization 1.0 @@ -47,12 +47,24 @@ namespace QtDataVisualization { * \sa {Qt Data Visualization Data Handling} */ +/*! + * \typedef QtDataVisualization::QBarDataRow + * + * A vector of QBarDataItems. + */ + +/*! + * \typedef QtDataVisualization::QBarDataArray + * + * A list of pointers to QBarDataRows. + */ + /*! * \qmltype BarDataProxy * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QBarDataProxy + * \instantiates QtDataVisualization::QBarDataProxy * \inherits AbstractDataProxy * \brief Base proxy type for Bars3D. * @@ -481,6 +493,10 @@ const QBarDataProxyPrivate *QBarDataProxy::dptrc() const // QBarDataProxyPrivate +/*! + * \class QtDataVisualization::QBarDataProxyPrivate + * \internal + */ QBarDataProxyPrivate::QBarDataProxyPrivate(QBarDataProxy *q) : QAbstractDataProxyPrivate(q, QAbstractDataProxy::DataTypeBar), m_dataArray(new QBarDataArray) diff --git a/src/datavisualization/data/qheightmapsurfacedataproxy.cpp b/src/datavisualization/data/qheightmapsurfacedataproxy.cpp index 96d6e45a..21f7ae8e 100644 --- a/src/datavisualization/data/qheightmapsurfacedataproxy.cpp +++ b/src/datavisualization/data/qheightmapsurfacedataproxy.cpp @@ -25,7 +25,7 @@ const float defaultMinValue = 0.0f; const float defaultMaxValue = 10.0f; /*! - * \class QHeightMapSurfaceDataProxy + * \class QtDataVisualization::QHeightMapSurfaceDataProxy * \inmodule QtDataVisualization * \brief Base proxy class for Q3DSurface. * \since Qt Data Visualization 1.0 @@ -46,7 +46,7 @@ const float defaultMaxValue = 10.0f; * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QHeightMapSurfaceDataProxy + * \instantiates QtDataVisualization::QHeightMapSurfaceDataProxy * \inherits SurfaceDataProxy * \brief Base proxy type for Surface3D. * @@ -300,6 +300,10 @@ const QHeightMapSurfaceDataProxyPrivate *QHeightMapSurfaceDataProxy::dptrc() con // QHeightMapSurfaceDataProxyPrivate // +/*! + * \class QtDataVisualization::QHeightMapSurfaceDataProxyPrivate + * \internal + */ QHeightMapSurfaceDataProxyPrivate::QHeightMapSurfaceDataProxyPrivate(QHeightMapSurfaceDataProxy *q) : QSurfaceDataProxyPrivate(q), m_minXValue(defaultMinValue), diff --git a/src/datavisualization/data/qitemmodelbardataproxy.cpp b/src/datavisualization/data/qitemmodelbardataproxy.cpp index 77c0463e..52a8cbb5 100644 --- a/src/datavisualization/data/qitemmodelbardataproxy.cpp +++ b/src/datavisualization/data/qitemmodelbardataproxy.cpp @@ -23,7 +23,7 @@ namespace QtDataVisualization { /*! - * \class QItemModelBarDataProxy + * \class QtDataVisualization::QItemModelBarDataProxy * \inmodule QtDataVisualization * \brief Proxy class for presenting data in item models with Q3DBars. * \since Qt Data Visualization 1.0 @@ -66,7 +66,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QItemModelBarDataProxy + * \instantiates QtDataVisualization::QItemModelBarDataProxy * \inherits BarDataProxy * \brief Proxy class for presenting data in item models with Bars3D. * @@ -446,6 +446,31 @@ const QItemModelBarDataProxyPrivate *QItemModelBarDataProxy::dptrc() const return static_cast(d_ptr.data()); } +// QItemModelBarDataProxyPrivate + +/*! + * \class QtDataVisualization::QItemModelBarDataProxyPrivate + * \internal + */ +QItemModelBarDataProxyPrivate::QItemModelBarDataProxyPrivate(QItemModelBarDataProxy *q) + : QBarDataProxyPrivate(q), + m_itemModelHandler(new BarItemModelHandler(q)), + m_useModelCategories(false), + m_autoRowCategories(true), + m_autoColumnCategories(true) +{ +} + +QItemModelBarDataProxyPrivate::~QItemModelBarDataProxyPrivate() +{ + delete m_itemModelHandler; +} + +QItemModelBarDataProxy *QItemModelBarDataProxyPrivate::qptr() +{ + return static_cast(q_ptr); +} + void QItemModelBarDataProxyPrivate::connectItemModelHandler() { QObject::connect(m_itemModelHandler, &BarItemModelHandler::itemModelChanged, @@ -468,25 +493,4 @@ void QItemModelBarDataProxyPrivate::connectItemModelHandler() m_itemModelHandler, &AbstractItemModelHandler::handleMappingChanged); } -// QItemModelBarDataProxyPrivate - -QItemModelBarDataProxyPrivate::QItemModelBarDataProxyPrivate(QItemModelBarDataProxy *q) - : QBarDataProxyPrivate(q), - m_itemModelHandler(new BarItemModelHandler(q)), - m_useModelCategories(false), - m_autoRowCategories(true), - m_autoColumnCategories(true) -{ -} - -QItemModelBarDataProxyPrivate::~QItemModelBarDataProxyPrivate() -{ - delete m_itemModelHandler; -} - -QItemModelBarDataProxy *QItemModelBarDataProxyPrivate::qptr() -{ - return static_cast(q_ptr); -} - } diff --git a/src/datavisualization/data/qitemmodelscatterdataproxy.cpp b/src/datavisualization/data/qitemmodelscatterdataproxy.cpp index e2ba8fec..869d8e8c 100644 --- a/src/datavisualization/data/qitemmodelscatterdataproxy.cpp +++ b/src/datavisualization/data/qitemmodelscatterdataproxy.cpp @@ -23,7 +23,7 @@ namespace QtDataVisualization { /*! - * \class QItemModelScatterDataProxy + * \class QtDataVisualization::QItemModelScatterDataProxy * \inmodule QtDataVisualization * \brief Proxy class for presenting data in item models with Q3DScatter. * \since Qt Data Visualization 1.0 @@ -52,7 +52,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QItemModelScatterDataProxy + * \instantiates QtDataVisualization::QItemModelScatterDataProxy * \inherits ScatterDataProxy * \brief Proxy class for presenting data in item models with Scatter3D. * @@ -235,20 +235,12 @@ const QItemModelScatterDataProxyPrivate *QItemModelScatterDataProxy::dptrc() con return static_cast(d_ptr.data()); } -void QItemModelScatterDataProxyPrivate::connectItemModelHandler() -{ - QObject::connect(m_itemModelHandler, &ScatterItemModelHandler::itemModelChanged, - qptr(), &QItemModelScatterDataProxy::itemModelChanged); - QObject::connect(qptr(), &QItemModelScatterDataProxy::xPosRoleChanged, - m_itemModelHandler, &AbstractItemModelHandler::handleMappingChanged); - QObject::connect(qptr(), &QItemModelScatterDataProxy::yPosRoleChanged, - m_itemModelHandler, &AbstractItemModelHandler::handleMappingChanged); - QObject::connect(qptr(), &QItemModelScatterDataProxy::zPosRoleChanged, - m_itemModelHandler, &AbstractItemModelHandler::handleMappingChanged); -} - // QItemModelScatterDataProxyPrivate +/*! + * \class QtDataVisualization::QItemModelScatterDataProxyPrivate + * \internal + */ QItemModelScatterDataProxyPrivate::QItemModelScatterDataProxyPrivate(QItemModelScatterDataProxy *q) : QScatterDataProxyPrivate(q), m_itemModelHandler(new ScatterItemModelHandler(q)) @@ -265,4 +257,16 @@ QItemModelScatterDataProxy *QItemModelScatterDataProxyPrivate::qptr() return static_cast(q_ptr); } +void QItemModelScatterDataProxyPrivate::connectItemModelHandler() +{ + QObject::connect(m_itemModelHandler, &ScatterItemModelHandler::itemModelChanged, + qptr(), &QItemModelScatterDataProxy::itemModelChanged); + QObject::connect(qptr(), &QItemModelScatterDataProxy::xPosRoleChanged, + m_itemModelHandler, &AbstractItemModelHandler::handleMappingChanged); + QObject::connect(qptr(), &QItemModelScatterDataProxy::yPosRoleChanged, + m_itemModelHandler, &AbstractItemModelHandler::handleMappingChanged); + QObject::connect(qptr(), &QItemModelScatterDataProxy::zPosRoleChanged, + m_itemModelHandler, &AbstractItemModelHandler::handleMappingChanged); +} + } diff --git a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp index 7ca9842e..b387bd7b 100644 --- a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp +++ b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp @@ -25,7 +25,7 @@ namespace QtDataVisualization { // TODO: CHECK DOCUMENTATION! /*! - * \class QItemModelSurfaceDataProxy + * \class QtDataVisualization::QItemModelSurfaceDataProxy * \inmodule QtDataVisualization * \brief Proxy class for presenting data in item models with Q3DSurface. * \since Qt Data Visualization 1.0 @@ -69,7 +69,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QItemModelSurfaceDataProxy + * \instantiates QtDataVisualization::QItemModelSurfaceDataProxy * \inherits SurfaceDataProxy * \brief Proxy class for presenting data in item models with Surface3D. * @@ -456,6 +456,31 @@ const QItemModelSurfaceDataProxyPrivate *QItemModelSurfaceDataProxy::dptrc() con return static_cast(d_ptr.data()); } +// QItemModelSurfaceDataProxyPrivate + +/*! + * \class QtDataVisualization::QItemModelSurfaceDataProxyPrivate + * \internal + */ +QItemModelSurfaceDataProxyPrivate::QItemModelSurfaceDataProxyPrivate(QItemModelSurfaceDataProxy *q) + : QSurfaceDataProxyPrivate(q), + m_itemModelHandler(new SurfaceItemModelHandler(q)), + m_useModelCategories(false), + m_autoRowCategories(true), + m_autoColumnCategories(true) +{ +} + +QItemModelSurfaceDataProxyPrivate::~QItemModelSurfaceDataProxyPrivate() +{ + delete m_itemModelHandler; +} + +QItemModelSurfaceDataProxy *QItemModelSurfaceDataProxyPrivate::qptr() +{ + return static_cast(q_ptr); +} + void QItemModelSurfaceDataProxyPrivate::connectItemModelHandler() { QObject::connect(m_itemModelHandler, &SurfaceItemModelHandler::itemModelChanged, @@ -478,25 +503,4 @@ void QItemModelSurfaceDataProxyPrivate::connectItemModelHandler() m_itemModelHandler, &AbstractItemModelHandler::handleMappingChanged); } -// QItemModelSurfaceDataProxyPrivate - -QItemModelSurfaceDataProxyPrivate::QItemModelSurfaceDataProxyPrivate(QItemModelSurfaceDataProxy *q) - : QSurfaceDataProxyPrivate(q), - m_itemModelHandler(new SurfaceItemModelHandler(q)), - m_useModelCategories(false), - m_autoRowCategories(true), - m_autoColumnCategories(true) -{ -} - -QItemModelSurfaceDataProxyPrivate::~QItemModelSurfaceDataProxyPrivate() -{ - delete m_itemModelHandler; -} - -QItemModelSurfaceDataProxy *QItemModelSurfaceDataProxyPrivate::qptr() -{ - return static_cast(q_ptr); -} - } diff --git a/src/datavisualization/data/qscatter3dseries.cpp b/src/datavisualization/data/qscatter3dseries.cpp index 38e564f5..edc64989 100644 --- a/src/datavisualization/data/qscatter3dseries.cpp +++ b/src/datavisualization/data/qscatter3dseries.cpp @@ -22,7 +22,7 @@ namespace QtDataVisualization { /*! - * \class QScatter3DSeries + * \class QtDataVisualization::QScatter3DSeries * \inmodule QtDataVisualization * \brief Base series class for Q3DScatter. * \since Qt Data Visualization 1.0 @@ -65,7 +65,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QScatter3DSeries + * \instantiates QtDataVisualization::QScatter3DSeries * \inherits Abstract3DSeries * \brief Base series type for Scatter3D. * @@ -234,6 +234,10 @@ const QScatter3DSeriesPrivate *QScatter3DSeries::dptrc() const // QScatter3DSeriesPrivate +/*! + * \class QtDataVisualization::QScatter3DSeriesPrivate + * \internal + */ QScatter3DSeriesPrivate::QScatter3DSeriesPrivate(QScatter3DSeries *q) : QAbstract3DSeriesPrivate(q, QAbstract3DSeries::SeriesTypeScatter), m_selectedItem(Scatter3DController::invalidSelectionIndex()), diff --git a/src/datavisualization/data/qscatterdataitem.cpp b/src/datavisualization/data/qscatterdataitem.cpp index cb6d5c70..56d8cd35 100644 --- a/src/datavisualization/data/qscatterdataitem.cpp +++ b/src/datavisualization/data/qscatterdataitem.cpp @@ -21,7 +21,7 @@ namespace QtDataVisualization { /*! - * \class QScatterDataItem + * \class QtDataVisualization::QScatterDataItem * \inmodule QtDataVisualization * \brief The QScatterDataItem class provides a container for resolved data to be added to scatter * graphs. @@ -140,6 +140,10 @@ void QScatterDataItem::createExtraData() d_ptr = new QScatterDataItemPrivate; } +/*! + * \class QtDataVisualization::QScatterDataItemPrivate + * \internal + */ QScatterDataItemPrivate::QScatterDataItemPrivate() { } diff --git a/src/datavisualization/data/qscatterdataproxy.cpp b/src/datavisualization/data/qscatterdataproxy.cpp index a58149a1..c9292727 100644 --- a/src/datavisualization/data/qscatterdataproxy.cpp +++ b/src/datavisualization/data/qscatterdataproxy.cpp @@ -23,7 +23,7 @@ namespace QtDataVisualization { /*! - * \class QScatterDataProxy + * \class QtDataVisualization::QScatterDataProxy * \inmodule QtDataVisualization * \brief Base proxy class for Q3DScatter. * \since Qt Data Visualization 1.0 @@ -35,12 +35,18 @@ namespace QtDataVisualization { * \sa {Qt Data Visualization Data Handling} */ +/*! + * \typedef QtDataVisualization::QScatterDataArray + * + * A vector of QScatterDataItems. + */ + /*! * \qmltype ScatterDataProxy * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QScatterDataProxy + * \instantiates QtDataVisualization::QScatterDataProxy * \inherits AbstractDataProxy * \brief Base proxy class for Scatter3D. * @@ -277,6 +283,10 @@ const QScatterDataProxyPrivate *QScatterDataProxy::dptrc() const // QScatterDataProxyPrivate +/*! + * \class QtDataVisualization::QScatterDataProxyPrivate + * \internal + */ QScatterDataProxyPrivate::QScatterDataProxyPrivate(QScatterDataProxy *q) : QAbstractDataProxyPrivate(q, QAbstractDataProxy::DataTypeScatter), m_dataArray(new QScatterDataArray) diff --git a/src/datavisualization/data/qsurface3dseries.cpp b/src/datavisualization/data/qsurface3dseries.cpp index 0994e010..c34c1415 100644 --- a/src/datavisualization/data/qsurface3dseries.cpp +++ b/src/datavisualization/data/qsurface3dseries.cpp @@ -22,7 +22,7 @@ namespace QtDataVisualization { /*! - * \class QSurface3DSeries + * \class QtDataVisualization::QSurface3DSeries * \inmodule QtDataVisualization * \brief Base series class for Q3DSurface. * \since Qt Data Visualization 1.0 @@ -68,7 +68,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QSurface3DSeries + * \instantiates QtDataVisualization::QSurface3DSeries * \inherits Abstract3DSeries * \brief Base series type for Surfaces3D. * @@ -302,6 +302,10 @@ const QSurface3DSeriesPrivate *QSurface3DSeries::dptrc() const // QSurface3DSeriesPrivate +/*! + * \class QtDataVisualization::QSurface3DSeriesPrivate + * \internal + */ QSurface3DSeriesPrivate::QSurface3DSeriesPrivate(QSurface3DSeries *q) : QAbstract3DSeriesPrivate(q, QAbstract3DSeries::SeriesTypeSurface), m_selectedPoint(Surface3DController::invalidSelectionPosition()), diff --git a/src/datavisualization/data/qsurfacedataitem.cpp b/src/datavisualization/data/qsurfacedataitem.cpp index 291038e2..b531d6b6 100644 --- a/src/datavisualization/data/qsurfacedataitem.cpp +++ b/src/datavisualization/data/qsurfacedataitem.cpp @@ -21,7 +21,7 @@ namespace QtDataVisualization { /*! - * \class QSurfaceDataItem + * \class QtDataVisualization::QSurfaceDataItem * \inmodule QtDataVisualization * \brief The QSurfaceDataItem class provides a container for resolved data to be added to surface * graphs. @@ -132,6 +132,10 @@ void QSurfaceDataItem::createExtraData() d_ptr = new QSurfaceDataItemPrivate; } +/*! + * \class QtDataVisualization::QSurfaceDataItemPrivate + * \internal + */ QSurfaceDataItemPrivate::QSurfaceDataItemPrivate() { } diff --git a/src/datavisualization/data/qsurfacedataproxy.cpp b/src/datavisualization/data/qsurfacedataproxy.cpp index e3a6cb13..dbfcfa86 100644 --- a/src/datavisualization/data/qsurfacedataproxy.cpp +++ b/src/datavisualization/data/qsurfacedataproxy.cpp @@ -23,7 +23,7 @@ namespace QtDataVisualization { /*! - * \class QSurfaceDataProxy + * \class QtDataVisualization::QSurfaceDataProxy * \inmodule QtDataVisualization * \brief Base proxy class for Q3DSurface. * \since Qt Data Visualization 1.0 @@ -56,12 +56,24 @@ namespace QtDataVisualization { * \sa {Qt Data Visualization Data Handling} */ +/*! + * \typedef QtDataVisualization::QSurfaceDataRow + * + * A vector of QSurfaceDataItems. + */ + +/*! + * \typedef QtDataVisualization::QSurfaceDataArray + * + * A list of pointers to QSurfaceDataRows. + */ + /*! * \qmltype SurfaceDataProxy * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QSurfaceDataProxy + * \instantiates QtDataVisualization::QSurfaceDataProxy * \inherits AbstractDataProxy * \brief Base proxy class for Surface3D. * @@ -347,6 +359,10 @@ const QSurfaceDataProxyPrivate *QSurfaceDataProxy::dptrc() const // QSurfaceDataProxyPrivate // +/*! + * \class QtDataVisualization::QSurfaceDataProxyPrivate + * \internal + */ QSurfaceDataProxyPrivate::QSurfaceDataProxyPrivate(QSurfaceDataProxy *q) : QAbstractDataProxyPrivate(q, QAbstractDataProxy::DataTypeSurface), m_dataArray(new QSurfaceDataArray) diff --git a/src/datavisualization/data/scatteritemmodelhandler.cpp b/src/datavisualization/data/scatteritemmodelhandler.cpp index f5bac672..ac7e69e8 100644 --- a/src/datavisualization/data/scatteritemmodelhandler.cpp +++ b/src/datavisualization/data/scatteritemmodelhandler.cpp @@ -21,6 +21,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::ScatterItemModelHandler + * \internal + */ + ScatterItemModelHandler::ScatterItemModelHandler(QItemModelScatterDataProxy *proxy, QObject *parent) : AbstractItemModelHandler(parent), m_proxy(proxy), diff --git a/src/datavisualization/data/scatterrenderitem.cpp b/src/datavisualization/data/scatterrenderitem.cpp index be6d3852..5b31c5b2 100644 --- a/src/datavisualization/data/scatterrenderitem.cpp +++ b/src/datavisualization/data/scatterrenderitem.cpp @@ -22,6 +22,16 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::ScatterRenderItem + * \internal + */ + +/*! + * \typedef ScatterRenderItemArray + * \internal + */ + ScatterRenderItem::ScatterRenderItem() : AbstractRenderItem(), m_visible(false) diff --git a/src/datavisualization/data/scatterrenderitem_p.h b/src/datavisualization/data/scatterrenderitem_p.h index 7b7d51f6..5e596505 100644 --- a/src/datavisualization/data/scatterrenderitem_p.h +++ b/src/datavisualization/data/scatterrenderitem_p.h @@ -43,10 +43,23 @@ public: virtual ~ScatterRenderItem(); inline const QVector3D &position() const { return m_position; } - inline void setPosition(const QVector3D &pos); + inline void setPosition(const QVector3D &pos) + { + if (m_position != pos) { + m_position = pos; + // Force reformatting on next access by setting label string to null string + if (!m_selectionLabel.isNull()) + setSelectionLabel(QString()); + } + } inline QQuaternion rotation() const { return m_rotation; } - inline void setRotation(const QQuaternion &rotation); + inline void setRotation(const QQuaternion &rotation) + { + if (m_rotation != rotation) + m_rotation = rotation; + } + inline bool isVisible() const { return m_visible; } inline void setVisible(bool visible) { m_visible = visible; } @@ -63,23 +76,6 @@ protected: friend class QScatterDataItem; }; - -void ScatterRenderItem::setPosition(const QVector3D &pos) -{ - if (m_position != pos) { - m_position = pos; - // Force reformatting on next access by setting label string to null string - if (!m_selectionLabel.isNull()) - setSelectionLabel(QString()); - } -} - -void ScatterRenderItem::setRotation(const QQuaternion &rotation) -{ - if (m_rotation != rotation) - m_rotation = rotation; -} - typedef QVector ScatterRenderItemArray; } diff --git a/src/datavisualization/data/surfaceitemmodelhandler.cpp b/src/datavisualization/data/surfaceitemmodelhandler.cpp index ac1a8b81..3256e660 100644 --- a/src/datavisualization/data/surfaceitemmodelhandler.cpp +++ b/src/datavisualization/data/surfaceitemmodelhandler.cpp @@ -20,6 +20,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::SurfaceItemModelHandler + * \internal + */ + SurfaceItemModelHandler::SurfaceItemModelHandler(QItemModelSurfaceDataProxy *proxy, QObject *parent) : AbstractItemModelHandler(parent), m_proxy(proxy), diff --git a/src/datavisualization/doc/qtdatavisualization.qdocconf b/src/datavisualization/doc/qtdatavisualization.qdocconf index 7a7fa0b1..29fd17f8 100644 --- a/src/datavisualization/doc/qtdatavisualization.qdocconf +++ b/src/datavisualization/doc/qtdatavisualization.qdocconf @@ -15,6 +15,8 @@ sourcedirs += .. depends += qtcore \ qtgui +indexes += $QTDIR/doc/html/qt.index + qhp.projects = qtdatavisualization qhp.qtdatavisualization.file = qtdatavisualization.qhp diff --git a/src/datavisualization/doc/src/qtdatavisualization.qdoc b/src/datavisualization/doc/src/qtdatavisualization.qdoc index e23940ea..c07f161b 100644 --- a/src/datavisualization/doc/src/qtdatavisualization.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization.qdoc @@ -19,7 +19,6 @@ /*! \namespace QtDataVisualization \inmodule QtDataVisualization - \target QtDataVisualization namespace QtDataVisualization namespace holds all the classes and enumerations in the QtDataVisualization module. @@ -300,7 +299,7 @@ /*! * \fn QSurfaceFormat QtDataVisualization::qDefaultSurfaceFormat(bool antialias = true) - * \relates QAbstract3DGraph + * \relates QtDataVisualization::QAbstract3DGraph * * Anti-aliasing is turned on by default on C++ and turned off on QML, except in OpenGL ES2 * environments, where anti-aliasing is not supported by Qt Data Visualization. diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 82d60865..9ec6f087 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -35,6 +35,16 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Abstract3DController + * \internal + */ + +/*! + * \class QtDataVisualization::Abstract3DChangeBitField + * \internal + */ + Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scene, QObject *parent) : QObject(parent), m_themeManager(new ThemeManager(this)), diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 9c7cfb39..9b4ae6ab 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -29,6 +29,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Abstract3DRenderer + * \internal + */ + Abstract3DRenderer::Abstract3DRenderer(Abstract3DController *controller) : QObject(0), m_hasNegativeValues(false), diff --git a/src/datavisualization/engine/axisrendercache.cpp b/src/datavisualization/engine/axisrendercache.cpp index 9fcd8b5d..5598563a 100644 --- a/src/datavisualization/engine/axisrendercache.cpp +++ b/src/datavisualization/engine/axisrendercache.cpp @@ -22,6 +22,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::AxisRenderCache + * \internal + */ + AxisRenderCache::AxisRenderCache() : m_type(QAbstract3DAxis::AxisTypeNone), m_min(0.0f), diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index 986b9a0e..b152909d 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -32,6 +32,16 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Bars3DController + * \internal + */ + +/*! + * \class QtDataVisualization::Bars3DChangeBitField + * \internal + */ + Bars3DController::Bars3DController(QRect boundRect, Q3DScene *scene) : Abstract3DController(boundRect, scene), m_selectedBar(invalidSelectionPosition()), diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 02b26821..97e21fc6 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -40,6 +40,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Bars3DRenderer + * \internal + */ + const GLfloat labelMargin = 0.05f; const GLfloat gridLineWidth = 0.005f; diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index ec36befd..a2905e32 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -40,6 +40,11 @@ StaticLibInitializer staticLibInitializer; namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Drawer + * \internal + */ + // Vertex array buffer for point const GLfloat point_data[] = {0.0f, 0.0f, 0.0f}; diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp index 3b8d837d..9a6ff6d5 100644 --- a/src/datavisualization/engine/q3dbars.cpp +++ b/src/datavisualization/engine/q3dbars.cpp @@ -27,7 +27,7 @@ namespace QtDataVisualization { /*! - * \class Q3DBars + * \class QtDataVisualization::Q3DBars * \inmodule QtDataVisualization * \brief The Q3DBars class provides methods for rendering 3D bar graphs. * \since Qt Data Visualization 1.0 @@ -351,6 +351,10 @@ const Q3DBarsPrivate *Q3DBars::dptrc() const return static_cast(d_ptr.data()); } +/*! + * \class QtDataVisualization::Q3DBarsPrivate + * \internal + */ Q3DBarsPrivate::Q3DBarsPrivate(Q3DBars *q) : QAbstract3DGraphPrivate(q) { diff --git a/src/datavisualization/engine/q3dbox.cpp b/src/datavisualization/engine/q3dbox.cpp index ce5f76b1..bbfa4ddc 100644 --- a/src/datavisualization/engine/q3dbox.cpp +++ b/src/datavisualization/engine/q3dbox.cpp @@ -23,7 +23,7 @@ namespace QtDataVisualization { /*! - \class Q3DBox + \class QtDataVisualization::Q3DBox \inmodule QtDataVisualization \brief The Q3DBox class represents an axis-aligned box in 3D space. \since Qt Data Visualization 1.0 @@ -404,13 +404,17 @@ Q3DBox Q3DBox::transformed(const QMatrix4x4& matrix) const /*! \fn bool qFuzzyCompare(const Q3DBox& box1, const Q3DBox& box2) - \relates Q3DBox + \relates QtDataVisualization::Q3DBox Returns true if \a box1 and \a box2 are almost equal; false otherwise. */ #ifndef QT_NO_DEBUG_STREAM +/*! + \fn operator<<(QDebug dbg, const Q3DBox &box) + \internal + */ QDebug operator<<(QDebug dbg, const Q3DBox &box) { if (box.isFinite()) { diff --git a/src/datavisualization/engine/q3dbox.h b/src/datavisualization/engine/q3dbox.h index e89f1cca..fcf46bdf 100644 --- a/src/datavisualization/engine/q3dbox.h +++ b/src/datavisualization/engine/q3dbox.h @@ -29,25 +29,71 @@ class Q3DBox; // Needed to circumvent an issue with qdoc. If this line is remove class QT_DATAVISUALIZATION_EXPORT Q3DBox { public: - Q3DBox(); - Q3DBox(const QVector3D& corner1, const QVector3D& corner2); + inline Q3DBox() : boxtype(Null), mincorner(0, 0, 0), maxcorner(0, 0, 0) {} + inline Q3DBox(const QVector3D& corner1, const QVector3D& corner2): boxtype(Finite), + mincorner(qMin(corner1.x(), corner2.x()), + qMin(corner1.y(), corner2.y()), + qMin(corner1.z(), corner2.z())), + maxcorner(qMax(corner1.x(), corner2.x()), + qMax(corner1.y(), corner2.y()), + qMax(corner1.z(), corner2.z())) {} + + inline bool isNull() const { return (boxtype == Null); } + inline bool isFinite() const { return (boxtype == Finite); } + inline bool isInfinite() const { return (boxtype == Infinite); } + + inline QVector3D minimum() const { return mincorner; } + inline QVector3D maximum() const { return maxcorner; } + inline void setExtents(const QVector3D& corner1, const QVector3D& corner2) + { + boxtype = Finite; + mincorner = QVector3D(qMin(corner1.x(), corner2.x()), + qMin(corner1.y(), corner2.y()), + qMin(corner1.z(), corner2.z())); + maxcorner = QVector3D(qMax(corner1.x(), corner2.x()), + qMax(corner1.y(), corner2.y()), + qMax(corner1.z(), corner2.z())); + } - bool isNull() const; - bool isFinite() const; - bool isInfinite() const; + inline void setToNull() + { + boxtype = Null; + mincorner = QVector3D(0, 0, 0); + maxcorner = QVector3D(0, 0, 0); + } - QVector3D minimum() const; - QVector3D maximum() const; - void setExtents(const QVector3D& corner1, const QVector3D& corner2); + inline void setToInfinite() + { + boxtype = Infinite; + mincorner = QVector3D(0, 0, 0); + maxcorner = QVector3D(0, 0, 0); + } - void setToNull(); - void setToInfinite(); + inline QVector3D size() const { return maxcorner - mincorner; } + inline QVector3D center() const { return (mincorner + maxcorner) * 0.5f; } - QVector3D size() const; - QVector3D center() const; + inline bool contains(const QVector3D& point) const + { + if (boxtype == Finite) { + return (point.x() >= mincorner.x() && point.x() <= maxcorner.x() && + point.y() >= mincorner.y() && point.y() <= maxcorner.y() && + point.z() >= mincorner.z() && point.z() <= maxcorner.z()); + } else if (boxtype == Infinite) { + return true; + } else { + return false; + } + } - bool contains(const QVector3D& point) const; - bool contains(const Q3DBox& box) const; + inline bool contains(const Q3DBox& box) const + { + if (box.boxtype == Finite) + return contains(box.mincorner) && contains(box.maxcorner); + else if (box.boxtype == Infinite) + return (boxtype == Infinite); + else + return false; + } bool intersects(const Q3DBox& box) const; void intersect(const Q3DBox& box); @@ -62,8 +108,19 @@ public: void transform(const QMatrix4x4& matrix); Q3DBox transformed(const QMatrix4x4& matrix) const; - bool operator==(const Q3DBox& box) const; - bool operator!=(const Q3DBox& box) const; + inline bool operator==(const Q3DBox& box) const + { + return (boxtype == box.boxtype && + mincorner == box.mincorner && + maxcorner == box.maxcorner); + } + + inline bool operator!=(const Q3DBox& box) const + { + return (boxtype != box.boxtype || + mincorner != box.mincorner || + maxcorner != box.maxcorner); + } friend bool qFuzzyCompare(const Q3DBox& box1, const Q3DBox& box2); @@ -79,89 +136,6 @@ private: QVector3D mincorner, maxcorner; }; -inline Q3DBox::Q3DBox() : boxtype(Null), mincorner(0, 0, 0), maxcorner(0, 0, 0) {} - -inline Q3DBox::Q3DBox(const QVector3D& corner1, const QVector3D& corner2) - : boxtype(Finite), - mincorner(qMin(corner1.x(), corner2.x()), - qMin(corner1.y(), corner2.y()), - qMin(corner1.z(), corner2.z())), - maxcorner(qMax(corner1.x(), corner2.x()), - qMax(corner1.y(), corner2.y()), - qMax(corner1.z(), corner2.z())) {} - -inline bool Q3DBox::isNull() const { return (boxtype == Null); } -inline bool Q3DBox::isFinite() const { return (boxtype == Finite); } -inline bool Q3DBox::isInfinite() const { return (boxtype == Infinite); } - -inline QVector3D Q3DBox::minimum() const { return mincorner; } -inline QVector3D Q3DBox::maximum() const { return maxcorner; } - -inline void Q3DBox::setExtents(const QVector3D& corner1, const QVector3D& corner2) -{ - boxtype = Finite; - mincorner = QVector3D(qMin(corner1.x(), corner2.x()), - qMin(corner1.y(), corner2.y()), - qMin(corner1.z(), corner2.z())); - maxcorner = QVector3D(qMax(corner1.x(), corner2.x()), - qMax(corner1.y(), corner2.y()), - qMax(corner1.z(), corner2.z())); -} - -inline void Q3DBox::setToNull() -{ - boxtype = Null; - mincorner = QVector3D(0, 0, 0); - maxcorner = QVector3D(0, 0, 0); -} - -inline void Q3DBox::setToInfinite() -{ - boxtype = Infinite; - mincorner = QVector3D(0, 0, 0); - maxcorner = QVector3D(0, 0, 0); -} - -inline QVector3D Q3DBox::size() const { return maxcorner - mincorner; } -inline QVector3D Q3DBox::center() const { return (mincorner + maxcorner) * 0.5f; } - -inline bool Q3DBox::contains(const QVector3D& point) const -{ - if (boxtype == Finite) { - return (point.x() >= mincorner.x() && point.x() <= maxcorner.x() && - point.y() >= mincorner.y() && point.y() <= maxcorner.y() && - point.z() >= mincorner.z() && point.z() <= maxcorner.z()); - } else if (boxtype == Infinite) { - return true; - } else { - return false; - } -} - -inline bool Q3DBox::contains(const Q3DBox& box) const -{ - if (box.boxtype == Finite) - return contains(box.mincorner) && contains(box.maxcorner); - else if (box.boxtype == Infinite) - return (boxtype == Infinite); - else - return false; -} - -inline bool Q3DBox::operator==(const Q3DBox& box) const -{ - return (boxtype == box.boxtype && - mincorner == box.mincorner && - maxcorner == box.maxcorner); -} - -inline bool Q3DBox::operator!=(const Q3DBox& box) const -{ - return (boxtype != box.boxtype || - mincorner != box.mincorner || - maxcorner != box.maxcorner); -} - inline bool qFuzzyCompare(const Q3DBox& box1, const Q3DBox& box2) { return box1.boxtype == box2.boxtype && diff --git a/src/datavisualization/engine/q3dcamera.cpp b/src/datavisualization/engine/q3dcamera.cpp index c9460c44..a045d7bb 100644 --- a/src/datavisualization/engine/q3dcamera.cpp +++ b/src/datavisualization/engine/q3dcamera.cpp @@ -29,7 +29,7 @@ namespace QtDataVisualization { /*! - * \class Q3DCamera + * \class QtDataVisualization::Q3DCamera * \inmodule QtDataVisualization * \brief Representation of a camera in 3D space. * \since Qt Data Visualization 1.0 @@ -81,7 +81,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates Q3DCamera + * \instantiates QtDataVisualization::Q3DCamera * \brief Representation of a camera in 3D space. * * Camera3D represents a basic orbit around centerpoint 3D camera that is used when rendering the @@ -760,6 +760,10 @@ void Q3DCamera::setCameraPosition(float horizontal, float vertical, float zoom) setYRotation(vertical); } +/*! + * \class QtDataVisualization::Q3DCameraPrivate + * \internal + */ Q3DCameraPrivate::Q3DCameraPrivate(Q3DCamera *q) : q_ptr(q), m_isViewMatrixUpdateActive(true), diff --git a/src/datavisualization/engine/q3dlight.cpp b/src/datavisualization/engine/q3dlight.cpp index 73ddc0fe..6b5c456f 100644 --- a/src/datavisualization/engine/q3dlight.cpp +++ b/src/datavisualization/engine/q3dlight.cpp @@ -23,7 +23,7 @@ namespace QtDataVisualization { /*! - * \class Q3DLight + * \class QtDataVisualization::Q3DLight * \inmodule QtDataVisualization * \brief Representation of a light source in 3D space. * \since Qt Data Visualization 1.0 @@ -36,7 +36,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates Q3DLight + * \instantiates QtDataVisualization::Q3DLight * \brief Representation of a light source in 3D space. * * Light3D represents a monochrome non variable light source in 3D space. @@ -59,6 +59,10 @@ Q3DLight::~Q3DLight() { } +/*! + * \class QtDataVisualization::Q3DLightPrivate + * \internal + */ Q3DLightPrivate::Q3DLightPrivate(Q3DLight *q) : q_ptr(q) { diff --git a/src/datavisualization/engine/q3dobject.cpp b/src/datavisualization/engine/q3dobject.cpp index 1ef78add..946a41cc 100644 --- a/src/datavisualization/engine/q3dobject.cpp +++ b/src/datavisualization/engine/q3dobject.cpp @@ -23,7 +23,7 @@ namespace QtDataVisualization { /*! - \class Q3DObject + \class QtDataVisualization::Q3DObject \inmodule QtDataVisualization \brief Simple baseclass for all the objects in the 3D scene. \since Qt Data Visualization 1.0 @@ -109,6 +109,10 @@ bool Q3DObject::isDirty() const return d_ptr->m_isDirty; } +/*! + * \class QtDataVisualization::Q3DObjectPrivate + * \internal + */ Q3DObjectPrivate::Q3DObjectPrivate(Q3DObject *q) : q_ptr(q), m_isDirty(true) diff --git a/src/datavisualization/engine/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp index d6805232..99e6c096 100644 --- a/src/datavisualization/engine/q3dscatter.cpp +++ b/src/datavisualization/engine/q3dscatter.cpp @@ -26,7 +26,7 @@ namespace QtDataVisualization { /*! - * \class Q3DScatter + * \class QtDataVisualization::Q3DScatter * \inmodule QtDataVisualization * \brief The Q3DScatter class provides methods for rendering 3D scatter graphs. * \since Qt Data Visualization 1.0 @@ -241,6 +241,10 @@ QList Q3DScatter::axes() const return retList; } +/*! + * \class QtDataVisualization::Q3DScatterPrivate + * \internal + */ Q3DScatterPrivate::Q3DScatterPrivate(Q3DScatter *q) : QAbstract3DGraphPrivate(q) { diff --git a/src/datavisualization/engine/q3dscene.cpp b/src/datavisualization/engine/q3dscene.cpp index cb70876b..4712cf18 100644 --- a/src/datavisualization/engine/q3dscene.cpp +++ b/src/datavisualization/engine/q3dscene.cpp @@ -28,7 +28,7 @@ namespace QtDataVisualization { /*! - * \class Q3DScene + * \class QtDataVisualization::Q3DScene * \inmodule QtDataVisualization * \brief Q3DScene class provides description of the 3D scene being visualized. * \since Qt Data Visualization 1.0 @@ -46,12 +46,17 @@ namespace QtDataVisualization { * \note Not all visualizations support the secondary 2D slicing view. */ +/*! + * \class QtDataVisualization::Q3DSceneChangeBitField + * \internal + */ + /*! * \qmltype Scene3D * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates Q3DScene + * \instantiates QtDataVisualization::Q3DScene * \brief Scene3D type provides description of the 3D scene being visualized. * * The 3D scene contains a single active camera and a single active light source. @@ -456,6 +461,10 @@ void Q3DScene::setLightPositionRelativeToCamera(const QVector3D &relativePositio distanceModifier)); } +/*! + * \class QtDataVisualization::Q3DScenePrivate + * \internal + */ Q3DScenePrivate::Q3DScenePrivate(Q3DScene *q) : QObject(0), q_ptr(q), diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp index 84e2c455..dd5cfab6 100644 --- a/src/datavisualization/engine/q3dsurface.cpp +++ b/src/datavisualization/engine/q3dsurface.cpp @@ -26,7 +26,7 @@ namespace QtDataVisualization { /*! - * \class Q3DSurface + * \class QtDataVisualization::Q3DSurface * \inmodule QtDataVisualization * \brief The Q3DSurface class provides methods for rendering 3D surface plots. * \since Qt Data Visualization 1.0 @@ -264,6 +264,10 @@ QList Q3DSurface::axes() const /////////////////// PRIVATE /////////////////////////////////// +/*! + * \class QtDataVisualization::Q3DSurfacePrivate + * \internal + */ Q3DSurfacePrivate::Q3DSurfacePrivate(Q3DSurface *q) : QAbstract3DGraphPrivate(q) { diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index 2d62a4ee..ef6e1de5 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -32,7 +32,7 @@ namespace QtDataVisualization { /*! - * \class QAbstract3DGraph + * \class QtDataVisualization::QAbstract3DGraph * \inmodule QtDataVisualization * \brief The QAbstract3DGraph class provides a window and render loop for graphs. * \since Qt Data Visualization 1.0 @@ -421,6 +421,10 @@ void QAbstract3DGraph::wheelEvent(QWheelEvent *event) d_ptr->m_visualController->wheelEvent(event); } +/*! + * \class QtDataVisualization::QAbstract3DGraphPrivate + * \internal + */ QAbstract3DGraphPrivate::QAbstract3DGraphPrivate(QAbstract3DGraph *q) : QObject(0), q_ptr(q), diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp index e6e47cb5..b2964c9c 100644 --- a/src/datavisualization/engine/scatter3dcontroller.cpp +++ b/src/datavisualization/engine/scatter3dcontroller.cpp @@ -29,6 +29,16 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Scatter3DController + * \internal + */ + +/*! + * \class QtDataVisualization::Scatter3DChangeBitField + * \internal + */ + Scatter3DController::Scatter3DController(QRect boundRect, Q3DScene *scene) : Abstract3DController(boundRect, scene), m_renderer(0), diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 606f1379..d2c3eee5 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -43,6 +43,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Scatter3DRenderer + * \internal + */ + //#define USE_UNIFORM_SCALING // Scale x and z uniformly, or based on autoscaled values const GLfloat aspectRatio = 2.0f; // Forced ratio of x and z to y. Dynamic will make it look odd. diff --git a/src/datavisualization/engine/selectionpointer.cpp b/src/datavisualization/engine/selectionpointer.cpp index 0ce9ce22..fc2081b1 100644 --- a/src/datavisualization/engine/selectionpointer.cpp +++ b/src/datavisualization/engine/selectionpointer.cpp @@ -34,6 +34,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::SelectionPointer + * \internal + */ + const GLfloat sliceUnits = 2.5; SelectionPointer::SelectionPointer(Drawer *drawer) diff --git a/src/datavisualization/engine/seriesrendercache.cpp b/src/datavisualization/engine/seriesrendercache.cpp index 5ea9a117..98f1d19e 100644 --- a/src/datavisualization/engine/seriesrendercache.cpp +++ b/src/datavisualization/engine/seriesrendercache.cpp @@ -24,6 +24,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::SeriesRenderCache + * \internal + */ + const QString smoothString(QStringLiteral("Smooth")); SeriesRenderCache::SeriesRenderCache() diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index 53535b9d..7ed69466 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -32,6 +32,16 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Surface3DController + * \internal + */ + +/*! + * \class QtDataVisualization::Surface3DChangeBitField + * \internal + */ + Surface3DController::Surface3DController(QRect rect, Q3DScene *scene) : Abstract3DController(rect, scene), m_renderer(0), diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 5f54ed79..da7656f3 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -40,6 +40,11 @@ static const int ID_TO_RGBA_MASK = 0xff; namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Surface3DRenderer + * \internal + */ + //#define SHOW_DEPTH_TEXTURE_SCENE // TODO Uniform scaling is broken on surface diff --git a/src/datavisualization/global/datavisualizationglobal_p.h b/src/datavisualization/global/datavisualizationglobal_p.h index 6ceb9658..c061c05c 100644 --- a/src/datavisualization/global/datavisualizationglobal_p.h +++ b/src/datavisualization/global/datavisualizationglobal_p.h @@ -45,10 +45,10 @@ static const GLfloat defaultRatio = 1.0f / 1.6f; // default aspect ratio 16:10 static const float gridLineOffset = 0.0001f; // Offset for lifting grid lines off background // Default light position. To have shadows working correctly, light should be as far as camera, or a bit further // y position is added to the minimum height (or can be thought to be that much above or below the camera) -static const QVector3D defaultLightPos(0.0f, 0.5f, 0.0f); -static const QVector3D zeroVector(0.0f, 0.0f, 0.0f); -static const QVector3D upVector(0.0f, 1.0f, 0.0f); -static const QVector3D cameraDistanceVector(0.0f, 0.0f, cameraDistance); +static const QVector3D defaultLightPos = QVector3D(0.0f, 0.5f, 0.0f); +static const QVector3D zeroVector = QVector3D(0.0f, 0.0f, 0.0f); +static const QVector3D upVector = QVector3D(0.0f, 1.0f, 0.0f); +static const QVector3D cameraDistanceVector = QVector3D(0.0f, 0.0f, cameraDistance); // Skip color == selection texture's background color static const QVector3D selectionSkipColor = QVector3D(255.0f, 255.0f, 255.0f); diff --git a/src/datavisualization/input/q3dinputhandler.cpp b/src/datavisualization/input/q3dinputhandler.cpp index 80e02d5e..0a79db27 100644 --- a/src/datavisualization/input/q3dinputhandler.cpp +++ b/src/datavisualization/input/q3dinputhandler.cpp @@ -35,7 +35,7 @@ const int farZoomRangeDivider = 120; const float rotationSpeed = 100.0f; /*! - * \class Q3DInputHandler + * \class QtDataVisualization::Q3DInputHandler * \inmodule QtDataVisualization * \brief Basic wheel mouse based input handler. * \since Qt Data Visualization 1.0 @@ -190,4 +190,9 @@ void Q3DInputHandler::wheelEvent(QWheelEvent *event) scene()->activeCamera()->setZoomLevel(zoomLevel); } +/*! + * \class QtDataVisualization::Q3DInputHandlerPrivate + * \internal + */ + } diff --git a/src/datavisualization/input/q3dinputhandler.h b/src/datavisualization/input/q3dinputhandler.h index cca2f983..7b5f3aca 100644 --- a/src/datavisualization/input/q3dinputhandler.h +++ b/src/datavisualization/input/q3dinputhandler.h @@ -23,7 +23,7 @@ namespace QtDataVisualization { -class Q3DInputHandler; // Workaround for qdoc bug, removing this will cause qdoc compiler to not find the class. +class Q3DInputHandlerPrivate; class QT_DATAVISUALIZATION_EXPORT Q3DInputHandler : public QAbstract3DInputHandler { @@ -41,6 +41,8 @@ public: private: Q_DISABLE_COPY(Q3DInputHandler) + + QScopedPointer *d_ptr; }; } diff --git a/src/datavisualization/input/qabstract3dinputhandler.cpp b/src/datavisualization/input/qabstract3dinputhandler.cpp index 9e599535..32f60a6c 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.cpp +++ b/src/datavisualization/input/qabstract3dinputhandler.cpp @@ -20,7 +20,7 @@ namespace QtDataVisualization { /*! - * \class QAbstract3DInputHandler + * \class QtDataVisualization::QAbstract3DInputHandler * \inmodule QtDataVisualization * \brief The base class for implementations of input handlers. * \since Qt Data Visualization 1.0 @@ -55,7 +55,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QAbstract3DInputHandler + * \instantiates QtDataVisualization::QAbstract3DInputHandler * \brief Base type for all QtDataVisualization input handlers. * * This type is uncreatable. @@ -228,6 +228,10 @@ QPoint QAbstract3DInputHandler::previousInputPos() const } +/*! + * \class QtDataVisualization::QAbstract3DInputHandlerPrivate + * \internal + */ QAbstract3DInputHandlerPrivate::QAbstract3DInputHandlerPrivate(QAbstract3DInputHandler *q) : q_ptr(q), m_prevDistance(0), diff --git a/src/datavisualization/input/qtouch3dinputhandler.cpp b/src/datavisualization/input/qtouch3dinputhandler.cpp index 0dd5b469..f5be97df 100644 --- a/src/datavisualization/input/qtouch3dinputhandler.cpp +++ b/src/datavisualization/input/qtouch3dinputhandler.cpp @@ -36,7 +36,7 @@ const int minZoomLevel = 10; const int maxZoomLevel = 500; /*! - * \class QTouch3DInputHandler + * \class QtDataVisualization::QTouch3DInputHandler * \inmodule QtDataVisualization * \brief Basic touch display based input handler. * \since Qt Data Visualization 1.0 @@ -129,6 +129,10 @@ void QTouch3DInputHandler::touchEvent(QTouchEvent *event) } } +/*! + * \class QtDataVisualization::QTouch3DInputHandlerPrivate + * \internal + */ QTouch3DInputHandlerPrivate::QTouch3DInputHandlerPrivate(QTouch3DInputHandler *q) : q_ptr(q), m_holdTimer(0) diff --git a/src/datavisualization/theme/q3dtheme.cpp b/src/datavisualization/theme/q3dtheme.cpp index aec39637..c1915073 100644 --- a/src/datavisualization/theme/q3dtheme.cpp +++ b/src/datavisualization/theme/q3dtheme.cpp @@ -22,7 +22,7 @@ namespace QtDataVisualization { /*! - * \class Q3DTheme + * \class QtDataVisualization::Q3DTheme * \inmodule QtDataVisualization * \brief Q3DTheme class provides a visual style for graphs. * \since Qt Data Visualization 1.0 @@ -208,12 +208,17 @@ namespace QtDataVisualization { * A user-defined theme. See \l {Properties controlled by theme} for theme defaults. */ +/*! + * \class QtDataVisualization::Q3DThemeDirtyBitField + * \internal + */ + /*! * \qmltype Theme3D * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates Q3DTheme + * \instantiates QtDataVisualization::Q3DTheme * \brief A visual style for graphs. * * This type is used to specify visual properties that affect the whole graph. There are several @@ -890,6 +895,10 @@ Q3DTheme::Theme Q3DTheme::type() const // Q3DThemePrivate +/*! + * \class QtDataVisualization::Q3DThemePrivate + * \internal + */ Q3DThemePrivate::Q3DThemePrivate(Q3DTheme *q) : QObject(0), m_themeId(Q3DTheme::ThemeUserDefined), diff --git a/src/datavisualization/theme/thememanager.cpp b/src/datavisualization/theme/thememanager.cpp index ab3eecc8..c695bd76 100644 --- a/src/datavisualization/theme/thememanager.cpp +++ b/src/datavisualization/theme/thememanager.cpp @@ -21,6 +21,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::ThemeManager + * \internal + */ + const float defaultBuiltInColorLevel = 0.7f; // for built-in gradient themes const float defaultColorLevel = 0.5f; // for built-in uniform themes diff --git a/src/datavisualization/utils/abstractobjecthelper.cpp b/src/datavisualization/utils/abstractobjecthelper.cpp index 3192648f..fd2921a0 100644 --- a/src/datavisualization/utils/abstractobjecthelper.cpp +++ b/src/datavisualization/utils/abstractobjecthelper.cpp @@ -22,6 +22,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::AbstractObjectHelper + * \internal + */ + AbstractObjectHelper::AbstractObjectHelper() : m_vertexbuffer(0), m_normalbuffer(0), diff --git a/src/datavisualization/utils/camerahelper.cpp b/src/datavisualization/utils/camerahelper.cpp index 9a07e783..1e9ce648 100644 --- a/src/datavisualization/utils/camerahelper.cpp +++ b/src/datavisualization/utils/camerahelper.cpp @@ -24,6 +24,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::CameraHelper + * \internal + */ + CameraHelper::CameraHelper(QObject *parent) : QObject(parent), m_position(0, 0.25, 3), diff --git a/src/datavisualization/utils/meshloader.cpp b/src/datavisualization/utils/meshloader.cpp index 08e56c39..d8d74ec9 100644 --- a/src/datavisualization/utils/meshloader.cpp +++ b/src/datavisualization/utils/meshloader.cpp @@ -28,6 +28,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::MeshLoader + * \internal + */ + QString slashTag = QStringLiteral("/"); bool MeshLoader::loadOBJ(const QString &path, diff --git a/src/datavisualization/utils/objecthelper.cpp b/src/datavisualization/utils/objecthelper.cpp index ce8f598a..f6a7ef40 100644 --- a/src/datavisualization/utils/objecthelper.cpp +++ b/src/datavisualization/utils/objecthelper.cpp @@ -25,6 +25,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::ObjectHelper + * \internal + */ + ObjectHelper::ObjectHelper(const QString &objectFile) : m_objectFile(objectFile) { diff --git a/src/datavisualization/utils/shaderhelper.cpp b/src/datavisualization/utils/shaderhelper.cpp index 6fcd2bd2..895d2bd9 100644 --- a/src/datavisualization/utils/shaderhelper.cpp +++ b/src/datavisualization/utils/shaderhelper.cpp @@ -22,6 +22,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::ShaderHelper + * \internal + */ + void discardDebugMsgs(QtMsgType type, const QMessageLogContext &context, const QString &msg) { Q_UNUSED(type) diff --git a/src/datavisualization/utils/surfaceobject.cpp b/src/datavisualization/utils/surfaceobject.cpp index 1e00df0a..0fbec6dc 100644 --- a/src/datavisualization/utils/surfaceobject.cpp +++ b/src/datavisualization/utils/surfaceobject.cpp @@ -26,6 +26,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::SurfaceObject + * \internal + */ + SurfaceObject::SurfaceObject() { m_indicesType = GL_UNSIGNED_INT; diff --git a/src/datavisualization/utils/texturehelper.cpp b/src/datavisualization/utils/texturehelper.cpp index fc42b518..ecfb6aec 100644 --- a/src/datavisualization/utils/texturehelper.cpp +++ b/src/datavisualization/utils/texturehelper.cpp @@ -26,6 +26,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::TextureHelper + * \internal + */ + TextureHelper::TextureHelper() { initializeOpenGLFunctions(); diff --git a/src/datavisualization/utils/utils.cpp b/src/datavisualization/utils/utils.cpp index 69dbf92d..2a38c8f2 100644 --- a/src/datavisualization/utils/utils.cpp +++ b/src/datavisualization/utils/utils.cpp @@ -28,6 +28,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Utils + * \internal + */ + #define NUM_IN_POWER(y, x) for (;y Date: Thu, 16 Jan 2014 10:48:47 +0200 Subject: Implement generic clearSelection() method for graphs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also fixed scene sync related bug on selection. Task-number: QTRD-2606 Task-number: QTRD-2773 Change-Id: I057fd83ae5bf5ee94e413287fb2b3cefa455b156 Reviewed-by: Tomi Korpipää --- src/datavisualization/data/qbar3dseries.cpp | 16 ++++++++++++---- src/datavisualization/data/qscatter3dseries.cpp | 16 ++++++++++++---- src/datavisualization/data/qsurface3dseries.cpp | 16 ++++++++++++---- .../src/qtdatavisualization-qml-abstractdeclarative.qdoc | 6 ++++++ src/datavisualization/engine/abstract3dcontroller_p.h | 2 ++ src/datavisualization/engine/abstract3drenderer.cpp | 7 ++++--- src/datavisualization/engine/bars3dcontroller.cpp | 5 +++++ src/datavisualization/engine/bars3dcontroller_p.h | 1 + src/datavisualization/engine/qabstract3dgraph.cpp | 8 ++++++++ src/datavisualization/engine/qabstract3dgraph.h | 2 ++ src/datavisualization/engine/scatter3dcontroller.cpp | 5 +++++ src/datavisualization/engine/scatter3dcontroller_p.h | 1 + src/datavisualization/engine/surface3dcontroller.cpp | 5 +++++ src/datavisualization/engine/surface3dcontroller_p.h | 1 + 14 files changed, 76 insertions(+), 15 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/data/qbar3dseries.cpp b/src/datavisualization/data/qbar3dseries.cpp index edee80f5..ff64aca7 100644 --- a/src/datavisualization/data/qbar3dseries.cpp +++ b/src/datavisualization/data/qbar3dseries.cpp @@ -95,16 +95,20 @@ namespace QtDataVisualization { * Selects a bar at the \a position. The \a position is the (row, column) position in * the data array of the series. * Only one bar can be selected at a time. - * To clear selection, set invalidSelectionPosition as the \a position. + * To clear selection from this series, set invalidSelectionPosition as the \a position. * If this series is added to a graph, the graph can adjust the selection according to user * interaction or if it becomes invalid. Selecting a bar on another added series will also * clear the selection. + * + * \sa AbstractGraph3D::clearSelection() */ /*! * \qmlproperty point Bar3DSeries::invalidSelectionPosition * A constant property providing an invalid position for selection. Set this position to - * selectedBar property if you want to clear the selection. + * selectedBar property if you want to clear the selection from this series. + * + * \sa AbstractGraph3D::clearSelection() */ /*! @@ -164,10 +168,12 @@ QBarDataProxy *QBar3DSeries::dataProxy() const * Selects a bar at the \a position. The \a position is the (row, column) position in * the data array of the series. * Only one bar can be selected at a time. - * To clear selection, set invalidSelectionPosition() as the \a position. + * To clear selection from this series, set invalidSelectionPosition() as the \a position. * If this series is added to a graph, the graph can adjust the selection according to user * interaction or if it becomes invalid. Selecting a bar on another added series will also * clear the selection. + * + * \sa QAbstract3DGraph::clearSelection() */ void QBar3DSeries::setSelectedBar(const QPoint &position) { @@ -185,7 +191,9 @@ QPoint QBar3DSeries::selectedBar() const /*! * \return an invalid position for selection. Set this position to selectedBar property if you - * want to clear the selection. + * want to clear the selection from this series. + * + * \sa QAbstract3DGraph::clearSelection() */ QPoint QBar3DSeries::invalidSelectionPosition() { diff --git a/src/datavisualization/data/qscatter3dseries.cpp b/src/datavisualization/data/qscatter3dseries.cpp index edc64989..89f37995 100644 --- a/src/datavisualization/data/qscatter3dseries.cpp +++ b/src/datavisualization/data/qscatter3dseries.cpp @@ -90,10 +90,12 @@ namespace QtDataVisualization { * * Selects an item at the \a index. The \a index is the index in the data array of the series. * Only one item can be selected at a time. - * To clear selection, set invalidSelectionIndex as the \a index. + * To clear selection from this series, set invalidSelectionIndex as the \a index. * If this series is added to a graph, the graph can adjust the selection according to user * interaction or if it becomes invalid. Selecting an item on another added series will also * clear the selection. + * + * \sa AbstractGraph3D::clearSelection() */ /*! @@ -107,7 +109,9 @@ namespace QtDataVisualization { /*! * \qmlproperty int Scatter3DSeries::invalidSelectionIndex * A constant property providing an invalid index for selection. Set this index to - * selectedItem property if you want to clear the selection. + * selectedItem property if you want to clear the selection from this series. + * + * \sa AbstractGraph3D::clearSelection() */ /*! @@ -166,10 +170,12 @@ QScatterDataProxy *QScatter3DSeries::dataProxy() const * * Selects an item at the \a index. The \a index is the index in the data array of the series. * Only one item can be selected at a time. - * To clear selection, set invalidSelectionIndex() as the \a index. + * To clear selection from this series, set invalidSelectionIndex() as the \a index. * If this series is added to a graph, the graph can adjust the selection according to user * interaction or if it becomes invalid. Selecting an item on another added series will also * clear the selection. + * + * \sa QAbstract3DGraph::clearSelection() */ void QScatter3DSeries::setSelectedItem(int index) { @@ -209,7 +215,9 @@ float QScatter3DSeries::itemSize() const /*! * \return an invalid index for selection. Set this index to selectedItem property if you - * want to clear the selection. + * want to clear the selection from this series. + * + * \sa QAbstract3DGraph::clearSelection() */ int QScatter3DSeries::invalidSelectionIndex() { diff --git a/src/datavisualization/data/qsurface3dseries.cpp b/src/datavisualization/data/qsurface3dseries.cpp index c34c1415..ec146e22 100644 --- a/src/datavisualization/data/qsurface3dseries.cpp +++ b/src/datavisualization/data/qsurface3dseries.cpp @@ -94,15 +94,19 @@ namespace QtDataVisualization { * Selects a surface grid point in a \a position. The position is the (row, column) position in * the data array of the series. * Only one point can be selected at a time. - * To clear selection, set invalidSelectionPosition as the \a position. + * To clear selection from this series, set invalidSelectionPosition as the \a position. * If this series is added to a graph, the graph can adjust the selection according to user * interaction or if it becomes invalid. + * + * \sa AbstractGraph3D::clearSelection() */ /*! * \qmlproperty point Surface3DSeries::invalidSelectionPosition * A constant property providing an invalid selection position. - * Set this to selectedPoint property to clear the selection. + * Set this to selectedPoint property to clear the selection from this series. + * + * \sa AbstractGraph3D::clearSelection() */ /*! @@ -201,9 +205,11 @@ QSurfaceDataProxy *QSurface3DSeries::dataProxy() const * Selects a surface grid point in a \a position. The position is the (row, column) position in * the data array of the series. * Only one point can be selected at a time. - * To clear selection, set invalidSelectionPosition() as the \a position. + * To clear selection from this series, set invalidSelectionPosition() as the \a position. * If this series is added to a graph, the graph can adjust the selection according to user * interaction or if it becomes invalid. + * + * \sa QAbstract3DGraph::clearSelection() */ void QSurface3DSeries::setSelectedPoint(const QPoint &position) { @@ -221,7 +227,9 @@ QPoint QSurface3DSeries::selectedPoint() const /*! * \return a QPoint signifying an invalid selection position. Set this to selectedPoint property - * to clear the selection. + * to clear the selection from this series. + * + * \sa QAbstract3DGraph::clearSelection() */ QPoint QSurface3DSeries::invalidSelectionPosition() { diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc index 71be09a2..ee0c2427 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc @@ -82,3 +82,9 @@ \note If window clearing before rendering is suppressed, any areas of the window not fully covered with opaque items may not draw properly. */ + +/*! + * \qmlmethod void AbstractGraph3D::clearSelection() + * Clears selection from all attached series. + */ + diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index a11e80cd..aa3235ee 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -215,6 +215,8 @@ public: void emitNeedRender(); + virtual void clearSelection() = 0; + virtual void mouseDoubleClickEvent(QMouseEvent *event); virtual void touchEvent(QTouchEvent *event); virtual void mousePressEvent(QMouseEvent *event, const QPoint &mousePos); diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 9b4ae6ab..6e286095 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -198,6 +198,10 @@ void Abstract3DRenderer::updateScene(Q3DScene *scene) updateInputPosition(QPoint(logicalPixelPosition.x() * m_devicePixelRatio, logicalPixelPosition.y() * m_devicePixelRatio)); + + // Synchronize the renderer scene to controller scene + scene->d_ptr->sync(*m_cachedScene->d_ptr); + if (Q3DScene::invalidSelectionPoint() == logicalPixelPosition) { updateSelectionState(SelectNone); } else { @@ -215,9 +219,6 @@ void Abstract3DRenderer::updateScene(Q3DScene *scene) updateSelectionState(SelectOnScene); } } - - // Synchronize the controller scene with renderer - scene->d_ptr->sync(*m_cachedScene->d_ptr); } void Abstract3DRenderer::reInitShaders() diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index b152909d..a67f1adb 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -457,6 +457,11 @@ void Bars3DController::setSelectedBar(const QPoint &position, QBar3DSeries *seri } } +void Bars3DController::clearSelection() +{ + setSelectedBar(invalidSelectionPosition(), 0); +} + void Bars3DController::adjustAxisRanges() { QCategory3DAxis *categoryAxisZ = static_cast(m_axisZ); diff --git a/src/datavisualization/engine/bars3dcontroller_p.h b/src/datavisualization/engine/bars3dcontroller_p.h index 0632830e..79d3c3ba 100644 --- a/src/datavisualization/engine/bars3dcontroller_p.h +++ b/src/datavisualization/engine/bars3dcontroller_p.h @@ -92,6 +92,7 @@ public: void setSelectionMode(QAbstract3DGraph::SelectionFlags mode); void setSelectedBar(const QPoint &position, QBar3DSeries *series); + virtual void clearSelection(); virtual void handleAxisAutoAdjustRangeChangedInOrientation(QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust); virtual void handleSeriesVisibilityChangedBySender(QObject *sender); diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index ef6e1de5..af0dc7ad 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -330,6 +330,14 @@ Q3DScene *QAbstract3DGraph::scene() const return d_ptr->m_visualController->scene(); } +/*! + * Clears selection from all attached series. + */ +void QAbstract3DGraph::clearSelection() +{ + d_ptr->m_visualController->clearSelection(); +} + /*! * \internal */ diff --git a/src/datavisualization/engine/qabstract3dgraph.h b/src/datavisualization/engine/qabstract3dgraph.h index 9441544b..5383850e 100644 --- a/src/datavisualization/engine/qabstract3dgraph.h +++ b/src/datavisualization/engine/qabstract3dgraph.h @@ -95,6 +95,8 @@ public: Q3DScene *scene() const; + void clearSelection(); + protected: bool event(QEvent *event); void resizeEvent(QResizeEvent *event); diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp index b2964c9c..3c577fe2 100644 --- a/src/datavisualization/engine/scatter3dcontroller.cpp +++ b/src/datavisualization/engine/scatter3dcontroller.cpp @@ -267,6 +267,11 @@ void Scatter3DController::setSelectedItem(int index, QScatter3DSeries *series) } } +void Scatter3DController::clearSelection() +{ + setSelectedItem(invalidSelectionIndex(), 0); +} + void Scatter3DController::adjustValueAxisRange() { QValue3DAxis *valueAxisX = static_cast(m_axisX); diff --git a/src/datavisualization/engine/scatter3dcontroller_p.h b/src/datavisualization/engine/scatter3dcontroller_p.h index 8bc43636..2a37e343 100644 --- a/src/datavisualization/engine/scatter3dcontroller_p.h +++ b/src/datavisualization/engine/scatter3dcontroller_p.h @@ -73,6 +73,7 @@ public: void setSelectedItem(int index, QScatter3DSeries *series); static inline int invalidSelectionIndex() { return -1; } + virtual void clearSelection(); void synchDataToRenderer(); diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index 7ed69466..ca546a74 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -280,6 +280,11 @@ void Surface3DController::setSelectedPoint(const QPoint &position, QSurface3DSer } } +void Surface3DController::clearSelection() +{ + setSelectedPoint(invalidSelectionPosition(), 0); +} + void Surface3DController::handleArrayReset() { QSurface3DSeries *series = static_cast(sender())->series(); diff --git a/src/datavisualization/engine/surface3dcontroller_p.h b/src/datavisualization/engine/surface3dcontroller_p.h index dcd55982..d823bd85 100644 --- a/src/datavisualization/engine/surface3dcontroller_p.h +++ b/src/datavisualization/engine/surface3dcontroller_p.h @@ -78,6 +78,7 @@ public: void setSelectionMode(QAbstract3DGraph::SelectionFlags mode); void setSelectedPoint(const QPoint &position, QSurface3DSeries *series); + virtual void clearSelection(); virtual void handleAxisAutoAdjustRangeChangedInOrientation( QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust); -- cgit v1.2.3 From 8674307d6bafabfcaedfe175b883313f0e7d88b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Thu, 16 Jan 2014 13:33:57 +0200 Subject: Reintroduced namespace macros Task-number: QTRD-2594 Change-Id: I31e1ea20fd590d7bdf3d1218d696915c22c3426b Change-Id: I31e1ea20fd590d7bdf3d1218d696915c22c3426b Reviewed-by: Miikka Heikkinen --- src/datavisualization/axis/qabstract3daxis.cpp | 13 +- src/datavisualization/axis/qabstract3daxis.h | 4 +- src/datavisualization/axis/qabstract3daxis_p.h | 4 +- src/datavisualization/axis/qcategory3daxis.cpp | 13 +- src/datavisualization/axis/qcategory3daxis.h | 4 +- src/datavisualization/axis/qcategory3daxis_p.h | 4 +- src/datavisualization/axis/qvalue3daxis.cpp | 13 +- src/datavisualization/axis/qvalue3daxis.h | 4 +- src/datavisualization/axis/qvalue3daxis_p.h | 4 +- .../data/abstractitemmodelhandler.cpp | 9 +- .../data/abstractitemmodelhandler_p.h | 4 +- src/datavisualization/data/abstractrenderitem.cpp | 10 +- src/datavisualization/data/abstractrenderitem_p.h | 4 +- src/datavisualization/data/baritemmodelhandler.cpp | 9 +- src/datavisualization/data/baritemmodelhandler_p.h | 4 +- src/datavisualization/data/barrenderitem.cpp | 20 +- src/datavisualization/data/barrenderitem_p.h | 4 +- src/datavisualization/data/labelitem.cpp | 9 +- src/datavisualization/data/labelitem_p.h | 4 +- src/datavisualization/data/qabstract3dseries.cpp | 16 +- src/datavisualization/data/qabstract3dseries.h | 4 +- src/datavisualization/data/qabstract3dseries_p.h | 4 +- src/datavisualization/data/qabstractdataproxy.cpp | 12 +- src/datavisualization/data/qabstractdataproxy.h | 4 +- src/datavisualization/data/qabstractdataproxy_p.h | 4 +- src/datavisualization/data/qbar3dseries.h | 4 +- src/datavisualization/data/qbar3dseries_p.h | 4 +- src/datavisualization/data/qbardataitem.cpp | 10 +- src/datavisualization/data/qbardataitem.h | 6 +- src/datavisualization/data/qbardataitem_p.h | 4 +- src/datavisualization/data/qbardataproxy.cpp | 16 +- src/datavisualization/data/qbardataproxy.h | 10 +- src/datavisualization/data/qbardataproxy_p.h | 4 +- .../data/qheightmapsurfacedataproxy.cpp | 12 +- .../data/qheightmapsurfacedataproxy.h | 4 +- .../data/qheightmapsurfacedataproxy_p.h | 4 +- .../data/qitemmodelbardataproxy.cpp | 12 +- .../data/qitemmodelbardataproxy.h | 4 +- .../data/qitemmodelbardataproxy_p.h | 4 +- .../data/qitemmodelscatterdataproxy.cpp | 12 +- .../data/qitemmodelscatterdataproxy.h | 4 +- .../data/qitemmodelscatterdataproxy_p.h | 4 +- .../data/qitemmodelsurfacedataproxy.cpp | 12 +- .../data/qitemmodelsurfacedataproxy.h | 4 +- .../data/qitemmodelsurfacedataproxy_p.h | 4 +- src/datavisualization/data/qscatter3dseries.h | 4 +- src/datavisualization/data/qscatter3dseries_p.h | 4 +- src/datavisualization/data/qscatterdataitem.cpp | 10 +- src/datavisualization/data/qscatterdataitem.h | 6 +- src/datavisualization/data/qscatterdataitem_p.h | 4 +- src/datavisualization/data/qscatterdataproxy.cpp | 14 +- src/datavisualization/data/qscatterdataproxy.h | 8 +- src/datavisualization/data/qscatterdataproxy_p.h | 4 +- src/datavisualization/data/qsurface3dseries.h | 4 +- src/datavisualization/data/qsurface3dseries_p.h | 4 +- src/datavisualization/data/qsurfacedataitem.cpp | 10 +- src/datavisualization/data/qsurfacedataitem.h | 6 +- src/datavisualization/data/qsurfacedataitem_p.h | 4 +- src/datavisualization/data/qsurfacedataproxy.cpp | 16 +- src/datavisualization/data/qsurfacedataproxy.h | 10 +- src/datavisualization/data/qsurfacedataproxy_p.h | 4 +- .../data/scatteritemmodelhandler.cpp | 9 +- .../data/scatteritemmodelhandler_p.h | 4 +- src/datavisualization/data/scatterrenderitem.cpp | 14 +- src/datavisualization/data/scatterrenderitem_p.h | 4 +- .../data/surfaceitemmodelhandler.cpp | 9 +- .../data/surfaceitemmodelhandler_p.h | 4 +- .../doc/qtdatavisualization.qdocconf | 3 +- .../doc/src/qtdatavisualization.qdoc | 2 +- .../engine/abstract3dcontroller.cpp | 14 +- .../engine/abstract3drenderer_p.h | 4 +- src/datavisualization/engine/axisrendercache.cpp | 9 +- src/datavisualization/engine/axisrendercache_p.h | 4 +- src/datavisualization/engine/bars3drenderer.cpp | 9 +- src/datavisualization/engine/bars3drenderer_p.h | 9 +- src/datavisualization/engine/drawer.cpp | 9 +- src/datavisualization/engine/drawer_p.h | 4 +- src/datavisualization/engine/q3dbars.cpp | 12 +- src/datavisualization/engine/q3dbars.h | 4 +- src/datavisualization/engine/q3dbars_p.h | 4 +- src/datavisualization/engine/q3dbox.cpp | 8 +- src/datavisualization/engine/q3dbox.h | 4 +- src/datavisualization/engine/q3dcamera.cpp | 13 +- src/datavisualization/engine/q3dcamera.h | 4 +- src/datavisualization/engine/q3dcamera_p.h | 4 +- src/datavisualization/engine/q3dlight.cpp | 12 +- src/datavisualization/engine/q3dlight.h | 4 +- src/datavisualization/engine/q3dlight_p.h | 4 +- src/datavisualization/engine/q3dobject.cpp | 10 +- src/datavisualization/engine/q3dobject.h | 4 +- src/datavisualization/engine/q3dobject_p.h | 4 +- src/datavisualization/engine/q3dscatter.cpp | 10 +- src/datavisualization/engine/q3dscatter.h | 4 +- src/datavisualization/engine/q3dscatter_p.h | 4 +- src/datavisualization/engine/q3dscene.cpp | 14 +- src/datavisualization/engine/q3dscene.h | 4 +- src/datavisualization/engine/q3dscene_p.h | 4 +- src/datavisualization/engine/q3dsurface.cpp | 10 +- src/datavisualization/engine/q3dsurface.h | 4 +- src/datavisualization/engine/q3dsurface_p.h | 4 +- src/datavisualization/engine/qabstract3dgraph_p.h | 4 +- src/datavisualization/engine/scatter3drenderer.cpp | 9 +- src/datavisualization/engine/scatter3drenderer_p.h | 4 +- src/datavisualization/engine/selectionpointer.cpp | 9 +- src/datavisualization/engine/selectionpointer_p.h | 4 +- src/datavisualization/engine/seriesrendercache.cpp | 9 +- src/datavisualization/engine/seriesrendercache_p.h | 4 +- src/datavisualization/engine/surface3drenderer.cpp | 9 +- src/datavisualization/engine/surface3drenderer_p.h | 4 +- .../global/datavisualizationglobal_p.h | 4 +- .../global/qdatavisualizationglobal.h | 3 + src/datavisualization/input/q3dinputhandler.cpp | 11 +- src/datavisualization/input/q3dinputhandler.h | 4 +- src/datavisualization/input/q3dinputhandler_p.h | 4 +- .../input/qabstract3dinputhandler.cpp | 13 +- .../input/qabstract3dinputhandler.h | 4 +- .../input/qabstract3dinputhandler_p.h | 4 +- .../input/qtouch3dinputhandler.cpp | 10 +- src/datavisualization/input/qtouch3dinputhandler.h | 4 +- .../input/qtouch3dinputhandler_p.h | 4 +- src/datavisualization/theme/builtin3dthemes.cpp | 230 --------------------- src/datavisualization/theme/builtin3dthemes_p.h | 87 -------- src/datavisualization/theme/q3dtheme.cpp | 17 +- src/datavisualization/theme/q3dtheme.h | 4 +- src/datavisualization/theme/q3dtheme_p.h | 4 +- src/datavisualization/theme/thememanager.cpp | 9 +- src/datavisualization/theme/thememanager_p.h | 4 +- .../utils/abstractobjecthelper.cpp | 9 +- .../utils/abstractobjecthelper_p.h | 4 +- src/datavisualization/utils/camerahelper.cpp | 9 +- src/datavisualization/utils/camerahelper_p.h | 4 +- src/datavisualization/utils/meshloader.cpp | 9 +- src/datavisualization/utils/meshloader_p.h | 4 +- src/datavisualization/utils/objecthelper.cpp | 9 +- src/datavisualization/utils/objecthelper_p.h | 4 +- src/datavisualization/utils/shaderhelper.cpp | 9 +- src/datavisualization/utils/shaderhelper_p.h | 4 +- src/datavisualization/utils/surfaceobject.cpp | 9 +- src/datavisualization/utils/surfaceobject_p.h | 5 +- src/datavisualization/utils/texturehelper.cpp | 9 +- src/datavisualization/utils/texturehelper_p.h | 4 +- src/datavisualization/utils/utils.cpp | 9 +- src/datavisualization/utils/utils_p.h | 4 +- src/datavisualization/utils/vertexindexer.cpp | 9 +- src/datavisualization/utils/vertexindexer_p.h | 4 +- 145 files changed, 356 insertions(+), 932 deletions(-) delete mode 100644 src/datavisualization/theme/builtin3dthemes.cpp delete mode 100644 src/datavisualization/theme/builtin3dthemes_p.h (limited to 'src/datavisualization') diff --git a/src/datavisualization/axis/qabstract3daxis.cpp b/src/datavisualization/axis/qabstract3daxis.cpp index 99a4a91d..20e7f361 100644 --- a/src/datavisualization/axis/qabstract3daxis.cpp +++ b/src/datavisualization/axis/qabstract3daxis.cpp @@ -19,10 +19,10 @@ #include "qabstract3daxis.h" #include "qabstract3daxis_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QAbstract3DAxis + * \class QAbstract3DAxis * \inmodule QtDataVisualization * \brief QAbstract3DAxis is base class for axes of a graph. * \since Qt Data Visualization 1.0 @@ -37,7 +37,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QAbstract3DAxis + * \instantiates QAbstract3DAxis * \brief AbstractAxis3D is base type for axes of a graph. * * This type is uncreatable, but contains properties that are exposed via subtypes. @@ -255,11 +255,6 @@ bool QAbstract3DAxis::isAutoAdjustRange() const */ // QAbstract3DAxisPrivate -/*! - * \class QtDataVisualization::QAbstract3DAxisPrivate - * \internal - */ - QAbstract3DAxisPrivate::QAbstract3DAxisPrivate(QAbstract3DAxis *q, QAbstract3DAxis::AxisType type) : QObject(0), q_ptr(q), @@ -405,4 +400,4 @@ void QAbstract3DAxisPrivate::setMax(float max) } } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/axis/qabstract3daxis.h b/src/datavisualization/axis/qabstract3daxis.h index c85e50d0..c4cb37b2 100644 --- a/src/datavisualization/axis/qabstract3daxis.h +++ b/src/datavisualization/axis/qabstract3daxis.h @@ -26,7 +26,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QAbstract3DAxisPrivate; @@ -103,6 +103,6 @@ private: friend class Bars3DController; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/axis/qabstract3daxis_p.h b/src/datavisualization/axis/qabstract3daxis_p.h index 4403cc16..cca31fa4 100644 --- a/src/datavisualization/axis/qabstract3daxis_p.h +++ b/src/datavisualization/axis/qabstract3daxis_p.h @@ -33,7 +33,7 @@ #ifndef QABSTRACT3DAXIS_P_H #define QABSTRACT3DAXIS_P_H -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QAbstract3DAxisPrivate : public QObject { @@ -72,6 +72,6 @@ protected: friend class QCategory3DAxis; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/axis/qcategory3daxis.cpp b/src/datavisualization/axis/qcategory3daxis.cpp index a29fb376..0ef59b59 100644 --- a/src/datavisualization/axis/qcategory3daxis.cpp +++ b/src/datavisualization/axis/qcategory3daxis.cpp @@ -21,10 +21,10 @@ #include "bars3dcontroller_p.h" #include "qbardataproxy.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QCategory3DAxis + * \class QCategory3DAxis * \inmodule QtDataVisualization * \brief The QCategory3DAxis class is used for manipulating an axis of a graph. * \since Qt Data Visualization 1.0 @@ -41,7 +41,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QCategory3DAxis + * \instantiates QCategory3DAxis * \inherits AbstractAxis3D * \brief The CategoryAxis3D type is used for manipulating an axis of a graph. * @@ -117,11 +117,6 @@ QCategory3DAxisPrivate *QCategory3DAxis::dptr() return static_cast(d_ptr.data()); } -/*! - * \class QtDataVisualization::QCategory3DAxisPrivate - * \internal - */ - QCategory3DAxisPrivate::QCategory3DAxisPrivate(QCategory3DAxis *q) : QAbstract3DAxisPrivate(q, QAbstract3DAxis::AxisTypeCategory), m_labelsExplicitlySet(false) @@ -152,4 +147,4 @@ QCategory3DAxis *QCategory3DAxisPrivate::qptr() return static_cast(q_ptr); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/axis/qcategory3daxis.h b/src/datavisualization/axis/qcategory3daxis.h index 2d3235b4..d16eac2a 100644 --- a/src/datavisualization/axis/qcategory3daxis.h +++ b/src/datavisualization/axis/qcategory3daxis.h @@ -21,7 +21,7 @@ #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QCategory3DAxisPrivate; @@ -48,6 +48,6 @@ private: friend class Bars3DController; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/axis/qcategory3daxis_p.h b/src/datavisualization/axis/qcategory3daxis_p.h index 6449e999..f7a16161 100644 --- a/src/datavisualization/axis/qcategory3daxis_p.h +++ b/src/datavisualization/axis/qcategory3daxis_p.h @@ -33,7 +33,7 @@ #ifndef QCATEGORY3DAXIS_P_H #define QCATEGORY3DAXIS_P_H -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QCategory3DAxisPrivate : public QAbstract3DAxisPrivate { @@ -52,6 +52,6 @@ private: friend class QCategory3DAxis; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/axis/qvalue3daxis.cpp b/src/datavisualization/axis/qvalue3daxis.cpp index deee9bac..609e3b86 100644 --- a/src/datavisualization/axis/qvalue3daxis.cpp +++ b/src/datavisualization/axis/qvalue3daxis.cpp @@ -20,10 +20,10 @@ #include "qvalue3daxis_p.h" #include "utils_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QValue3DAxis + * \class QValue3DAxis * \inmodule QtDataVisualization * \brief The QValue3DAxis class is used for manipulating an axis of a graph. * \since Qt Data Visualization 1.0 @@ -41,7 +41,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QValue3DAxis + * \instantiates QValue3DAxis * \inherits AbstractAxis3D * \brief The ValueAxis3D type is used for manipulating an axis of a graph. * @@ -184,11 +184,6 @@ const QValue3DAxisPrivate *QValue3DAxis::dptrc() const return static_cast(d_ptr.data()); } -/*! - * \class QtDataVisualization::QValue3DAxisPrivate - * \internal - */ - QValue3DAxisPrivate::QValue3DAxisPrivate(QValue3DAxis *q) : QAbstract3DAxisPrivate(q, QAbstract3DAxis::AxisTypeValue), m_segmentCount(5), @@ -272,4 +267,4 @@ QValue3DAxis *QValue3DAxisPrivate::qptr() return static_cast(q_ptr); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/axis/qvalue3daxis.h b/src/datavisualization/axis/qvalue3daxis.h index c842167c..d5d23825 100644 --- a/src/datavisualization/axis/qvalue3daxis.h +++ b/src/datavisualization/axis/qvalue3daxis.h @@ -21,7 +21,7 @@ #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QValue3DAxisPrivate; @@ -60,6 +60,6 @@ private: friend class Surface3DController; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/axis/qvalue3daxis_p.h b/src/datavisualization/axis/qvalue3daxis_p.h index 08dab486..b1b65fd7 100644 --- a/src/datavisualization/axis/qvalue3daxis_p.h +++ b/src/datavisualization/axis/qvalue3daxis_p.h @@ -32,7 +32,7 @@ #ifndef QVALUE3DAXIS_P_H #define QVALUE3DAXIS_P_H -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QValue3DAxisPrivate : public QAbstract3DAxisPrivate { @@ -61,6 +61,6 @@ private: friend class QValue3DAxis; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/abstractitemmodelhandler.cpp b/src/datavisualization/data/abstractitemmodelhandler.cpp index 33fe7791..cf87c3f9 100644 --- a/src/datavisualization/data/abstractitemmodelhandler.cpp +++ b/src/datavisualization/data/abstractitemmodelhandler.cpp @@ -19,12 +19,7 @@ #include "abstractitemmodelhandler_p.h" #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::AbstractItemModelHandler - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION AbstractItemModelHandler::AbstractItemModelHandler(QObject *parent) : QObject(parent), @@ -201,4 +196,4 @@ void AbstractItemModelHandler::handlePendingResolve() resolveModel(); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/abstractitemmodelhandler_p.h b/src/datavisualization/data/abstractitemmodelhandler_p.h index 6771dcc8..f3b72228 100644 --- a/src/datavisualization/data/abstractitemmodelhandler_p.h +++ b/src/datavisualization/data/abstractitemmodelhandler_p.h @@ -34,7 +34,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class AbstractItemModelHandler : public QObject { @@ -79,6 +79,6 @@ private: Q_DISABLE_COPY(AbstractItemModelHandler) }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/abstractrenderitem.cpp b/src/datavisualization/data/abstractrenderitem.cpp index 9ed51e43..8ca33231 100644 --- a/src/datavisualization/data/abstractrenderitem.cpp +++ b/src/datavisualization/data/abstractrenderitem.cpp @@ -18,12 +18,7 @@ #include "abstractrenderitem_p.h" -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::AbstractRenderItem - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION AbstractRenderItem::AbstractRenderItem() : m_selectionLabelItem(0) @@ -61,5 +56,4 @@ QString &AbstractRenderItem::selectionLabel() return m_selectionLabel; } - -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/abstractrenderitem_p.h b/src/datavisualization/data/abstractrenderitem_p.h index 15860933..6209f640 100644 --- a/src/datavisualization/data/abstractrenderitem_p.h +++ b/src/datavisualization/data/abstractrenderitem_p.h @@ -37,7 +37,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class AbstractRenderItem { @@ -65,6 +65,6 @@ protected: friend class QAbstractDataItem; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/baritemmodelhandler.cpp b/src/datavisualization/data/baritemmodelhandler.cpp index 5147e631..d24bb4a0 100644 --- a/src/datavisualization/data/baritemmodelhandler.cpp +++ b/src/datavisualization/data/baritemmodelhandler.cpp @@ -18,12 +18,7 @@ #include "baritemmodelhandler_p.h" -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::BarItemModelHandler - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION BarItemModelHandler::BarItemModelHandler(QItemModelBarDataProxy *proxy, QObject *parent) : AbstractItemModelHandler(parent), @@ -148,4 +143,4 @@ void BarItemModelHandler::resolveModel() m_proxy->resetArray(m_proxyArray, rowLabels, columnLabels); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/baritemmodelhandler_p.h b/src/datavisualization/data/baritemmodelhandler_p.h index c977103e..6c60102d 100644 --- a/src/datavisualization/data/baritemmodelhandler_p.h +++ b/src/datavisualization/data/baritemmodelhandler_p.h @@ -32,7 +32,7 @@ #include "abstractitemmodelhandler_p.h" #include "qitemmodelbardataproxy_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class BarItemModelHandler : public AbstractItemModelHandler { @@ -49,6 +49,6 @@ protected: int m_columnCount; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/barrenderitem.cpp b/src/datavisualization/data/barrenderitem.cpp index be96936e..1bb1271d 100644 --- a/src/datavisualization/data/barrenderitem.cpp +++ b/src/datavisualization/data/barrenderitem.cpp @@ -19,22 +19,7 @@ #include "barrenderitem_p.h" #include "bars3drenderer_p.h" -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::BarRenderItem - * \internal - */ - -/*! - * \typedef QtDataVisualization::BarRenderItemRow - * \internal - */ - -/*! - * \typedef QtDataVisualization::BarRenderItemArray - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION BarRenderItem::BarRenderItem() : AbstractRenderItem(), @@ -80,5 +65,4 @@ QString &BarRenderItem::sliceLabel() return m_sliceLabel; } - -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/barrenderitem_p.h b/src/datavisualization/data/barrenderitem_p.h index f44ba2b4..7704d65e 100644 --- a/src/datavisualization/data/barrenderitem_p.h +++ b/src/datavisualization/data/barrenderitem_p.h @@ -31,7 +31,7 @@ #include "abstractrenderitem_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Bars3DRenderer; @@ -88,6 +88,6 @@ protected: typedef QVector BarRenderItemRow; typedef QVector BarRenderItemArray; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/labelitem.cpp b/src/datavisualization/data/labelitem.cpp index 658912fc..7e893f1f 100644 --- a/src/datavisualization/data/labelitem.cpp +++ b/src/datavisualization/data/labelitem.cpp @@ -18,12 +18,7 @@ #include "labelitem_p.h" -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::LabelItem - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION LabelItem::LabelItem() : m_size(QSize(0, 0)), @@ -66,4 +61,4 @@ void LabelItem::clear() m_size = QSize(0, 0); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/labelitem_p.h b/src/datavisualization/data/labelitem_p.h index 40e1030a..9359e8c1 100644 --- a/src/datavisualization/data/labelitem_p.h +++ b/src/datavisualization/data/labelitem_p.h @@ -33,7 +33,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class LabelItem { @@ -54,6 +54,6 @@ private: GLuint m_textureId; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qabstract3dseries.cpp b/src/datavisualization/data/qabstract3dseries.cpp index 7c6798bc..1044fe24 100644 --- a/src/datavisualization/data/qabstract3dseries.cpp +++ b/src/datavisualization/data/qabstract3dseries.cpp @@ -21,10 +21,10 @@ #include "qabstractdataproxy_p.h" #include "abstract3dcontroller_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QAbstract3DSeries + * \class QAbstract3DSeries * \inmodule QtDataVisualization * \brief Base class for all QtDataVisualization series. * \since Qt Data Visualization 1.0 @@ -34,12 +34,12 @@ namespace QtDataVisualization { */ /*! - * \class QtDataVisualization::QAbstract3DSeriesChangeBitField + * \class QAbstract3DSeriesChangeBitField * \internal */ /*! - * \class QtDataVisualization::QAbstract3DSeriesThemeOverrideBitField + * \class QAbstract3DSeriesThemeOverrideBitField * \internal */ @@ -48,7 +48,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QAbstract3DSeries + * \instantiates QAbstract3DSeries * \brief Base type for all QtDataVisualization series. * * This type is uncreatable, but contains properties that are exposed via subtypes. @@ -529,10 +529,6 @@ QString QAbstract3DSeries::name() const } // QAbstract3DSeriesPrivate -/*! - * \class QtDataVisualization::QAbstract3DSeriesPrivate - * \internal - */ QAbstract3DSeriesPrivate::QAbstract3DSeriesPrivate(QAbstract3DSeries *q, QAbstract3DSeries::SeriesType type) : QObject(0), @@ -718,4 +714,4 @@ void QAbstract3DSeriesPrivate::resetToTheme(const Q3DTheme &theme, int seriesInd } } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qabstract3dseries.h b/src/datavisualization/data/qabstract3dseries.h index 615d882e..df6dada8 100644 --- a/src/datavisualization/data/qabstract3dseries.h +++ b/src/datavisualization/data/qabstract3dseries.h @@ -24,7 +24,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QAbstract3DSeriesPrivate; @@ -142,6 +142,6 @@ private: friend class Abstract3DRenderer; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qabstract3dseries_p.h b/src/datavisualization/data/qabstract3dseries_p.h index c8a39818..67d5dee3 100644 --- a/src/datavisualization/data/qabstract3dseries_p.h +++ b/src/datavisualization/data/qabstract3dseries_p.h @@ -33,7 +33,7 @@ #ifndef QABSTRACT3DSERIES_P_H #define QABSTRACT3DSERIES_P_H -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QAbstractDataProxy; class Abstract3DController; @@ -142,6 +142,6 @@ public: QString m_name; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // QAbstract3DSeries_P_H diff --git a/src/datavisualization/data/qabstractdataproxy.cpp b/src/datavisualization/data/qabstractdataproxy.cpp index ce377d2d..77ce4207 100644 --- a/src/datavisualization/data/qabstractdataproxy.cpp +++ b/src/datavisualization/data/qabstractdataproxy.cpp @@ -20,10 +20,10 @@ #include "qabstractdataproxy_p.h" #include "qabstract3dseries_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QAbstractDataProxy + * \class QAbstractDataProxy * \inmodule QtDataVisualization * \brief Base class for all QtDataVisualization data proxies. * \since Qt Data Visualization 1.0 @@ -37,7 +37,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QAbstractDataProxy + * \instantiates QAbstractDataProxy * \brief Base type for all QtDataVisualization data proxies. * * This type is uncreatable, but contains properties that are exposed via subtypes. @@ -91,10 +91,6 @@ QAbstractDataProxy::DataType QAbstractDataProxy::type() const } // QAbstractDataProxyPrivate -/*! - * \class QtDataVisualization::QAbstractDataProxyPrivate - * \internal - */ QAbstractDataProxyPrivate::QAbstractDataProxyPrivate(QAbstractDataProxy *q, QAbstractDataProxy::DataType type) : QObject(0), @@ -114,4 +110,4 @@ void QAbstractDataProxyPrivate::setSeries(QAbstract3DSeries *series) m_series = series; } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qabstractdataproxy.h b/src/datavisualization/data/qabstractdataproxy.h index cbe70333..520f407d 100644 --- a/src/datavisualization/data/qabstractdataproxy.h +++ b/src/datavisualization/data/qabstractdataproxy.h @@ -24,7 +24,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QAbstractDataProxyPrivate; @@ -59,6 +59,6 @@ private: friend class QAbstract3DSeriesPrivate; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // QABSTRACTDATAPROXY_H diff --git a/src/datavisualization/data/qabstractdataproxy_p.h b/src/datavisualization/data/qabstractdataproxy_p.h index 365ff5f2..2e073f7d 100644 --- a/src/datavisualization/data/qabstractdataproxy_p.h +++ b/src/datavisualization/data/qabstractdataproxy_p.h @@ -33,7 +33,7 @@ #ifndef QABSTRACTDATAPROXY_P_H #define QABSTRACTDATAPROXY_P_H -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QAbstract3DSeries; @@ -56,6 +56,6 @@ private: friend class QAbstractDataProxy; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // QABSTRACTDATAPROXY_P_H diff --git a/src/datavisualization/data/qbar3dseries.h b/src/datavisualization/data/qbar3dseries.h index 96467a95..dff60c24 100644 --- a/src/datavisualization/data/qbar3dseries.h +++ b/src/datavisualization/data/qbar3dseries.h @@ -23,7 +23,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QBar3DSeriesPrivate; @@ -60,6 +60,6 @@ private: friend class Bars3DController; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qbar3dseries_p.h b/src/datavisualization/data/qbar3dseries_p.h index 8944a5f6..a99d146a 100644 --- a/src/datavisualization/data/qbar3dseries_p.h +++ b/src/datavisualization/data/qbar3dseries_p.h @@ -32,7 +32,7 @@ #include "qbar3dseries.h" #include "qabstract3dseries_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QBar3DSeriesPrivate : public QAbstract3DSeriesPrivate { @@ -55,6 +55,6 @@ private: friend class QBar3DSeries; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qbardataitem.cpp b/src/datavisualization/data/qbardataitem.cpp index cd4178ab..792e5158 100644 --- a/src/datavisualization/data/qbardataitem.cpp +++ b/src/datavisualization/data/qbardataitem.cpp @@ -18,10 +18,10 @@ #include "qbardataitem_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QBarDataItem + * \class QBarDataItem * \inmodule QtDataVisualization * \brief The QBarDataItem class provides a container for resolved data to be added to bar graphs. * \since Qt Data Visualization 1.0 @@ -99,10 +99,6 @@ void QBarDataItem::createExtraData() d_ptr = new QBarDataItemPrivate; } -/*! - * \class QtDataVisualization::QBarDataItemPrivate - * \internal - */ QBarDataItemPrivate::QBarDataItemPrivate() { } @@ -111,4 +107,4 @@ QBarDataItemPrivate::~QBarDataItemPrivate() { } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qbardataitem.h b/src/datavisualization/data/qbardataitem.h index db604a5b..57a14efb 100644 --- a/src/datavisualization/data/qbardataitem.h +++ b/src/datavisualization/data/qbardataitem.h @@ -19,7 +19,9 @@ #ifndef QBARDATAITEM_H #define QBARDATAITEM_H -namespace QtDataVisualization { +#include + +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QBarDataItemPrivate; @@ -45,6 +47,6 @@ private: float m_value; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qbardataitem_p.h b/src/datavisualization/data/qbardataitem_p.h index 94cdf0a0..6180c039 100644 --- a/src/datavisualization/data/qbardataitem_p.h +++ b/src/datavisualization/data/qbardataitem_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include "qbardataitem.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QBarDataItemPrivate { @@ -46,6 +46,6 @@ protected: friend class QBarDataItem; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qbardataproxy.cpp b/src/datavisualization/data/qbardataproxy.cpp index 93645f38..351575a1 100644 --- a/src/datavisualization/data/qbardataproxy.cpp +++ b/src/datavisualization/data/qbardataproxy.cpp @@ -20,10 +20,10 @@ #include "qbardataproxy_p.h" #include "qbar3dseries_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QBarDataProxy + * \class QBarDataProxy * \inmodule QtDataVisualization * \brief Base proxy class for Q3DBars. * \since Qt Data Visualization 1.0 @@ -48,13 +48,13 @@ namespace QtDataVisualization { */ /*! - * \typedef QtDataVisualization::QBarDataRow + * \typedef QBarDataRow * * A vector of QBarDataItems. */ /*! - * \typedef QtDataVisualization::QBarDataArray + * \typedef QBarDataArray * * A list of pointers to QBarDataRows. */ @@ -64,7 +64,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QBarDataProxy + * \instantiates QBarDataProxy * \inherits AbstractDataProxy * \brief Base proxy type for Bars3D. * @@ -493,10 +493,6 @@ const QBarDataProxyPrivate *QBarDataProxy::dptrc() const // QBarDataProxyPrivate -/*! - * \class QtDataVisualization::QBarDataProxyPrivate - * \internal - */ QBarDataProxyPrivate::QBarDataProxyPrivate(QBarDataProxy *q) : QAbstractDataProxyPrivate(q, QAbstractDataProxy::DataTypeBar), m_dataArray(new QBarDataArray) @@ -729,4 +725,4 @@ void QBarDataProxyPrivate::setSeries(QAbstract3DSeries *series) emit qptr()->seriesChanged(barSeries); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qbardataproxy.h b/src/datavisualization/data/qbardataproxy.h index c5938531..4a1e547f 100644 --- a/src/datavisualization/data/qbardataproxy.h +++ b/src/datavisualization/data/qbardataproxy.h @@ -24,14 +24,14 @@ #include #include -namespace QtDataVisualization { - -typedef QVector QBarDataRow; -typedef QList QBarDataArray; +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QBarDataProxyPrivate; class QBar3DSeries; +typedef QVector QBarDataRow; +typedef QList QBarDataArray; + class QT_DATAVISUALIZATION_EXPORT QBarDataProxy : public QAbstractDataProxy { Q_OBJECT @@ -104,6 +104,6 @@ private: friend class Bars3DController; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // QBARDATAPROXY_H diff --git a/src/datavisualization/data/qbardataproxy_p.h b/src/datavisualization/data/qbardataproxy_p.h index f6ad0d51..6576230b 100644 --- a/src/datavisualization/data/qbardataproxy_p.h +++ b/src/datavisualization/data/qbardataproxy_p.h @@ -33,7 +33,7 @@ #include "qabstractdataproxy_p.h" #include "qbardataitem.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QBarDataProxyPrivate : public QAbstractDataProxyPrivate { @@ -72,6 +72,6 @@ private: friend class QBarDataProxy; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // QBARDATAPROXY_P_H diff --git a/src/datavisualization/data/qheightmapsurfacedataproxy.cpp b/src/datavisualization/data/qheightmapsurfacedataproxy.cpp index 21f7ae8e..feb6cded 100644 --- a/src/datavisualization/data/qheightmapsurfacedataproxy.cpp +++ b/src/datavisualization/data/qheightmapsurfacedataproxy.cpp @@ -18,14 +18,14 @@ #include "qheightmapsurfacedataproxy_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION // Default ranges correspond value axis defaults const float defaultMinValue = 0.0f; const float defaultMaxValue = 10.0f; /*! - * \class QtDataVisualization::QHeightMapSurfaceDataProxy + * \class QHeightMapSurfaceDataProxy * \inmodule QtDataVisualization * \brief Base proxy class for Q3DSurface. * \since Qt Data Visualization 1.0 @@ -46,7 +46,7 @@ const float defaultMaxValue = 10.0f; * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QHeightMapSurfaceDataProxy + * \instantiates QHeightMapSurfaceDataProxy * \inherits SurfaceDataProxy * \brief Base proxy type for Surface3D. * @@ -300,10 +300,6 @@ const QHeightMapSurfaceDataProxyPrivate *QHeightMapSurfaceDataProxy::dptrc() con // QHeightMapSurfaceDataProxyPrivate // -/*! - * \class QtDataVisualization::QHeightMapSurfaceDataProxyPrivate - * \internal - */ QHeightMapSurfaceDataProxyPrivate::QHeightMapSurfaceDataProxyPrivate(QHeightMapSurfaceDataProxy *q) : QSurfaceDataProxyPrivate(q), m_minXValue(defaultMinValue), @@ -552,4 +548,4 @@ void QHeightMapSurfaceDataProxyPrivate::handlePendingResolve() emit qptr()->heightMapChanged(m_heightMap); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qheightmapsurfacedataproxy.h b/src/datavisualization/data/qheightmapsurfacedataproxy.h index 42592bca..07f9ce43 100644 --- a/src/datavisualization/data/qheightmapsurfacedataproxy.h +++ b/src/datavisualization/data/qheightmapsurfacedataproxy.h @@ -23,7 +23,7 @@ #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QHeightMapSurfaceDataProxyPrivate; @@ -77,6 +77,6 @@ private: friend class Surface3DController; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qheightmapsurfacedataproxy_p.h b/src/datavisualization/data/qheightmapsurfacedataproxy_p.h index 0137511b..b2450d27 100644 --- a/src/datavisualization/data/qheightmapsurfacedataproxy_p.h +++ b/src/datavisualization/data/qheightmapsurfacedataproxy_p.h @@ -33,7 +33,7 @@ #include "qsurfacedataproxy_p.h" #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QHeightMapSurfaceDataProxyPrivate : public QSurfaceDataProxyPrivate { @@ -64,6 +64,6 @@ private: friend class QHeightMapSurfaceDataProxy; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qitemmodelbardataproxy.cpp b/src/datavisualization/data/qitemmodelbardataproxy.cpp index 52a8cbb5..c1b05371 100644 --- a/src/datavisualization/data/qitemmodelbardataproxy.cpp +++ b/src/datavisualization/data/qitemmodelbardataproxy.cpp @@ -20,10 +20,10 @@ #include "baritemmodelhandler_p.h" #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QItemModelBarDataProxy + * \class QItemModelBarDataProxy * \inmodule QtDataVisualization * \brief Proxy class for presenting data in item models with Q3DBars. * \since Qt Data Visualization 1.0 @@ -66,7 +66,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QItemModelBarDataProxy + * \instantiates QItemModelBarDataProxy * \inherits BarDataProxy * \brief Proxy class for presenting data in item models with Bars3D. * @@ -448,10 +448,6 @@ const QItemModelBarDataProxyPrivate *QItemModelBarDataProxy::dptrc() const // QItemModelBarDataProxyPrivate -/*! - * \class QtDataVisualization::QItemModelBarDataProxyPrivate - * \internal - */ QItemModelBarDataProxyPrivate::QItemModelBarDataProxyPrivate(QItemModelBarDataProxy *q) : QBarDataProxyPrivate(q), m_itemModelHandler(new BarItemModelHandler(q)), @@ -493,4 +489,4 @@ void QItemModelBarDataProxyPrivate::connectItemModelHandler() m_itemModelHandler, &AbstractItemModelHandler::handleMappingChanged); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qitemmodelbardataproxy.h b/src/datavisualization/data/qitemmodelbardataproxy.h index 8a946ca7..94ac9083 100644 --- a/src/datavisualization/data/qitemmodelbardataproxy.h +++ b/src/datavisualization/data/qitemmodelbardataproxy.h @@ -23,7 +23,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QItemModelBarDataProxyPrivate; @@ -104,6 +104,6 @@ private: friend class BarItemModelHandler; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qitemmodelbardataproxy_p.h b/src/datavisualization/data/qitemmodelbardataproxy_p.h index 16d48f9f..90132264 100644 --- a/src/datavisualization/data/qitemmodelbardataproxy_p.h +++ b/src/datavisualization/data/qitemmodelbardataproxy_p.h @@ -32,7 +32,7 @@ #include "qitemmodelbardataproxy.h" #include "qbardataproxy_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class BarItemModelHandler; @@ -66,6 +66,6 @@ private: friend class QItemModelBarDataProxy; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qitemmodelscatterdataproxy.cpp b/src/datavisualization/data/qitemmodelscatterdataproxy.cpp index 869d8e8c..74979309 100644 --- a/src/datavisualization/data/qitemmodelscatterdataproxy.cpp +++ b/src/datavisualization/data/qitemmodelscatterdataproxy.cpp @@ -20,10 +20,10 @@ #include "scatteritemmodelhandler_p.h" #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QItemModelScatterDataProxy + * \class QItemModelScatterDataProxy * \inmodule QtDataVisualization * \brief Proxy class for presenting data in item models with Q3DScatter. * \since Qt Data Visualization 1.0 @@ -52,7 +52,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QItemModelScatterDataProxy + * \instantiates QItemModelScatterDataProxy * \inherits ScatterDataProxy * \brief Proxy class for presenting data in item models with Scatter3D. * @@ -237,10 +237,6 @@ const QItemModelScatterDataProxyPrivate *QItemModelScatterDataProxy::dptrc() con // QItemModelScatterDataProxyPrivate -/*! - * \class QtDataVisualization::QItemModelScatterDataProxyPrivate - * \internal - */ QItemModelScatterDataProxyPrivate::QItemModelScatterDataProxyPrivate(QItemModelScatterDataProxy *q) : QScatterDataProxyPrivate(q), m_itemModelHandler(new ScatterItemModelHandler(q)) @@ -269,4 +265,4 @@ void QItemModelScatterDataProxyPrivate::connectItemModelHandler() m_itemModelHandler, &AbstractItemModelHandler::handleMappingChanged); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qitemmodelscatterdataproxy.h b/src/datavisualization/data/qitemmodelscatterdataproxy.h index 96fab6b6..17077e8d 100644 --- a/src/datavisualization/data/qitemmodelscatterdataproxy.h +++ b/src/datavisualization/data/qitemmodelscatterdataproxy.h @@ -23,7 +23,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QItemModelScatterDataProxyPrivate; @@ -71,6 +71,6 @@ private: friend class ScatterItemModelHandler; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qitemmodelscatterdataproxy_p.h b/src/datavisualization/data/qitemmodelscatterdataproxy_p.h index 7b33704c..37d7d23f 100644 --- a/src/datavisualization/data/qitemmodelscatterdataproxy_p.h +++ b/src/datavisualization/data/qitemmodelscatterdataproxy_p.h @@ -32,7 +32,7 @@ #include "qitemmodelscatterdataproxy.h" #include "qscatterdataproxy_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class ScatterItemModelHandler; @@ -57,6 +57,6 @@ private: friend class QItemModelScatterDataProxy; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp index b387bd7b..8c11ba88 100644 --- a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp +++ b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp @@ -20,12 +20,12 @@ #include "surfaceitemmodelhandler_p.h" #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION // TODO: CHECK DOCUMENTATION! /*! - * \class QtDataVisualization::QItemModelSurfaceDataProxy + * \class QItemModelSurfaceDataProxy * \inmodule QtDataVisualization * \brief Proxy class for presenting data in item models with Q3DSurface. * \since Qt Data Visualization 1.0 @@ -69,7 +69,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QItemModelSurfaceDataProxy + * \instantiates QItemModelSurfaceDataProxy * \inherits SurfaceDataProxy * \brief Proxy class for presenting data in item models with Surface3D. * @@ -458,10 +458,6 @@ const QItemModelSurfaceDataProxyPrivate *QItemModelSurfaceDataProxy::dptrc() con // QItemModelSurfaceDataProxyPrivate -/*! - * \class QtDataVisualization::QItemModelSurfaceDataProxyPrivate - * \internal - */ QItemModelSurfaceDataProxyPrivate::QItemModelSurfaceDataProxyPrivate(QItemModelSurfaceDataProxy *q) : QSurfaceDataProxyPrivate(q), m_itemModelHandler(new SurfaceItemModelHandler(q)), @@ -503,4 +499,4 @@ void QItemModelSurfaceDataProxyPrivate::connectItemModelHandler() m_itemModelHandler, &AbstractItemModelHandler::handleMappingChanged); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qitemmodelsurfacedataproxy.h b/src/datavisualization/data/qitemmodelsurfacedataproxy.h index 8c5b9ed4..fcd2b52b 100644 --- a/src/datavisualization/data/qitemmodelsurfacedataproxy.h +++ b/src/datavisualization/data/qitemmodelsurfacedataproxy.h @@ -23,7 +23,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QItemModelSurfaceDataProxyPrivate; @@ -104,6 +104,6 @@ private: friend class SurfaceItemModelHandler; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qitemmodelsurfacedataproxy_p.h b/src/datavisualization/data/qitemmodelsurfacedataproxy_p.h index 81230ab7..2f538a87 100644 --- a/src/datavisualization/data/qitemmodelsurfacedataproxy_p.h +++ b/src/datavisualization/data/qitemmodelsurfacedataproxy_p.h @@ -32,7 +32,7 @@ #include "qitemmodelsurfacedataproxy.h" #include "qsurfacedataproxy_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class SurfaceItemModelHandler; @@ -66,6 +66,6 @@ private: friend class QItemModelSurfaceDataProxy; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qscatter3dseries.h b/src/datavisualization/data/qscatter3dseries.h index a3192003..e5ce6fd3 100644 --- a/src/datavisualization/data/qscatter3dseries.h +++ b/src/datavisualization/data/qscatter3dseries.h @@ -22,7 +22,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QScatter3DSeriesPrivate; @@ -64,6 +64,6 @@ private: friend class Scatter3DController; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qscatter3dseries_p.h b/src/datavisualization/data/qscatter3dseries_p.h index aa638445..585887cb 100644 --- a/src/datavisualization/data/qscatter3dseries_p.h +++ b/src/datavisualization/data/qscatter3dseries_p.h @@ -32,7 +32,7 @@ #include "qscatter3dseries.h" #include "qabstract3dseries_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QScatter3DSeriesPrivate : public QAbstract3DSeriesPrivate { @@ -56,6 +56,6 @@ private: friend class QScatter3DSeries; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qscatterdataitem.cpp b/src/datavisualization/data/qscatterdataitem.cpp index 56d8cd35..d4641c7f 100644 --- a/src/datavisualization/data/qscatterdataitem.cpp +++ b/src/datavisualization/data/qscatterdataitem.cpp @@ -18,10 +18,10 @@ #include "qscatterdataitem_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QScatterDataItem + * \class QScatterDataItem * \inmodule QtDataVisualization * \brief The QScatterDataItem class provides a container for resolved data to be added to scatter * graphs. @@ -140,10 +140,6 @@ void QScatterDataItem::createExtraData() d_ptr = new QScatterDataItemPrivate; } -/*! - * \class QtDataVisualization::QScatterDataItemPrivate - * \internal - */ QScatterDataItemPrivate::QScatterDataItemPrivate() { } @@ -152,4 +148,4 @@ QScatterDataItemPrivate::~QScatterDataItemPrivate() { } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qscatterdataitem.h b/src/datavisualization/data/qscatterdataitem.h index 92f34f30..7c7fe20c 100644 --- a/src/datavisualization/data/qscatterdataitem.h +++ b/src/datavisualization/data/qscatterdataitem.h @@ -19,10 +19,12 @@ #ifndef QSCATTERDATAITEM_H #define QSCATTERDATAITEM_H +#include + #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QScatterDataItemPrivate; @@ -57,6 +59,6 @@ private: QQuaternion m_rotation; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qscatterdataitem_p.h b/src/datavisualization/data/qscatterdataitem_p.h index c4dec45e..d9c7af94 100644 --- a/src/datavisualization/data/qscatterdataitem_p.h +++ b/src/datavisualization/data/qscatterdataitem_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include "qscatterdataitem.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QScatterDataItemPrivate { @@ -46,6 +46,6 @@ protected: friend class QScatterDataItem; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qscatterdataproxy.cpp b/src/datavisualization/data/qscatterdataproxy.cpp index c9292727..7db508ea 100644 --- a/src/datavisualization/data/qscatterdataproxy.cpp +++ b/src/datavisualization/data/qscatterdataproxy.cpp @@ -20,10 +20,10 @@ #include "qscatterdataproxy_p.h" #include "qscatter3dseries_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QScatterDataProxy + * \class QScatterDataProxy * \inmodule QtDataVisualization * \brief Base proxy class for Q3DScatter. * \since Qt Data Visualization 1.0 @@ -36,7 +36,7 @@ namespace QtDataVisualization { */ /*! - * \typedef QtDataVisualization::QScatterDataArray + * \typedef QScatterDataArray * * A vector of QScatterDataItems. */ @@ -46,7 +46,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QScatterDataProxy + * \instantiates QScatterDataProxy * \inherits AbstractDataProxy * \brief Base proxy class for Scatter3D. * @@ -283,10 +283,6 @@ const QScatterDataProxyPrivate *QScatterDataProxy::dptrc() const // QScatterDataProxyPrivate -/*! - * \class QtDataVisualization::QScatterDataProxyPrivate - * \internal - */ QScatterDataProxyPrivate::QScatterDataProxyPrivate(QScatterDataProxy *q) : QAbstractDataProxyPrivate(q, QAbstractDataProxy::DataTypeScatter), m_dataArray(new QScatterDataArray) @@ -418,4 +414,4 @@ QScatterDataProxy *QScatterDataProxyPrivate::qptr() return static_cast(q_ptr); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qscatterdataproxy.h b/src/datavisualization/data/qscatterdataproxy.h index b1c451b0..b99f503a 100644 --- a/src/datavisualization/data/qscatterdataproxy.h +++ b/src/datavisualization/data/qscatterdataproxy.h @@ -22,13 +22,13 @@ #include #include -namespace QtDataVisualization { - -typedef QVector QScatterDataArray; +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QScatterDataProxyPrivate; class QScatter3DSeries; +typedef QVector QScatterDataArray; + class QT_DATAVISUALIZATION_EXPORT QScatterDataProxy : public QAbstractDataProxy { Q_OBJECT @@ -79,6 +79,6 @@ private: friend class Scatter3DController; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qscatterdataproxy_p.h b/src/datavisualization/data/qscatterdataproxy_p.h index 18ab7887..c9f1d78e 100644 --- a/src/datavisualization/data/qscatterdataproxy_p.h +++ b/src/datavisualization/data/qscatterdataproxy_p.h @@ -33,7 +33,7 @@ #include "qabstractdataproxy_p.h" #include "qscatterdataitem.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QScatterDataProxyPrivate : public QAbstractDataProxyPrivate { @@ -61,6 +61,6 @@ private: friend class QScatterDataProxy; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // QBARDATAPROXY_P_H diff --git a/src/datavisualization/data/qsurface3dseries.h b/src/datavisualization/data/qsurface3dseries.h index d2109b3e..fae841fc 100644 --- a/src/datavisualization/data/qsurface3dseries.h +++ b/src/datavisualization/data/qsurface3dseries.h @@ -22,7 +22,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QSurface3DSeriesPrivate; @@ -81,6 +81,6 @@ private: friend class Surface3DController; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qsurface3dseries_p.h b/src/datavisualization/data/qsurface3dseries_p.h index a9305268..af3eac93 100644 --- a/src/datavisualization/data/qsurface3dseries_p.h +++ b/src/datavisualization/data/qsurface3dseries_p.h @@ -32,7 +32,7 @@ #include "qsurface3dseries.h" #include "qabstract3dseries_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QSurface3DSeriesPrivate : public QAbstract3DSeriesPrivate { @@ -59,6 +59,6 @@ private: friend class QSurface3DSeries; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qsurfacedataitem.cpp b/src/datavisualization/data/qsurfacedataitem.cpp index b531d6b6..41d2dff9 100644 --- a/src/datavisualization/data/qsurfacedataitem.cpp +++ b/src/datavisualization/data/qsurfacedataitem.cpp @@ -18,10 +18,10 @@ #include "qsurfacedataitem_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QSurfaceDataItem + * \class QSurfaceDataItem * \inmodule QtDataVisualization * \brief The QSurfaceDataItem class provides a container for resolved data to be added to surface * graphs. @@ -132,10 +132,6 @@ void QSurfaceDataItem::createExtraData() d_ptr = new QSurfaceDataItemPrivate; } -/*! - * \class QtDataVisualization::QSurfaceDataItemPrivate - * \internal - */ QSurfaceDataItemPrivate::QSurfaceDataItemPrivate() { } @@ -144,4 +140,4 @@ QSurfaceDataItemPrivate::~QSurfaceDataItemPrivate() { } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qsurfacedataitem.h b/src/datavisualization/data/qsurfacedataitem.h index a4d0eb27..c31bb93f 100644 --- a/src/datavisualization/data/qsurfacedataitem.h +++ b/src/datavisualization/data/qsurfacedataitem.h @@ -19,9 +19,11 @@ #ifndef QSURFACEDATAITEM_H #define QSURFACEDATAITEM_H +#include + #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QSurfaceDataItemPrivate; @@ -53,6 +55,6 @@ private: QVector3D m_position; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qsurfacedataitem_p.h b/src/datavisualization/data/qsurfacedataitem_p.h index 538bb6d9..d1e7c7da 100644 --- a/src/datavisualization/data/qsurfacedataitem_p.h +++ b/src/datavisualization/data/qsurfacedataitem_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include "qsurfacedataitem.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QSurfaceDataItemPrivate { @@ -46,6 +46,6 @@ protected: friend class QSurfaceDataItem; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/qsurfacedataproxy.cpp b/src/datavisualization/data/qsurfacedataproxy.cpp index dbfcfa86..541b1d8f 100644 --- a/src/datavisualization/data/qsurfacedataproxy.cpp +++ b/src/datavisualization/data/qsurfacedataproxy.cpp @@ -20,10 +20,10 @@ #include "qsurfacedataproxy_p.h" #include "qsurface3dseries_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QSurfaceDataProxy + * \class QSurfaceDataProxy * \inmodule QtDataVisualization * \brief Base proxy class for Q3DSurface. * \since Qt Data Visualization 1.0 @@ -57,13 +57,13 @@ namespace QtDataVisualization { */ /*! - * \typedef QtDataVisualization::QSurfaceDataRow + * \typedef QSurfaceDataRow * * A vector of QSurfaceDataItems. */ /*! - * \typedef QtDataVisualization::QSurfaceDataArray + * \typedef QSurfaceDataArray * * A list of pointers to QSurfaceDataRows. */ @@ -73,7 +73,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QSurfaceDataProxy + * \instantiates QSurfaceDataProxy * \inherits AbstractDataProxy * \brief Base proxy class for Surface3D. * @@ -359,10 +359,6 @@ const QSurfaceDataProxyPrivate *QSurfaceDataProxy::dptrc() const // QSurfaceDataProxyPrivate // -/*! - * \class QtDataVisualization::QSurfaceDataProxyPrivate - * \internal - */ QSurfaceDataProxyPrivate::QSurfaceDataProxyPrivate(QSurfaceDataProxy *q) : QAbstractDataProxyPrivate(q, QAbstractDataProxy::DataTypeSurface), m_dataArray(new QSurfaceDataArray) @@ -536,4 +532,4 @@ void QSurfaceDataProxyPrivate::setSeries(QAbstract3DSeries *series) emit qptr()->seriesChanged(surfaceSeries); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qsurfacedataproxy.h b/src/datavisualization/data/qsurfacedataproxy.h index f4015fee..b1f16cb3 100644 --- a/src/datavisualization/data/qsurfacedataproxy.h +++ b/src/datavisualization/data/qsurfacedataproxy.h @@ -22,14 +22,14 @@ #include #include -namespace QtDataVisualization { - -typedef QVector QSurfaceDataRow; -typedef QList QSurfaceDataArray; +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QSurfaceDataProxyPrivate; class QSurface3DSeries; +typedef QVector QSurfaceDataRow; +typedef QList QSurfaceDataArray; + class QT_DATAVISUALIZATION_EXPORT QSurfaceDataProxy : public QAbstractDataProxy { Q_OBJECT @@ -86,6 +86,6 @@ private: friend class Surface3DController; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // QSURFACEDATAPROXY_H diff --git a/src/datavisualization/data/qsurfacedataproxy_p.h b/src/datavisualization/data/qsurfacedataproxy_p.h index d01b4383..d370ef69 100644 --- a/src/datavisualization/data/qsurfacedataproxy_p.h +++ b/src/datavisualization/data/qsurfacedataproxy_p.h @@ -34,7 +34,7 @@ #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QSurfaceDataProxyPrivate : public QAbstractDataProxyPrivate { @@ -67,6 +67,6 @@ private: friend class QSurfaceDataProxy; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // QSURFACEDATAPROXY_P_H diff --git a/src/datavisualization/data/scatteritemmodelhandler.cpp b/src/datavisualization/data/scatteritemmodelhandler.cpp index ac7e69e8..2faa02a9 100644 --- a/src/datavisualization/data/scatteritemmodelhandler.cpp +++ b/src/datavisualization/data/scatteritemmodelhandler.cpp @@ -19,12 +19,7 @@ #include "scatteritemmodelhandler_p.h" #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::ScatterItemModelHandler - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION ScatterItemModelHandler::ScatterItemModelHandler(QItemModelScatterDataProxy *proxy, QObject *parent) : AbstractItemModelHandler(parent), @@ -82,4 +77,4 @@ void ScatterItemModelHandler::resolveModel() m_proxy->resetArray(m_proxyArray); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/scatteritemmodelhandler_p.h b/src/datavisualization/data/scatteritemmodelhandler_p.h index b59b3aa7..f54ed2c5 100644 --- a/src/datavisualization/data/scatteritemmodelhandler_p.h +++ b/src/datavisualization/data/scatteritemmodelhandler_p.h @@ -32,7 +32,7 @@ #include "abstractitemmodelhandler_p.h" #include "qitemmodelscatterdataproxy_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class ScatterItemModelHandler : public AbstractItemModelHandler { @@ -48,6 +48,6 @@ protected: QScatterDataArray *m_proxyArray; // Not owned }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/scatterrenderitem.cpp b/src/datavisualization/data/scatterrenderitem.cpp index 5b31c5b2..635f11cb 100644 --- a/src/datavisualization/data/scatterrenderitem.cpp +++ b/src/datavisualization/data/scatterrenderitem.cpp @@ -20,17 +20,7 @@ #include "scatter3drenderer_p.h" #include "qscatterdataproxy.h" -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::ScatterRenderItem - * \internal - */ - -/*! - * \typedef ScatterRenderItemArray - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION ScatterRenderItem::ScatterRenderItem() : AbstractRenderItem(), @@ -49,4 +39,4 @@ ScatterRenderItem::~ScatterRenderItem() { } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/scatterrenderitem_p.h b/src/datavisualization/data/scatterrenderitem_p.h index 5e596505..672eda78 100644 --- a/src/datavisualization/data/scatterrenderitem_p.h +++ b/src/datavisualization/data/scatterrenderitem_p.h @@ -31,7 +31,7 @@ #include "abstractrenderitem_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Scatter3DRenderer; @@ -78,6 +78,6 @@ protected: }; typedef QVector ScatterRenderItemArray; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/data/surfaceitemmodelhandler.cpp b/src/datavisualization/data/surfaceitemmodelhandler.cpp index 3256e660..db6052d9 100644 --- a/src/datavisualization/data/surfaceitemmodelhandler.cpp +++ b/src/datavisualization/data/surfaceitemmodelhandler.cpp @@ -18,12 +18,7 @@ #include "surfaceitemmodelhandler_p.h" -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::SurfaceItemModelHandler - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION SurfaceItemModelHandler::SurfaceItemModelHandler(QItemModelSurfaceDataProxy *proxy, QObject *parent) : AbstractItemModelHandler(parent), @@ -144,4 +139,4 @@ void SurfaceItemModelHandler::resolveModel() m_proxy->resetArray(m_proxyArray); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/surfaceitemmodelhandler_p.h b/src/datavisualization/data/surfaceitemmodelhandler_p.h index edca9dca..2f1a23ae 100644 --- a/src/datavisualization/data/surfaceitemmodelhandler_p.h +++ b/src/datavisualization/data/surfaceitemmodelhandler_p.h @@ -32,7 +32,7 @@ #include "abstractitemmodelhandler_p.h" #include "qitemmodelsurfacedataproxy_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class SurfaceItemModelHandler : public AbstractItemModelHandler { @@ -48,6 +48,6 @@ protected: QSurfaceDataArray *m_proxyArray; // Not owned }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/doc/qtdatavisualization.qdocconf b/src/datavisualization/doc/qtdatavisualization.qdocconf index 29fd17f8..7ec7ac1e 100644 --- a/src/datavisualization/doc/qtdatavisualization.qdocconf +++ b/src/datavisualization/doc/qtdatavisualization.qdocconf @@ -12,8 +12,7 @@ imagedirs += ../images \ images sourcedirs += .. -depends += qtcore \ - qtgui +depends += qtcore qtgui qtdeclarative indexes += $QTDIR/doc/html/qt.index diff --git a/src/datavisualization/doc/src/qtdatavisualization.qdoc b/src/datavisualization/doc/src/qtdatavisualization.qdoc index c07f161b..dbfb1754 100644 --- a/src/datavisualization/doc/src/qtdatavisualization.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization.qdoc @@ -299,7 +299,7 @@ /*! * \fn QSurfaceFormat QtDataVisualization::qDefaultSurfaceFormat(bool antialias = true) - * \relates QtDataVisualization::QAbstract3DGraph + * \relates QAbstract3DGraph * * Anti-aliasing is turned on by default on C++ and turned off on QML, except in OpenGL ES2 * environments, where anti-aliasing is not supported by Qt Data Visualization. diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 9ec6f087..7e938387 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -33,17 +33,7 @@ #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::Abstract3DController - * \internal - */ - -/*! - * \class QtDataVisualization::Abstract3DChangeBitField - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scene, QObject *parent) : QObject(parent), @@ -1026,4 +1016,4 @@ void Abstract3DController::emitNeedRender() } } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/abstract3drenderer_p.h b/src/datavisualization/engine/abstract3drenderer_p.h index c38135ed..944c00b1 100644 --- a/src/datavisualization/engine/abstract3drenderer_p.h +++ b/src/datavisualization/engine/abstract3drenderer_p.h @@ -41,7 +41,7 @@ //#define DISPLAY_RENDER_SPEED -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class TextureHelper; class Theme; @@ -146,6 +146,6 @@ protected: #endif }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // ABSTRACT3DRENDERER_P_H diff --git a/src/datavisualization/engine/axisrendercache.cpp b/src/datavisualization/engine/axisrendercache.cpp index 5598563a..acc59906 100644 --- a/src/datavisualization/engine/axisrendercache.cpp +++ b/src/datavisualization/engine/axisrendercache.cpp @@ -20,12 +20,7 @@ #include "qmath.h" #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::AxisRenderCache - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION AxisRenderCache::AxisRenderCache() : m_type(QAbstract3DAxis::AxisTypeNone), @@ -188,4 +183,4 @@ int AxisRenderCache::maxLabelWidth(const QStringList &labels) const return labelWidth; } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/axisrendercache_p.h b/src/datavisualization/engine/axisrendercache_p.h index 595ba83b..c4576be5 100644 --- a/src/datavisualization/engine/axisrendercache_p.h +++ b/src/datavisualization/engine/axisrendercache_p.h @@ -34,7 +34,7 @@ #include "qabstract3daxis_p.h" #include "drawer_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class AxisRenderCache : public QObject { @@ -96,6 +96,6 @@ private: Q_DISABLE_COPY(AxisRenderCache) }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 97e21fc6..81499ac7 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -38,12 +38,7 @@ // You should see the scene from where the light is //#define SHOW_DEPTH_TEXTURE_SCENE -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::Bars3DRenderer - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION const GLfloat labelMargin = 0.05f; const GLfloat gridLineWidth = 0.005f; @@ -2205,4 +2200,4 @@ void Bars3DRenderer::initLabelShaders(const QString &vertexShader, const QString m_labelShader->initialize(); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/bars3drenderer_p.h b/src/datavisualization/engine/bars3drenderer_p.h index 03e490b8..0eb3e60a 100644 --- a/src/datavisualization/engine/bars3drenderer_p.h +++ b/src/datavisualization/engine/bars3drenderer_p.h @@ -26,8 +26,8 @@ // // We mean it. -#ifndef Q3DBARSRENDERER_p_H -#define Q3DBARSRENDERER_p_H +#ifndef Q3DBARSRENDERER_P_H +#define Q3DBARSRENDERER_P_H #include "datavisualizationglobal_p.h" #include "bars3dcontroller_p.h" @@ -39,7 +39,7 @@ class QPoint; class QSizeF; class QOpenGLShaderProgram; -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class ShaderHelper; class ObjectHelper; @@ -162,7 +162,6 @@ private: friend class BarRenderItem; }; - -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index a2905e32..72b64212 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -38,12 +38,7 @@ public: }; StaticLibInitializer staticLibInitializer; -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::Drawer - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION // Vertex array buffer for point const GLfloat point_data[] = {0.0f, 0.0f, 0.0f}; @@ -405,4 +400,4 @@ void Drawer::generateLabelItem(LabelItem &item, const QString &text, int widestL } } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/drawer_p.h b/src/datavisualization/engine/drawer_p.h index 82163c08..ba9aadf7 100644 --- a/src/datavisualization/engine/drawer_p.h +++ b/src/datavisualization/engine/drawer_p.h @@ -36,7 +36,7 @@ #include "abstractrenderitem_p.h" #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class ShaderHelper; class ObjectHelper; @@ -100,6 +100,6 @@ private: GLuint m_pointbuffer; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp index 9a6ff6d5..a5b1dc3e 100644 --- a/src/datavisualization/engine/q3dbars.cpp +++ b/src/datavisualization/engine/q3dbars.cpp @@ -24,10 +24,10 @@ #include "q3dcamera.h" #include "qbar3dseries_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::Q3DBars + * \class Q3DBars * \inmodule QtDataVisualization * \brief The Q3DBars class provides methods for rendering 3D bar graphs. * \since Qt Data Visualization 1.0 @@ -167,7 +167,7 @@ void Q3DBars::removeSeries(QBar3DSeries *series) * the new position in list is calculated as if the series was still in its old * index, so the final index is actually the \a index decremented by one. * - * \sa addSeries(), seriesList(), seriesIndex() + * \sa addSeries(), seriesList() */ void Q3DBars::insertSeries(int index, QBar3DSeries *series) { @@ -351,10 +351,6 @@ const Q3DBarsPrivate *Q3DBars::dptrc() const return static_cast(d_ptr.data()); } -/*! - * \class QtDataVisualization::Q3DBarsPrivate - * \internal - */ Q3DBarsPrivate::Q3DBarsPrivate(Q3DBars *q) : QAbstract3DGraphPrivate(q) { @@ -384,4 +380,4 @@ Q3DBars *Q3DBarsPrivate::qptr() return static_cast(q_ptr); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/q3dbars.h b/src/datavisualization/engine/q3dbars.h index 251e410f..bf973c11 100644 --- a/src/datavisualization/engine/q3dbars.h +++ b/src/datavisualization/engine/q3dbars.h @@ -23,7 +23,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DBarsPrivate; class QAbstract3DAxis; @@ -87,6 +87,6 @@ private: Q_DISABLE_COPY(Q3DBars) }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/engine/q3dbars_p.h b/src/datavisualization/engine/q3dbars_p.h index 3e7c97ac..dbe4ce2d 100644 --- a/src/datavisualization/engine/q3dbars_p.h +++ b/src/datavisualization/engine/q3dbars_p.h @@ -32,7 +32,7 @@ #include "bars3dcontroller_p.h" #include "qabstract3dgraph_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DBars; @@ -52,6 +52,6 @@ public: Bars3DController *m_shared; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/engine/q3dbox.cpp b/src/datavisualization/engine/q3dbox.cpp index bbfa4ddc..e9fd3fd8 100644 --- a/src/datavisualization/engine/q3dbox.cpp +++ b/src/datavisualization/engine/q3dbox.cpp @@ -20,10 +20,10 @@ #include "q3dbox.h" #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - \class QtDataVisualization::Q3DBox + \class Q3DBox \inmodule QtDataVisualization \brief The Q3DBox class represents an axis-aligned box in 3D space. \since Qt Data Visualization 1.0 @@ -404,7 +404,7 @@ Q3DBox Q3DBox::transformed(const QMatrix4x4& matrix) const /*! \fn bool qFuzzyCompare(const Q3DBox& box1, const Q3DBox& box2) - \relates QtDataVisualization::Q3DBox + \relates Q3DBox Returns true if \a box1 and \a box2 are almost equal; false otherwise. */ @@ -482,4 +482,4 @@ QDataStream &operator>>(QDataStream &stream, Q3DBox &box) #endif // QT_NO_DATASTREAM -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/q3dbox.h b/src/datavisualization/engine/q3dbox.h index fcf46bdf..e18466f3 100644 --- a/src/datavisualization/engine/q3dbox.h +++ b/src/datavisualization/engine/q3dbox.h @@ -22,7 +22,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DBox; // Needed to circumvent an issue with qdoc. If this line is removed, make docs will not work for this. @@ -152,6 +152,6 @@ QT_DATAVISUALIZATION_EXPORT QDataStream &operator<<(QDataStream &stream, const Q QT_DATAVISUALIZATION_EXPORT QDataStream &operator>>(QDataStream &stream, Q3DBox &box); #endif -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/engine/q3dcamera.cpp b/src/datavisualization/engine/q3dcamera.cpp index a045d7bb..8a02d3ae 100644 --- a/src/datavisualization/engine/q3dcamera.cpp +++ b/src/datavisualization/engine/q3dcamera.cpp @@ -26,10 +26,10 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::Q3DCamera + * \class Q3DCamera * \inmodule QtDataVisualization * \brief Representation of a camera in 3D space. * \since Qt Data Visualization 1.0 @@ -81,7 +81,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::Q3DCamera + * \instantiates Q3DCamera * \brief Representation of a camera in 3D space. * * Camera3D represents a basic orbit around centerpoint 3D camera that is used when rendering the @@ -760,10 +760,6 @@ void Q3DCamera::setCameraPosition(float horizontal, float vertical, float zoom) setYRotation(vertical); } -/*! - * \class QtDataVisualization::Q3DCameraPrivate - * \internal - */ Q3DCameraPrivate::Q3DCameraPrivate(Q3DCamera *q) : q_ptr(q), m_isViewMatrixUpdateActive(true), @@ -871,5 +867,4 @@ void Q3DCameraPrivate::updateViewMatrix(float zoomAdjustment) q_ptr->setViewMatrix(viewMatrix); } - -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/q3dcamera.h b/src/datavisualization/engine/q3dcamera.h index b4341bb7..4c4d2851 100644 --- a/src/datavisualization/engine/q3dcamera.h +++ b/src/datavisualization/engine/q3dcamera.h @@ -25,7 +25,7 @@ class QVector3D; class QPoint; -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DCameraPrivate; @@ -157,6 +157,6 @@ private: friend class QMac3DInputHandler; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // Q3DCAMERA_H diff --git a/src/datavisualization/engine/q3dcamera_p.h b/src/datavisualization/engine/q3dcamera_p.h index cfaaeb4d..555d5cd9 100644 --- a/src/datavisualization/engine/q3dcamera_p.h +++ b/src/datavisualization/engine/q3dcamera_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include "q3dcamera.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DCamera; @@ -82,6 +82,6 @@ public: friend class QMac3DInputHandler; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // Q3DCAMERA_P_H diff --git a/src/datavisualization/engine/q3dlight.cpp b/src/datavisualization/engine/q3dlight.cpp index 6b5c456f..25dbc79e 100644 --- a/src/datavisualization/engine/q3dlight.cpp +++ b/src/datavisualization/engine/q3dlight.cpp @@ -20,10 +20,10 @@ #include "q3dscene.h" #include "q3dlight_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::Q3DLight + * \class Q3DLight * \inmodule QtDataVisualization * \brief Representation of a light source in 3D space. * \since Qt Data Visualization 1.0 @@ -36,7 +36,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::Q3DLight + * \instantiates Q3DLight * \brief Representation of a light source in 3D space. * * Light3D represents a monochrome non variable light source in 3D space. @@ -59,10 +59,6 @@ Q3DLight::~Q3DLight() { } -/*! - * \class QtDataVisualization::Q3DLightPrivate - * \internal - */ Q3DLightPrivate::Q3DLightPrivate(Q3DLight *q) : q_ptr(q) { @@ -83,4 +79,4 @@ void Q3DLightPrivate::sync(Q3DLight &other) } } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/q3dlight.h b/src/datavisualization/engine/q3dlight.h index 6515b1ae..f37c0983 100644 --- a/src/datavisualization/engine/q3dlight.h +++ b/src/datavisualization/engine/q3dlight.h @@ -21,7 +21,7 @@ #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DLightPrivate; class Q3DScene; @@ -43,6 +43,6 @@ private: friend class Q3DScenePrivate; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // Q3DLIGHT_H diff --git a/src/datavisualization/engine/q3dlight_p.h b/src/datavisualization/engine/q3dlight_p.h index bd871427..c68956ad 100644 --- a/src/datavisualization/engine/q3dlight_p.h +++ b/src/datavisualization/engine/q3dlight_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include "q3dlight.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DScene; class Q3DLight; @@ -49,7 +49,7 @@ public: Q3DLight *q_ptr; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // Q3DLIGHT_P_H diff --git a/src/datavisualization/engine/q3dobject.cpp b/src/datavisualization/engine/q3dobject.cpp index 946a41cc..f81b7f91 100644 --- a/src/datavisualization/engine/q3dobject.cpp +++ b/src/datavisualization/engine/q3dobject.cpp @@ -20,10 +20,10 @@ #include "q3dobject_p.h" #include "q3dscene_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - \class QtDataVisualization::Q3DObject + \class Q3DObject \inmodule QtDataVisualization \brief Simple baseclass for all the objects in the 3D scene. \since Qt Data Visualization 1.0 @@ -109,10 +109,6 @@ bool Q3DObject::isDirty() const return d_ptr->m_isDirty; } -/*! - * \class QtDataVisualization::Q3DObjectPrivate - * \internal - */ Q3DObjectPrivate::Q3DObjectPrivate(Q3DObject *q) : q_ptr(q), m_isDirty(true) @@ -124,4 +120,4 @@ Q3DObjectPrivate::~Q3DObjectPrivate() } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/q3dobject.h b/src/datavisualization/engine/q3dobject.h index c32203cc..da83709a 100644 --- a/src/datavisualization/engine/q3dobject.h +++ b/src/datavisualization/engine/q3dobject.h @@ -24,7 +24,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DObjectPrivate; @@ -60,6 +60,6 @@ private: friend class Q3DScenePrivate; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // Q3DOBJECT_H diff --git a/src/datavisualization/engine/q3dobject_p.h b/src/datavisualization/engine/q3dobject_p.h index 51bf1b08..90de8604 100644 --- a/src/datavisualization/engine/q3dobject_p.h +++ b/src/datavisualization/engine/q3dobject_p.h @@ -31,7 +31,7 @@ #include "datavisualizationglobal_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DObject; class Q3DScene; @@ -48,6 +48,6 @@ public: bool m_isDirty; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // Q3DOBJECT_P_H diff --git a/src/datavisualization/engine/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp index 99e6c096..9af916cb 100644 --- a/src/datavisualization/engine/q3dscatter.cpp +++ b/src/datavisualization/engine/q3dscatter.cpp @@ -23,10 +23,10 @@ #include "q3dcamera.h" #include "qscatter3dseries_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::Q3DScatter + * \class Q3DScatter * \inmodule QtDataVisualization * \brief The Q3DScatter class provides methods for rendering 3D scatter graphs. * \since Qt Data Visualization 1.0 @@ -241,10 +241,6 @@ QList Q3DScatter::axes() const return retList; } -/*! - * \class QtDataVisualization::Q3DScatterPrivate - * \internal - */ Q3DScatterPrivate::Q3DScatterPrivate(Q3DScatter *q) : QAbstract3DGraphPrivate(q) { @@ -274,5 +270,5 @@ Q3DScatter *Q3DScatterPrivate::qptr() return static_cast(q_ptr); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/q3dscatter.h b/src/datavisualization/engine/q3dscatter.h index a03e51f7..f9a67d76 100644 --- a/src/datavisualization/engine/q3dscatter.h +++ b/src/datavisualization/engine/q3dscatter.h @@ -24,7 +24,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DScatterPrivate; class QValue3DAxis; @@ -67,6 +67,6 @@ private: Q_DISABLE_COPY(Q3DScatter) }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/engine/q3dscatter_p.h b/src/datavisualization/engine/q3dscatter_p.h index 9c6c4480..66f6fd7b 100644 --- a/src/datavisualization/engine/q3dscatter_p.h +++ b/src/datavisualization/engine/q3dscatter_p.h @@ -32,7 +32,7 @@ #include "scatter3dcontroller_p.h" #include "qabstract3dgraph_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DScatter; @@ -52,6 +52,6 @@ public: Scatter3DController *m_shared; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/engine/q3dscene.cpp b/src/datavisualization/engine/q3dscene.cpp index 4712cf18..de19e84c 100644 --- a/src/datavisualization/engine/q3dscene.cpp +++ b/src/datavisualization/engine/q3dscene.cpp @@ -25,10 +25,10 @@ #include "q3dcamera_p.h" #include "q3dlight_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::Q3DScene + * \class Q3DScene * \inmodule QtDataVisualization * \brief Q3DScene class provides description of the 3D scene being visualized. * \since Qt Data Visualization 1.0 @@ -47,7 +47,7 @@ namespace QtDataVisualization { */ /*! - * \class QtDataVisualization::Q3DSceneChangeBitField + * \class Q3DSceneChangeBitField * \internal */ @@ -56,7 +56,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::Q3DScene + * \instantiates Q3DScene * \brief Scene3D type provides description of the 3D scene being visualized. * * The 3D scene contains a single active camera and a single active light source. @@ -461,10 +461,6 @@ void Q3DScene::setLightPositionRelativeToCamera(const QVector3D &relativePositio distanceModifier)); } -/*! - * \class QtDataVisualization::Q3DScenePrivate - * \internal - */ Q3DScenePrivate::Q3DScenePrivate(Q3DScene *q) : QObject(0), q_ptr(q), @@ -653,4 +649,4 @@ QRect Q3DScenePrivate::glSecondarySubViewport() return m_glSecondarySubViewport; } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/q3dscene.h b/src/datavisualization/engine/q3dscene.h index d43d06ec..8f9ee7b3 100644 --- a/src/datavisualization/engine/q3dscene.h +++ b/src/datavisualization/engine/q3dscene.h @@ -24,7 +24,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DCamera; class Q3DBox; @@ -108,6 +108,6 @@ private: friend class Q3DObject; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // Q3DSCENE_H diff --git a/src/datavisualization/engine/q3dscene_p.h b/src/datavisualization/engine/q3dscene_p.h index 65d5e4c8..3ba1c2df 100644 --- a/src/datavisualization/engine/q3dscene_p.h +++ b/src/datavisualization/engine/q3dscene_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DCamera; class Q3DLight; @@ -110,6 +110,6 @@ public: bool m_sceneDirty; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // Q3DSCENE_P_H diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp index dd5cfab6..a9b9e3d3 100644 --- a/src/datavisualization/engine/q3dsurface.cpp +++ b/src/datavisualization/engine/q3dsurface.cpp @@ -23,10 +23,10 @@ #include "q3dcamera.h" #include "qsurface3dseries_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::Q3DSurface + * \class Q3DSurface * \inmodule QtDataVisualization * \brief The Q3DSurface class provides methods for rendering 3D surface plots. * \since Qt Data Visualization 1.0 @@ -264,10 +264,6 @@ QList Q3DSurface::axes() const /////////////////// PRIVATE /////////////////////////////////// -/*! - * \class QtDataVisualization::Q3DSurfacePrivate - * \internal - */ Q3DSurfacePrivate::Q3DSurfacePrivate(Q3DSurface *q) : QAbstract3DGraphPrivate(q) { @@ -297,4 +293,4 @@ Q3DSurface *Q3DSurfacePrivate::qptr() return static_cast(q_ptr); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/q3dsurface.h b/src/datavisualization/engine/q3dsurface.h index 833e983a..e8158f65 100644 --- a/src/datavisualization/engine/q3dsurface.h +++ b/src/datavisualization/engine/q3dsurface.h @@ -23,7 +23,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DSurfacePrivate; class QValue3DAxis; @@ -66,6 +66,6 @@ private: Q_DISABLE_COPY(Q3DSurface) }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // Q3DSURFACE_H diff --git a/src/datavisualization/engine/q3dsurface_p.h b/src/datavisualization/engine/q3dsurface_p.h index d604fc51..acaf76d3 100644 --- a/src/datavisualization/engine/q3dsurface_p.h +++ b/src/datavisualization/engine/q3dsurface_p.h @@ -34,7 +34,7 @@ #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DSurface; @@ -54,6 +54,6 @@ public: Surface3DController *m_shared; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // Q3DSURFACE_P_H diff --git a/src/datavisualization/engine/qabstract3dgraph_p.h b/src/datavisualization/engine/qabstract3dgraph_p.h index 43f96e4a..a7e49ecd 100644 --- a/src/datavisualization/engine/qabstract3dgraph_p.h +++ b/src/datavisualization/engine/qabstract3dgraph_p.h @@ -36,7 +36,7 @@ class QOpenGLContext; class QOpenGLPaintDevice; -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QAbstract3DGraph; class Abstract3DController; @@ -71,6 +71,6 @@ public: float m_devicePixelRatio; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index d2c3eee5..e0348f39 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -41,12 +41,7 @@ // You should see the scene from where the light is //#define SHOW_DEPTH_TEXTURE_SCENE -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::Scatter3DRenderer - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION //#define USE_UNIFORM_SCALING // Scale x and z uniformly, or based on autoscaled values @@ -1805,4 +1800,4 @@ void Scatter3DRenderer::selectionColorToSeriesAndIndex(const QVector3D &color, i series = 0; } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/scatter3drenderer_p.h b/src/datavisualization/engine/scatter3drenderer_p.h index fb1e2698..350aa934 100644 --- a/src/datavisualization/engine/scatter3drenderer_p.h +++ b/src/datavisualization/engine/scatter3drenderer_p.h @@ -39,7 +39,7 @@ class QPoint; class QSizeF; class QOpenGLShaderProgram; -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class ShaderHelper; class ObjectHelper; @@ -150,6 +150,6 @@ private: void selectionColorToSeriesAndIndex(const QVector3D &color, int &index, QScatter3DSeries *&series); }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/engine/selectionpointer.cpp b/src/datavisualization/engine/selectionpointer.cpp index fc2081b1..7a47c43f 100644 --- a/src/datavisualization/engine/selectionpointer.cpp +++ b/src/datavisualization/engine/selectionpointer.cpp @@ -32,12 +32,7 @@ #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::SelectionPointer - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION const GLfloat sliceUnits = 2.5; @@ -264,4 +259,4 @@ void SelectionPointer::loadLabelMesh() m_labelObj->load(); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/selectionpointer_p.h b/src/datavisualization/engine/selectionpointer_p.h index b1cb4b63..c6295fa5 100644 --- a/src/datavisualization/engine/selectionpointer_p.h +++ b/src/datavisualization/engine/selectionpointer_p.h @@ -41,7 +41,7 @@ class QOpenGLShaderProgram; -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class ShaderHelper; class ObjectHelper; @@ -93,6 +93,6 @@ private: QVector3D m_highlightColor; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // NOTIFICATIONLABEL_P_H diff --git a/src/datavisualization/engine/seriesrendercache.cpp b/src/datavisualization/engine/seriesrendercache.cpp index 98f1d19e..2f055d46 100644 --- a/src/datavisualization/engine/seriesrendercache.cpp +++ b/src/datavisualization/engine/seriesrendercache.cpp @@ -22,12 +22,7 @@ #include "texturehelper_p.h" #include "utils_p.h" -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::SeriesRenderCache - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION const QString smoothString(QStringLiteral("Smooth")); @@ -184,4 +179,4 @@ void SeriesRenderCache::cleanup(TextureHelper *texHelper) texHelper->deleteTexture(&m_multiHighlightGradientTexture); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/seriesrendercache_p.h b/src/datavisualization/engine/seriesrendercache_p.h index d543da71..81eaacbc 100644 --- a/src/datavisualization/engine/seriesrendercache_p.h +++ b/src/datavisualization/engine/seriesrendercache_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include "qabstract3dseries_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Abstract3DRenderer; class ObjectHelper; @@ -80,7 +80,7 @@ protected: QString m_name; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index da7656f3..b0bb4834 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -38,12 +38,7 @@ static const int ID_TO_RGBA_MASK = 0xff; -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::Surface3DRenderer - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION //#define SHOW_DEPTH_TEXTURE_SCENE @@ -2193,4 +2188,4 @@ void Surface3DRenderer::generateUniformGradient(const QVector3D newColor) } } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/surface3drenderer_p.h b/src/datavisualization/engine/surface3drenderer_p.h index 10c2c723..13fd11d8 100644 --- a/src/datavisualization/engine/surface3drenderer_p.h +++ b/src/datavisualization/engine/surface3drenderer_p.h @@ -43,7 +43,7 @@ class QOpenGLShaderProgram; -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class ShaderHelper; class ObjectHelper; @@ -184,6 +184,6 @@ private: Q_DISABLE_COPY(Surface3DRenderer) }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // SURFACE3DRENDERER_P_H diff --git a/src/datavisualization/global/datavisualizationglobal_p.h b/src/datavisualization/global/datavisualizationglobal_p.h index c061c05c..410cc296 100644 --- a/src/datavisualization/global/datavisualizationglobal_p.h +++ b/src/datavisualization/global/datavisualizationglobal_p.h @@ -34,7 +34,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION // Constants used in several files // Distance from camera to origin @@ -56,6 +56,6 @@ static const QVector3D invalidColorVector = QVector3D(-1.0f, -1.0f, -1.0f); static const GLfloat gradientTextureHeight = 1024.0f; static const GLfloat gradientTextureWidth = 2.0f; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/global/qdatavisualizationglobal.h b/src/datavisualization/global/qdatavisualizationglobal.h index e17cc7ea..946abfa1 100644 --- a/src/datavisualization/global/qdatavisualizationglobal.h +++ b/src/datavisualization/global/qdatavisualizationglobal.h @@ -52,4 +52,7 @@ # define QT_DATAVISUALIZATION_AUTOTEST_EXPORT #endif +#define QT_BEGIN_NAMESPACE_DATAVISUALIZATION namespace QtDataVisualization { +#define QT_END_NAMESPACE_DATAVISUALIZATION } + #endif diff --git a/src/datavisualization/input/q3dinputhandler.cpp b/src/datavisualization/input/q3dinputhandler.cpp index 0a79db27..27ebf89d 100644 --- a/src/datavisualization/input/q3dinputhandler.cpp +++ b/src/datavisualization/input/q3dinputhandler.cpp @@ -21,7 +21,7 @@ #include "q3dcamera_p.h" #include "q3dlight.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION const int minZoomLevel = 10; const int halfSizeZoomLevel = 50; @@ -35,7 +35,7 @@ const int farZoomRangeDivider = 120; const float rotationSpeed = 100.0f; /*! - * \class QtDataVisualization::Q3DInputHandler + * \class Q3DInputHandler * \inmodule QtDataVisualization * \brief Basic wheel mouse based input handler. * \since Qt Data Visualization 1.0 @@ -190,9 +190,4 @@ void Q3DInputHandler::wheelEvent(QWheelEvent *event) scene()->activeCamera()->setZoomLevel(zoomLevel); } -/*! - * \class QtDataVisualization::Q3DInputHandlerPrivate - * \internal - */ - -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/input/q3dinputhandler.h b/src/datavisualization/input/q3dinputhandler.h index 7b5f3aca..501ac004 100644 --- a/src/datavisualization/input/q3dinputhandler.h +++ b/src/datavisualization/input/q3dinputhandler.h @@ -21,7 +21,7 @@ #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DInputHandlerPrivate; @@ -45,6 +45,6 @@ private: QScopedPointer *d_ptr; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // QDEFAULT3DINPUTHANDLER_H diff --git a/src/datavisualization/input/q3dinputhandler_p.h b/src/datavisualization/input/q3dinputhandler_p.h index 8724f5bf..df8a1978 100644 --- a/src/datavisualization/input/q3dinputhandler_p.h +++ b/src/datavisualization/input/q3dinputhandler_p.h @@ -31,7 +31,7 @@ #include "datavisualizationglobal_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DInputHandler; @@ -46,6 +46,6 @@ public: }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // Q3DINPUTHANDLER_P_H diff --git a/src/datavisualization/input/qabstract3dinputhandler.cpp b/src/datavisualization/input/qabstract3dinputhandler.cpp index 32f60a6c..e7374657 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.cpp +++ b/src/datavisualization/input/qabstract3dinputhandler.cpp @@ -17,10 +17,10 @@ ****************************************************************************/ #include "qabstract3dinputhandler_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QAbstract3DInputHandler + * \class QAbstract3DInputHandler * \inmodule QtDataVisualization * \brief The base class for implementations of input handlers. * \since Qt Data Visualization 1.0 @@ -55,7 +55,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QAbstract3DInputHandler + * \instantiates QAbstract3DInputHandler * \brief Base type for all QtDataVisualization input handlers. * * This type is uncreatable. @@ -227,11 +227,6 @@ QPoint QAbstract3DInputHandler::previousInputPos() const return d_ptr->m_previousInputPos; } - -/*! - * \class QtDataVisualization::QAbstract3DInputHandlerPrivate - * \internal - */ QAbstract3DInputHandlerPrivate::QAbstract3DInputHandlerPrivate(QAbstract3DInputHandler *q) : q_ptr(q), m_prevDistance(0), @@ -247,4 +242,4 @@ QAbstract3DInputHandlerPrivate::~QAbstract3DInputHandlerPrivate() } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/input/qabstract3dinputhandler.h b/src/datavisualization/input/qabstract3dinputhandler.h index 2ad1514b..f8b8ba88 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.h +++ b/src/datavisualization/input/qabstract3dinputhandler.h @@ -22,7 +22,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QAbstract3DInputHandlerPrivate; @@ -87,6 +87,6 @@ private: friend class QTouch3DInputHandlerPrivate; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // QABSTRACT3DINPUTHANDLER_H diff --git a/src/datavisualization/input/qabstract3dinputhandler_p.h b/src/datavisualization/input/qabstract3dinputhandler_p.h index a44cc40d..7e616ec2 100644 --- a/src/datavisualization/input/qabstract3dinputhandler_p.h +++ b/src/datavisualization/input/qabstract3dinputhandler_p.h @@ -33,7 +33,7 @@ #include "qabstract3dinputhandler.h" #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QAbstract3DInputHandler; class Q3DScene; @@ -65,6 +65,6 @@ private: friend class Abstract3DController; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // QABSTRACT3DINPUTHANDLER_P_H diff --git a/src/datavisualization/input/qtouch3dinputhandler.cpp b/src/datavisualization/input/qtouch3dinputhandler.cpp index f5be97df..909beb74 100644 --- a/src/datavisualization/input/qtouch3dinputhandler.cpp +++ b/src/datavisualization/input/qtouch3dinputhandler.cpp @@ -21,7 +21,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION const float maxTapAndHoldJitter = 20.0f; const int maxPinchJitter = 10; @@ -36,7 +36,7 @@ const int minZoomLevel = 10; const int maxZoomLevel = 500; /*! - * \class QtDataVisualization::QTouch3DInputHandler + * \class QTouch3DInputHandler * \inmodule QtDataVisualization * \brief Basic touch display based input handler. * \since Qt Data Visualization 1.0 @@ -129,10 +129,6 @@ void QTouch3DInputHandler::touchEvent(QTouchEvent *event) } } -/*! - * \class QtDataVisualization::QTouch3DInputHandlerPrivate - * \internal - */ QTouch3DInputHandlerPrivate::QTouch3DInputHandlerPrivate(QTouch3DInputHandler *q) : q_ptr(q), m_holdTimer(0) @@ -213,4 +209,4 @@ void QTouch3DInputHandlerPrivate::handleRotation(const QPointF &position) } } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/input/qtouch3dinputhandler.h b/src/datavisualization/input/qtouch3dinputhandler.h index 0f3cd255..fef63c3b 100644 --- a/src/datavisualization/input/qtouch3dinputhandler.h +++ b/src/datavisualization/input/qtouch3dinputhandler.h @@ -21,7 +21,7 @@ #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QTouch3DInputHandlerPrivate; @@ -42,6 +42,6 @@ private: QScopedPointer d_ptr; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // QTOUCH3DINPUTHANDLER_H diff --git a/src/datavisualization/input/qtouch3dinputhandler_p.h b/src/datavisualization/input/qtouch3dinputhandler_p.h index e8d1793b..143c828d 100644 --- a/src/datavisualization/input/qtouch3dinputhandler_p.h +++ b/src/datavisualization/input/qtouch3dinputhandler_p.h @@ -21,7 +21,7 @@ #include "qtouch3dinputhandler.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QAbstract3DInputHandler; @@ -45,6 +45,6 @@ public: QPointF m_touchHoldPos; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // QTOUCH3DINPUTHANDLER_H diff --git a/src/datavisualization/theme/builtin3dthemes.cpp b/src/datavisualization/theme/builtin3dthemes.cpp deleted file mode 100644 index 9848e6e5..00000000 --- a/src/datavisualization/theme/builtin3dthemes.cpp +++ /dev/null @@ -1,230 +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 "builtin3dthemes_p.h" - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE - -BuiltIn3DThemeQt::BuiltIn3DThemeQt() - : Q3DTheme(QDataVis::ThemeQt) -{ - setBaseColor(QColor(QRgb(0x80c342))); - setBackgroundColor(QColor(QRgb(0xffffff))); - setWindowColor(QColor(QRgb(0xffffff))); - setTextColor(QColor(QRgb(0x35322f))); - setTextBackgroundColor(QColor(0xff, 0xff, 0xff, 0x99)); - setGridLineColor(QColor(QRgb(0xd7d6d5))); - setSingleHighlightColor(QColor(QRgb(0x14aaff))); - setMultiHighlightColor(QColor(QRgb(0x6400aa))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(true); - setColorStyle(QDataVis::ColorStyleUniform); -} - -BuiltIn3DThemePrimaryColors::BuiltIn3DThemePrimaryColors() - : Q3DTheme(QDataVis::ThemePrimaryColors) -{ - setBaseColor(QColor(QRgb(0xffe400))); - setBackgroundColor(QColor(QRgb(0xffffff))); - setWindowColor(QColor(QRgb(0xffffff))); - setTextColor(QColor(QRgb(0x000000))); - setTextBackgroundColor(QColor(0xff, 0xff, 0xff, 0x99)); - setGridLineColor(QColor(QRgb(0xd7d6d5))); - setSingleHighlightColor(QColor(QRgb(0x27beee))); - setMultiHighlightColor(QColor(QRgb(0xee1414))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(false); - setColorStyle(QDataVis::ColorStyleUniform); -} - -BuiltIn3DThemeDigia::BuiltIn3DThemeDigia() - : Q3DTheme(QDataVis::ThemeDigia) -{ - setBackgroundColor(QColor(QRgb(0xffffff))); - setWindowColor(QColor(QRgb(0xffffff))); - setTextColor(QColor(QRgb(0x000000))); - setTextBackgroundColor(QColor(0xff, 0xff, 0xff, 0x80)); - setGridLineColor(QColor(QRgb(0xd7d6d5))); - setSingleHighlightColor(QColor(QRgb(0xfa0000))); - setMultiHighlightColor(QColor(QRgb(0x555555))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(false); - setColorStyle(QDataVis::ColorStyleObjectGradient); - QLinearGradient gradient = QLinearGradient(qreal(gradientTextureWidth), - qreal(gradientTextureHeight), - 0.0, 0.0); - QColor color; - color.setRed(0xcc * 0.7); - color.setGreen(0xcc * 0.7); - color.setBlue(0xcc * 0.7); - gradient.setColorAt(0.0, color); - gradient.setColorAt(1.0, QColor(QRgb(0xcccccc))); - setBaseGradient(gradient); - color.setRed(0xfa * 0.7); - color.setGreen(0x00); - color.setBlue(0x00); - gradient.setColorAt(0.0, color); - gradient.setColorAt(1.0, QColor(QRgb(0xfa0000))); - setSingleHighlightGradient(gradient); - color.setRed(0x55 * 0.7); - color.setGreen(0x55 * 0.7); - color.setBlue(0x55 * 0.7); - gradient.setColorAt(0.0, color); - gradient.setColorAt(1.0, QColor(QRgb(0x555555))); - setMultiHighlightGradient(gradient); -} - -BuiltIn3DThemeStoneMoss::BuiltIn3DThemeStoneMoss() - : Q3DTheme(QDataVis::ThemeStoneMoss) -{ - setBaseColor(QColor(QRgb(0xbeb32b))); - setBackgroundColor(QColor(QRgb(0x4d4d4f))); - setWindowColor(QColor(QRgb(0x4d4d4f))); - setTextColor(QColor(QRgb(0xffffff))); - setTextBackgroundColor(QColor(0x4d, 0x4d, 0x4f, 0xcd)); - setGridLineColor(QColor(QRgb(0x3e3e40))); - setSingleHighlightColor(QColor(QRgb(0xfbf6d6))); - setMultiHighlightColor(QColor(QRgb(0x442f20))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(true); - setColorStyle(QDataVis::ColorStyleUniform); -} - -BuiltIn3DThemeArmyBlue::BuiltIn3DThemeArmyBlue() - : Q3DTheme(QDataVis::ThemeArmyBlue) -{ - setBackgroundColor(QColor(QRgb(0xd5d6d7))); - setWindowColor(QColor(QRgb(0xd5d6d7))); - setTextColor(QColor(QRgb(0x000000))); - setTextBackgroundColor(QColor(0xd5, 0xd6, 0xd7, 0xcd)); - setGridLineColor(QColor(QRgb(0xaeadac))); - setSingleHighlightColor(QColor(QRgb(0x2aa2f9))); - setMultiHighlightColor(QColor(QRgb(0x103753))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(false); - setColorStyle(QDataVis::ColorStyleObjectGradient); - QLinearGradient gradient = QLinearGradient(qreal(gradientTextureWidth), - qreal(gradientTextureHeight), - 0.0, 0.0); - QColor color; - color.setRed(0x49 * 0.7); - color.setGreen(0x5f * 0.7); - color.setBlue(0x76 * 0.7); - gradient.setColorAt(0.0, color); - gradient.setColorAt(1.0, QColor(QRgb(0x495f76))); - setBaseGradient(gradient); - color.setRed(0x2a * 0.7); - color.setGreen(0xa2 * 0.7); - color.setBlue(0xf9 * 0.7); - gradient.setColorAt(0.0, color); - gradient.setColorAt(1.0, QColor(QRgb(0x2aa2f9))); - setSingleHighlightGradient(gradient); - color.setRed(0x10 * 0.7); - color.setGreen(0x37 * 0.7); - color.setBlue(0x53 * 0.7); - gradient.setColorAt(0.0, color); - gradient.setColorAt(1.0, QColor(QRgb(0x103753))); - setMultiHighlightGradient(gradient); -} - -BuiltIn3DThemeRetro::BuiltIn3DThemeRetro() - : Q3DTheme(QDataVis::ThemeRetro) -{ - setBackgroundColor(QColor(QRgb(0xe9e2ce))); - setWindowColor(QColor(QRgb(0xe9e2ce))); - setTextColor(QColor(QRgb(0x000000))); - setTextBackgroundColor(QColor(0xe9, 0xe2, 0xce, 0xc0)); - setGridLineColor(QColor(QRgb(0xd0c0b0))); - setSingleHighlightColor(QColor(QRgb(0x8ea317))); - setMultiHighlightColor(QColor(QRgb(0xc25708))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(false); - setColorStyle(QDataVis::ColorStyleObjectGradient); - QLinearGradient gradient = QLinearGradient(qreal(gradientTextureWidth), - qreal(gradientTextureHeight), - 0.0, 0.0); - QColor color; - color.setRed(0x53 * 0.7); - color.setGreen(0x3b * 0.7); - color.setBlue(0x23 * 0.7); - gradient.setColorAt(0.0, color); - gradient.setColorAt(1.0, QColor(QRgb(0x533b23))); - setBaseGradient(gradient); - color.setRed(0x8e * 0.7); - color.setGreen(0xa3 * 0.7); - color.setBlue(0x17 * 0.7); - gradient.setColorAt(0.0, color); - gradient.setColorAt(1.0, QColor(QRgb(0x8ea317))); - setSingleHighlightGradient(gradient); - color.setRed(0xc2 * 0.7); - color.setGreen(0x57 * 0.7); - color.setBlue(0x08 * 0.7); - gradient.setColorAt(0.0, color); - gradient.setColorAt(1.0, QColor(QRgb(0xc25708))); - setMultiHighlightGradient(gradient); -} - -BuiltIn3DThemeEbony::BuiltIn3DThemeEbony() - : Q3DTheme(QDataVis::ThemeEbony) -{ - setBaseColor(QColor(QRgb(0xffffff))); - setBackgroundColor(QColor(QRgb(0x000000))); - setWindowColor(QColor(QRgb(0x000000))); - setTextColor(QColor(QRgb(0xaeadac))); - setTextBackgroundColor(QColor(0x00, 0x00, 0x00, 0xcd)); - setGridLineColor(QColor(QRgb(0x35322f))); - setSingleHighlightColor(QColor(QRgb(0xf5dc0d))); - setMultiHighlightColor(QColor(QRgb(0xd72222))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(false); - setColorStyle(QDataVis::ColorStyleUniform); -} - -BuiltIn3DThemeIsabelle::BuiltIn3DThemeIsabelle() - : Q3DTheme(QDataVis::ThemeIsabelle) -{ - setBaseColor(QColor(QRgb(0xf9d900))); - setBackgroundColor(QColor(QRgb(0x000000))); - setWindowColor(QColor(QRgb(0x000000))); - setTextColor(QColor(QRgb(0xaeadac))); - setTextBackgroundColor(QColor(0x00, 0x00, 0x00, 0xc0)); - setGridLineColor(QColor(QRgb(0x35322f))); - setSingleHighlightColor(QColor(QRgb(0xfff7cc))); - setMultiHighlightColor(QColor(QRgb(0xde0a0a))); - setLightStrength(5.0f); - setAmbientLightStrength(0.5f); - setHighlightLightStrength(5.0f); - setLabelBorderEnabled(false); - setColorStyle(QDataVis::ColorStyleUniform); -} - -QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/theme/builtin3dthemes_p.h b/src/datavisualization/theme/builtin3dthemes_p.h deleted file mode 100644 index 8f2c3d04..00000000 --- a/src/datavisualization/theme/builtin3dthemes_p.h +++ /dev/null @@ -1,87 +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 -** -****************************************************************************/ - -// -// W A R N I N G -// ------------- -// -// This file is not part of the QtDataVisualization API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. - -#ifndef BUILTIN3DTHEMES_P_H -#define BUILTIN3DTHEMES_P_H - -#include "datavisualizationglobal_p.h" -#include "q3dtheme_p.h" - -QT_DATAVISUALIZATION_BEGIN_NAMESPACE - -class BuiltIn3DThemeQt : public Q3DTheme -{ -public: - BuiltIn3DThemeQt(); -}; - -class BuiltIn3DThemePrimaryColors : public Q3DTheme -{ -public: - BuiltIn3DThemePrimaryColors(); -}; - -class BuiltIn3DThemeDigia : public Q3DTheme -{ -public: - BuiltIn3DThemeDigia(); -}; - -class BuiltIn3DThemeStoneMoss : public Q3DTheme -{ -public: - BuiltIn3DThemeStoneMoss(); -}; - -class BuiltIn3DThemeArmyBlue : public Q3DTheme -{ -public: - BuiltIn3DThemeArmyBlue(); -}; - -class BuiltIn3DThemeRetro : public Q3DTheme -{ -public: - BuiltIn3DThemeRetro(); -}; - -class BuiltIn3DThemeEbony : public Q3DTheme -{ -public: - BuiltIn3DThemeEbony(); -}; - -class BuiltIn3DThemeIsabelle : public Q3DTheme -{ -public: - BuiltIn3DThemeIsabelle(); -}; - -QT_DATAVISUALIZATION_END_NAMESPACE - -#endif diff --git a/src/datavisualization/theme/q3dtheme.cpp b/src/datavisualization/theme/q3dtheme.cpp index c1915073..b35afb5f 100644 --- a/src/datavisualization/theme/q3dtheme.cpp +++ b/src/datavisualization/theme/q3dtheme.cpp @@ -19,10 +19,10 @@ #include "q3dtheme_p.h" #include "thememanager_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::Q3DTheme + * \class Q3DTheme * \inmodule QtDataVisualization * \brief Q3DTheme class provides a visual style for graphs. * \since Qt Data Visualization 1.0 @@ -208,17 +208,12 @@ namespace QtDataVisualization { * A user-defined theme. See \l {Properties controlled by theme} for theme defaults. */ -/*! - * \class QtDataVisualization::Q3DThemeDirtyBitField - * \internal - */ - /*! * \qmltype Theme3D * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::Q3DTheme + * \instantiates Q3DTheme * \brief A visual style for graphs. * * This type is used to specify visual properties that affect the whole graph. There are several @@ -895,10 +890,6 @@ Q3DTheme::Theme Q3DTheme::type() const // Q3DThemePrivate -/*! - * \class QtDataVisualization::Q3DThemePrivate - * \internal - */ Q3DThemePrivate::Q3DThemePrivate(Q3DTheme *q) : QObject(0), m_themeId(Q3DTheme::ThemeUserDefined), @@ -1081,4 +1072,4 @@ bool Q3DThemePrivate::sync(Q3DThemePrivate &other) return changed; } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/theme/q3dtheme.h b/src/datavisualization/theme/q3dtheme.h index 632beb47..9baec05d 100644 --- a/src/datavisualization/theme/q3dtheme.h +++ b/src/datavisualization/theme/q3dtheme.h @@ -25,7 +25,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DThemePrivate; @@ -184,6 +184,6 @@ private: Q_DISABLE_COPY(Q3DTheme) }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/theme/q3dtheme_p.h b/src/datavisualization/theme/q3dtheme_p.h index 0180ddc3..6307d44d 100644 --- a/src/datavisualization/theme/q3dtheme_p.h +++ b/src/datavisualization/theme/q3dtheme_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include "q3dtheme.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION struct Q3DThemeDirtyBitField { bool baseColorDirty : 1; @@ -144,6 +144,6 @@ protected: Q3DTheme *q_ptr; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/theme/thememanager.cpp b/src/datavisualization/theme/thememanager.cpp index c695bd76..2d79e239 100644 --- a/src/datavisualization/theme/thememanager.cpp +++ b/src/datavisualization/theme/thememanager.cpp @@ -19,12 +19,7 @@ #include "thememanager_p.h" #include "q3dtheme_p.h" -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::ThemeManager - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION const float defaultBuiltInColorLevel = 0.7f; // for built-in gradient themes const float defaultColorLevel = 0.5f; // for built-in uniform themes @@ -595,4 +590,4 @@ void ThemeManager::setColorStyle(Q3DTheme *theme, Q3DTheme::ColorStyle style) theme->setColorStyle(style); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/theme/thememanager_p.h b/src/datavisualization/theme/thememanager_p.h index 343cf8a5..fce2cf49 100644 --- a/src/datavisualization/theme/thememanager_p.h +++ b/src/datavisualization/theme/thememanager_p.h @@ -33,7 +33,7 @@ #include "abstract3dcontroller_p.h" #include "q3dtheme.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class ThemeManager : public QObject { @@ -81,6 +81,6 @@ private: Abstract3DController *m_controller; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/utils/abstractobjecthelper.cpp b/src/datavisualization/utils/abstractobjecthelper.cpp index fd2921a0..21ebc826 100644 --- a/src/datavisualization/utils/abstractobjecthelper.cpp +++ b/src/datavisualization/utils/abstractobjecthelper.cpp @@ -20,12 +20,7 @@ #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::AbstractObjectHelper - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION AbstractObjectHelper::AbstractObjectHelper() : m_vertexbuffer(0), @@ -85,4 +80,4 @@ GLuint AbstractObjectHelper::indicesType() return m_indicesType; } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/utils/abstractobjecthelper_p.h b/src/datavisualization/utils/abstractobjecthelper_p.h index 6f48238d..c3bf39a9 100644 --- a/src/datavisualization/utils/abstractobjecthelper_p.h +++ b/src/datavisualization/utils/abstractobjecthelper_p.h @@ -32,7 +32,7 @@ #include "datavisualizationglobal_p.h" #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class AbstractObjectHelper: protected QOpenGLFunctions { @@ -60,6 +60,6 @@ public: GLuint m_indicesType; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif // ABSTRACTOBJECTHELPER_H diff --git a/src/datavisualization/utils/camerahelper.cpp b/src/datavisualization/utils/camerahelper.cpp index 1e9ce648..7800dfd1 100644 --- a/src/datavisualization/utils/camerahelper.cpp +++ b/src/datavisualization/utils/camerahelper.cpp @@ -22,12 +22,7 @@ #include #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::CameraHelper - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION CameraHelper::CameraHelper(QObject *parent) : QObject(parent), @@ -288,4 +283,4 @@ void CameraHelper::setCameraPreset(Q3DCamera::CameraPreset preset) } } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/utils/camerahelper_p.h b/src/datavisualization/utils/camerahelper_p.h index 9d411b74..f85164f7 100644 --- a/src/datavisualization/utils/camerahelper_p.h +++ b/src/datavisualization/utils/camerahelper_p.h @@ -39,7 +39,7 @@ class QVector3D; class QPoint; class QPointF; -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class CameraHelper : public QObject { @@ -86,6 +86,6 @@ public: void setCameraPreset(Q3DCamera::CameraPreset preset); }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/utils/meshloader.cpp b/src/datavisualization/utils/meshloader.cpp index d8d74ec9..a5fb7880 100644 --- a/src/datavisualization/utils/meshloader.cpp +++ b/src/datavisualization/utils/meshloader.cpp @@ -26,12 +26,7 @@ #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::MeshLoader - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION QString slashTag = QStringLiteral("/"); @@ -127,4 +122,4 @@ bool MeshLoader::loadOBJ(const QString &path, return true; } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/utils/meshloader_p.h b/src/datavisualization/utils/meshloader_p.h index 3add8c2d..e609c45e 100644 --- a/src/datavisualization/utils/meshloader_p.h +++ b/src/datavisualization/utils/meshloader_p.h @@ -34,7 +34,7 @@ class QVector2D; class QVector3D; -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class MeshLoader { @@ -46,6 +46,6 @@ class MeshLoader // TODO: add loaders for other formats? }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/utils/objecthelper.cpp b/src/datavisualization/utils/objecthelper.cpp index f6a7ef40..5c1bc43e 100644 --- a/src/datavisualization/utils/objecthelper.cpp +++ b/src/datavisualization/utils/objecthelper.cpp @@ -23,12 +23,7 @@ #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::ObjectHelper - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION ObjectHelper::ObjectHelper(const QString &objectFile) : m_objectFile(objectFile) @@ -100,4 +95,4 @@ void ObjectHelper::load() m_meshDataLoaded = true; } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/utils/objecthelper_p.h b/src/datavisualization/utils/objecthelper_p.h index 6e325639..d448c8c8 100644 --- a/src/datavisualization/utils/objecthelper_p.h +++ b/src/datavisualization/utils/objecthelper_p.h @@ -33,7 +33,7 @@ #include "abstractobjecthelper_p.h" #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class ObjectHelper : public AbstractObjectHelper { @@ -49,6 +49,6 @@ private: QString m_objectFile; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/utils/shaderhelper.cpp b/src/datavisualization/utils/shaderhelper.cpp index 895d2bd9..adc24e8d 100644 --- a/src/datavisualization/utils/shaderhelper.cpp +++ b/src/datavisualization/utils/shaderhelper.cpp @@ -20,12 +20,7 @@ #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::ShaderHelper - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION void discardDebugMsgs(QtMsgType type, const QMessageLogContext &context, const QString &msg) { @@ -273,4 +268,4 @@ GLuint ShaderHelper::normalAtt() return m_normalAttr; } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/utils/shaderhelper_p.h b/src/datavisualization/utils/shaderhelper_p.h index 996ad7fc..b4c71ca2 100644 --- a/src/datavisualization/utils/shaderhelper_p.h +++ b/src/datavisualization/utils/shaderhelper_p.h @@ -34,7 +34,7 @@ class QOpenGLShaderProgram; -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class ShaderHelper { @@ -110,6 +110,6 @@ class ShaderHelper GLboolean m_initialized; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/utils/surfaceobject.cpp b/src/datavisualization/utils/surfaceobject.cpp index 0fbec6dc..790ca3f8 100644 --- a/src/datavisualization/utils/surfaceobject.cpp +++ b/src/datavisualization/utils/surfaceobject.cpp @@ -24,12 +24,7 @@ #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::SurfaceObject - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION SurfaceObject::SurfaceObject() { @@ -686,4 +681,4 @@ QVector3D SurfaceObject::normal(const QVector3D &a, const QVector3D &b, const QV return QVector3D::crossProduct(v1, v2); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/utils/surfaceobject_p.h b/src/datavisualization/utils/surfaceobject_p.h index 91b42c76..6abbb8d4 100644 --- a/src/datavisualization/utils/surfaceobject_p.h +++ b/src/datavisualization/utils/surfaceobject_p.h @@ -36,7 +36,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class SurfaceObject : public AbstractObjectHelper { @@ -85,5 +85,6 @@ private: QVector m_normals; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION + #endif // SURFACEOBJECT_P_H diff --git a/src/datavisualization/utils/texturehelper.cpp b/src/datavisualization/utils/texturehelper.cpp index ecfb6aec..6498fce4 100644 --- a/src/datavisualization/utils/texturehelper.cpp +++ b/src/datavisualization/utils/texturehelper.cpp @@ -24,12 +24,7 @@ #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::TextureHelper - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION TextureHelper::TextureHelper() { @@ -372,4 +367,4 @@ QRgb TextureHelper::qt_gl_convertToGLFormatHelper(QRgb src_pixel, GLenum texture } } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/utils/texturehelper_p.h b/src/datavisualization/utils/texturehelper_p.h index e67904d8..bc69786a 100644 --- a/src/datavisualization/utils/texturehelper_p.h +++ b/src/datavisualization/utils/texturehelper_p.h @@ -34,7 +34,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class TextureHelper : protected QOpenGLFunctions { @@ -67,6 +67,6 @@ class TextureHelper : protected QOpenGLFunctions friend class Scatter3DRenderer; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/utils/utils.cpp b/src/datavisualization/utils/utils.cpp index 2a38c8f2..30291963 100644 --- a/src/datavisualization/utils/utils.cpp +++ b/src/datavisualization/utils/utils.cpp @@ -26,12 +26,7 @@ #include #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::Utils - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION #define NUM_IN_POWER(y, x) for (;y -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::VertexIndexer - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION int unique_vertices = 0; @@ -155,4 +150,4 @@ void VertexIndexer::indexVBO_TBN(const QVector &in_vertices, //qDebug() << "unique vertices" << unique_vertices; } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/utils/vertexindexer_p.h b/src/datavisualization/utils/vertexindexer_p.h index de8f7690..250c7a1b 100644 --- a/src/datavisualization/utils/vertexindexer_p.h +++ b/src/datavisualization/utils/vertexindexer_p.h @@ -35,7 +35,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class VertexIndexer { @@ -83,6 +83,6 @@ class VertexIndexer unsigned short &result); }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif -- cgit v1.2.3 From 2c9963be44c00e7299401e248bc94ef191e0af68 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 16 Jan 2014 14:26:22 +0200 Subject: Synchronize clicked detection properly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implements item 2) in QTRD-2645 Task-number: QTRD-2645 Change-Id: I8b4b3a63eeeba3ba34b6865543380022a6d732ed Reviewed-by: Tomi Korpipää --- .../engine/abstract3dcontroller.cpp | 8 ++++++++ .../engine/abstract3dcontroller_p.h | 1 + .../engine/abstract3drenderer.cpp | 10 +++++++--- .../engine/abstract3drenderer_p.h | 6 ++++++ src/datavisualization/engine/bars3dcontroller.cpp | 23 ++++++++++++---------- src/datavisualization/engine/bars3dcontroller_p.h | 4 +--- src/datavisualization/engine/bars3drenderer.cpp | 12 +++++++++-- src/datavisualization/engine/bars3drenderer_p.h | 6 +++--- .../engine/scatter3dcontroller.cpp | 22 +++++++++++---------- .../engine/scatter3dcontroller_p.h | 4 +--- src/datavisualization/engine/scatter3drenderer.cpp | 18 ++++++++++------- src/datavisualization/engine/scatter3drenderer_p.h | 9 +++++---- .../engine/surface3dcontroller.cpp | 23 +++++++++++++--------- .../engine/surface3dcontroller_p.h | 4 +--- src/datavisualization/engine/surface3drenderer.cpp | 13 +++++++++--- src/datavisualization/engine/surface3drenderer_p.h | 4 +++- 16 files changed, 106 insertions(+), 61 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 7e938387..9942a2fe 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -151,6 +151,14 @@ void Abstract3DController::synchDataToRenderer() if (!m_renderer) return; + // If there is a pending click from renderer, handle that first. + if (m_renderer->isClickPending()) { + handlePendingClick(); + m_renderer->clearClickPending(); + } + + // TODO: start recording inserts/removals + if (m_scene->d_ptr->m_sceneDirty) m_renderer->updateScene(m_scene); diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index aa3235ee..7947bd7d 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -233,6 +233,7 @@ public: QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust) = 0; virtual void handleAxisLabelFormatChangedBySender(QObject *sender); virtual void handleSeriesVisibilityChangedBySender(QObject *sender); + virtual void handlePendingClick() = 0; public slots: void handleAxisTitleChanged(const QString &title); diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 6e286095..29262f41 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -46,11 +46,14 @@ Abstract3DRenderer::Abstract3DRenderer(Abstract3DController *controller) m_cachedScene(new Q3DScene()), m_selectionDirty(true), m_selectionState(SelectNone), - m_devicePixelRatio(1.0f) - #ifdef DISPLAY_RENDER_SPEED + m_devicePixelRatio(1.0f), + m_selectionLabelDirty(true), + m_clickPending(false), + m_clickedSeries(0) +#ifdef DISPLAY_RENDER_SPEED , m_isFirstFrame(true), m_numFrames(0) - #endif +#endif { QObject::connect(m_drawer, &Drawer::drawerChanged, this, &Abstract3DRenderer::updateTextures); @@ -207,6 +210,7 @@ void Abstract3DRenderer::updateScene(Q3DScene *scene) } else { // Selections are one-shot, reset selection active to false before processing scene->setSelectionQueryPosition(Q3DScene::invalidSelectionPoint()); + m_clickPending = true; if (scene->isSlicingActive()) { if (scene->isPointInPrimarySubView(logicalPixelPosition)) diff --git a/src/datavisualization/engine/abstract3drenderer_p.h b/src/datavisualization/engine/abstract3drenderer_p.h index 944c00b1..f9dd56d8 100644 --- a/src/datavisualization/engine/abstract3drenderer_p.h +++ b/src/datavisualization/engine/abstract3drenderer_p.h @@ -95,6 +95,10 @@ public: virtual void fixMeshFileName(QString &fileName, QAbstract3DSeries::Mesh mesh); void fixGradientAndGenerateTexture(QLinearGradient *gradient, GLuint *gradientTexture); + inline bool isClickPending() { return m_clickPending; } + inline void clearClickPending() { m_clickPending = false; } + inline QAbstract3DSeries *clickedSeries() const { return m_clickedSeries; } + signals: void needRender(); // Emit this if something in renderer causes need for another render pass. void requestShadowQuality(QAbstract3DGraph::ShadowQuality quality); // For automatic quality adjustments @@ -138,6 +142,8 @@ protected: QRect m_secondarySubViewport; float m_devicePixelRatio; bool m_selectionLabelDirty; + bool m_clickPending; + QAbstract3DSeries *m_clickedSeries; #ifdef DISPLAY_RENDER_SPEED bool m_isFirstFrame; diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index a67f1adb..ae6a1c48 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -75,8 +75,6 @@ void Bars3DController::initializeOpenGL() setRenderer(m_renderer); synchDataToRenderer(); - QObject::connect(m_renderer, &Bars3DRenderer::barClicked, this, - &Bars3DController::handleBarClicked, Qt::QueuedConnection); emitNeedRender(); } @@ -211,14 +209,6 @@ void Bars3DController::handleDataColumnLabelsChanged() } } -void Bars3DController::handleBarClicked(const QPoint &position, QBar3DSeries *series) -{ - setSelectedBar(position, series); - - // TODO: pass clicked to parent. (QTRD-2517) - // TODO: Also hover needed? (QTRD-2131) -} - void Bars3DController::handleAxisAutoAdjustRangeChangedInOrientation( QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust) { @@ -238,6 +228,19 @@ void Bars3DController::handleSeriesVisibilityChangedBySender(QObject *sender) setSelectedBar(m_selectedBar, m_selectedBarSeries); } +void Bars3DController::handlePendingClick() +{ + // This function is called while doing the sync, so it is okay to query from renderer + QPoint position = m_renderer->clickedPosition(); + QBar3DSeries *series = static_cast(m_renderer->clickedSeries()); + + // TODO: Adjust position according to inserts/removes in the series + + setSelectedBar(position, series); + + m_renderer->resetClickedStatus(); +} + QPoint Bars3DController::invalidSelectionPosition() { static QPoint invalidSelectionPos(-1, -1); diff --git a/src/datavisualization/engine/bars3dcontroller_p.h b/src/datavisualization/engine/bars3dcontroller_p.h index 79d3c3ba..e0d0786f 100644 --- a/src/datavisualization/engine/bars3dcontroller_p.h +++ b/src/datavisualization/engine/bars3dcontroller_p.h @@ -96,6 +96,7 @@ public: virtual void handleAxisAutoAdjustRangeChangedInOrientation(QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust); virtual void handleSeriesVisibilityChangedBySender(QObject *sender); + virtual void handlePendingClick(); static QPoint invalidSelectionPosition(); @@ -121,9 +122,6 @@ public slots: void handleDataRowLabelsChanged(); void handleDataColumnLabelsChanged(); - // Renderer callback handlers - void handleBarClicked(const QPoint &position, QBar3DSeries *series); - signals: void primarySeriesChanged(QBar3DSeries *series); diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 81499ac7..96e6a82f 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -91,7 +91,8 @@ Bars3DRenderer::Bars3DRenderer(Bars3DController *controller) m_noZeroInRange(false), m_seriesScale(0.0f), m_seriesStep(0.0f), - m_seriesStart(0.0f) + m_seriesStart(0.0f), + m_clickedPosition(Bars3DController::invalidSelectionPosition()) { initializeOpenGLFunctions(); initializeOpenGL(); @@ -988,7 +989,8 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) // Read color under cursor QVector3D clickedColor = Utils::getSelection(m_inputPosition, m_viewport.height()); - emit barClicked(selectionColorToArrayPosition(clickedColor), selectionColorToSeries(clickedColor)); + m_clickedPosition = selectionColorToArrayPosition(clickedColor); + m_clickedSeries = selectionColorToSeries(clickedColor); // Revert to original render target and viewport glBindFramebuffer(GL_FRAMEBUFFER, defaultFboHandle); @@ -1926,6 +1928,12 @@ void Bars3DRenderer::updateSelectedBar(const QPoint &position, const QBar3DSerie } } +void Bars3DRenderer::resetClickedStatus() +{ + m_clickedPosition = Bars3DController::invalidSelectionPosition(); + m_clickedSeries = 0; +} + void Bars3DRenderer::updateShadowQuality(QAbstract3DGraph::ShadowQuality quality) { m_cachedShadowQuality = quality; diff --git a/src/datavisualization/engine/bars3drenderer_p.h b/src/datavisualization/engine/bars3drenderer_p.h index 0eb3e60a..a300aa80 100644 --- a/src/datavisualization/engine/bars3drenderer_p.h +++ b/src/datavisualization/engine/bars3drenderer_p.h @@ -105,6 +105,7 @@ private: float m_seriesScale; float m_seriesStep; float m_seriesStart; + QPoint m_clickedPosition; public: explicit Bars3DRenderer(Bars3DController *controller); @@ -123,13 +124,12 @@ public slots: bool relative = true); void updateSlicingActive(bool isSlicing); void updateSelectedBar(const QPoint &position, const QBar3DSeries *series); + inline QPoint clickedPosition() const { return m_clickedPosition; } + void resetClickedStatus(); // Overloaded from abstract renderer virtual void updateAxisRange(QAbstract3DAxis::AxisOrientation orientation, float min, float max); -signals: - void barClicked(QPoint position, QBar3DSeries *series); - private: virtual void initShaders(const QString &vertexShader, const QString &fragmentShader); virtual void initGradientShaders(const QString &vertexShader, const QString &fragmentShader); diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp index 3c577fe2..a3df9288 100644 --- a/src/datavisualization/engine/scatter3dcontroller.cpp +++ b/src/datavisualization/engine/scatter3dcontroller.cpp @@ -67,8 +67,6 @@ void Scatter3DController::initializeOpenGL() setRenderer(m_renderer); synchDataToRenderer(); - QObject::connect(m_renderer, &Scatter3DRenderer::itemClicked, this, - &Scatter3DController::handleItemClicked, Qt::QueuedConnection); emitNeedRender(); } @@ -193,14 +191,6 @@ void Scatter3DController::handleItemsInserted(int startIndex, int count) emitNeedRender(); } -void Scatter3DController::handleItemClicked(int index, QScatter3DSeries *series) -{ - setSelectedItem(index, series); - - // TODO: pass clicked to parent. (QTRD-2517) - // TODO: Also hover needed? (QTRD-2131) -} - void Scatter3DController::handleAxisAutoAdjustRangeChangedInOrientation( QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust) { @@ -224,6 +214,18 @@ void Scatter3DController::handleSeriesVisibilityChangedBySender(QObject *sender) adjustValueAxisRange(); } +void Scatter3DController::handlePendingClick() +{ + int index = m_renderer->clickedIndex(); + QScatter3DSeries *series = static_cast(m_renderer->clickedSeries()); + + // TODO: Adjust position according to inserts/removes in the series + + setSelectedItem(index, series); + + m_renderer->resetClickedStatus(); +} + void Scatter3DController::setSelectionMode(QAbstract3DGraph::SelectionFlags mode) { // We only support single item selection mode and no selection mode diff --git a/src/datavisualization/engine/scatter3dcontroller_p.h b/src/datavisualization/engine/scatter3dcontroller_p.h index 2a37e343..6e4d391a 100644 --- a/src/datavisualization/engine/scatter3dcontroller_p.h +++ b/src/datavisualization/engine/scatter3dcontroller_p.h @@ -84,6 +84,7 @@ public: virtual void handleAxisAutoAdjustRangeChangedInOrientation(QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust); virtual void handleAxisRangeChangedBySender(QObject *sender); virtual void handleSeriesVisibilityChangedBySender(QObject *sender); + virtual void handlePendingClick(); public slots: void handleArrayReset(); @@ -92,9 +93,6 @@ public slots: void handleItemsRemoved(int startIndex, int count); void handleItemsInserted(int startIndex, int count); - // Renderer callback handlers - void handleItemClicked(int index, QScatter3DSeries *series); - private: void adjustValueAxisRange(); diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index e0348f39..2e6680aa 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -90,7 +90,8 @@ Scatter3DRenderer::Scatter3DRenderer(Scatter3DController *controller) m_dotSizeScale(1.0f), m_hasHeightAdjustmentChanged(true), m_backgroundMargin(defaultMargin), - m_maxItemSize(0.0f) + m_maxItemSize(0.0f), + m_clickedIndex(Scatter3DController::invalidSelectionIndex()) { initializeOpenGLFunctions(); initializeOpenGL(); @@ -235,6 +236,12 @@ void Scatter3DRenderer::updateScene(Q3DScene *scene) Abstract3DRenderer::updateScene(scene); } +void Scatter3DRenderer::resetClickedStatus() +{ + m_clickedIndex = Scatter3DController::invalidSelectionIndex(); + m_clickedSeries = 0; +} + void Scatter3DRenderer::render(GLuint defaultFboHandle) { // Handle GL state setup for FBO buffers and clearing of the render surface @@ -558,10 +565,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) // Read color under cursor QVector3D clickedColor = Utils::getSelection(m_inputPosition, m_viewport.height()); - int clickedIndex = 0; - QScatter3DSeries *clickedSeries = 0; - selectionColorToSeriesAndIndex(clickedColor, clickedIndex, clickedSeries); - emit itemClicked(clickedIndex, clickedSeries); + selectionColorToSeriesAndIndex(clickedColor, m_clickedIndex, m_clickedSeries); // Revert to original fbo and viewport glBindFramebuffer(GL_FRAMEBUFFER, defaultFboHandle); @@ -1778,7 +1782,7 @@ QVector3D Scatter3DRenderer::indexToSelectionColor(GLint index) return QVector3D(dotIdxRed, dotIdxGreen, dotIdxBlue); } -void Scatter3DRenderer::selectionColorToSeriesAndIndex(const QVector3D &color, int &index, QScatter3DSeries *&series) +void Scatter3DRenderer::selectionColorToSeriesAndIndex(const QVector3D &color, int &index, QAbstract3DSeries *&series) { if (color != selectionSkipColor) { index = int(color.x()) @@ -1787,7 +1791,7 @@ void Scatter3DRenderer::selectionColorToSeriesAndIndex(const QVector3D &color, i // Find the series and adjust the index accordingly for (int i = 0; i < m_renderingArrays.size(); i++) { if (index < m_renderingArrays.at(i).size()) { - series = static_cast(m_visibleSeriesList.at(i).series()); + series = m_visibleSeriesList.at(i).series(); return; // Valid found and already set to return parameters, so we can return } else { index -= m_renderingArrays.at(i).size(); diff --git a/src/datavisualization/engine/scatter3drenderer_p.h b/src/datavisualization/engine/scatter3drenderer_p.h index 350aa934..d21f56a0 100644 --- a/src/datavisualization/engine/scatter3drenderer_p.h +++ b/src/datavisualization/engine/scatter3drenderer_p.h @@ -93,6 +93,7 @@ private: GLfloat m_backgroundMargin; GLfloat m_maxItemSize; QVector m_cachedItemSize; + int m_clickedIndex; public: explicit Scatter3DRenderer(Scatter3DController *controller); @@ -102,6 +103,9 @@ public: void updateData(); void updateScene(Q3DScene *scene); + inline int clickedIndex() const { return m_clickedIndex; } + void resetClickedStatus(); + void render(GLuint defaultFboHandle); protected: @@ -142,12 +146,9 @@ public slots: void updateSelectedItem(int index, const QScatter3DSeries *series); -signals: - void itemClicked(int index, QScatter3DSeries *series); - private: QVector3D indexToSelectionColor(GLint index); - void selectionColorToSeriesAndIndex(const QVector3D &color, int &index, QScatter3DSeries *&series); + void selectionColorToSeriesAndIndex(const QVector3D &color, int &index, QAbstract3DSeries *&series); }; QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index ca546a74..c69ad5bd 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -70,8 +70,7 @@ void Surface3DController::initializeOpenGL() m_renderer = new Surface3DRenderer(this); setRenderer(m_renderer); synchDataToRenderer(); - QObject::connect(m_renderer, &Surface3DRenderer::pointClicked, this, - &Surface3DController::handlePointClicked, Qt::QueuedConnection); + emitNeedRender(); } @@ -128,6 +127,19 @@ void Surface3DController::handleSeriesVisibilityChangedBySender(QObject *sender) setSelectedPoint(m_selectedPoint, m_selectedSeries); } +void Surface3DController::handlePendingClick() +{ + // This function is called while doing the sync, so it is okay to query from renderer + QPoint position = m_renderer->clickedPosition(); + QSurface3DSeries *series = static_cast(m_renderer->clickedSeries()); + + // TODO: Adjust position according to inserts/removes in the series + + setSelectedPoint(position, series); + + m_renderer->resetClickedStatus(); +} + QPoint Surface3DController::invalidSelectionPosition() { static QPoint invalidSelectionPoint(-1, -1); @@ -297,13 +309,6 @@ void Surface3DController::handleArrayReset() emitNeedRender(); } -void Surface3DController::handlePointClicked(const QPoint &position, QSurface3DSeries *series) -{ - setSelectedPoint(position, series); - // TODO: pass clicked to parent. (QTRD-2517) - // TODO: Also hover needed? (QTRD-2131) -} - void Surface3DController::handleFlatShadingSupportedChange(bool supported) { // Handle renderer flat surface support indicator signal. This happens exactly once per renderer. diff --git a/src/datavisualization/engine/surface3dcontroller_p.h b/src/datavisualization/engine/surface3dcontroller_p.h index d823bd85..22635b73 100644 --- a/src/datavisualization/engine/surface3dcontroller_p.h +++ b/src/datavisualization/engine/surface3dcontroller_p.h @@ -84,6 +84,7 @@ public: QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust); virtual void handleAxisRangeChangedBySender(QObject *sender); virtual void handleSeriesVisibilityChangedBySender(QObject *sender); + virtual void handlePendingClick(); static QPoint invalidSelectionPosition(); bool isFlatShadingSupported(); @@ -100,9 +101,6 @@ public slots: void handleRowsInserted(int startIndex, int count); void handleItemChanged(int rowIndex, int columnIndex); - // Renderer callback handlers - void handlePointClicked(const QPoint &position, QSurface3DSeries *series); - void handleFlatShadingSupportedChange(bool supported); private: diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index b0bb4834..45eb3391 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -110,7 +110,8 @@ Surface3DRenderer::Surface3DRenderer(Surface3DController *controller) m_hasHeightAdjustmentChanged(true), m_selectedPoint(Surface3DController::invalidSelectionPosition()), m_selectedSeries(0), - m_uniformGradientTexture(0) + m_uniformGradientTexture(0), + m_clickedPosition(Surface3DController::invalidSelectionPosition()) { // Check if flat feature is supported ShaderHelper tester(this, QStringLiteral(":/shaders/vertexSurfaceFlat"), @@ -1038,8 +1039,8 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) uint selectionId = pixel[0] + pixel[1] * 256 + pixel[2] * 65536; #endif - emit pointClicked(QPoint(selectionIdToSurfacePoint(selectionId)), - static_cast(m_visibleSeriesList.at(0).series())); + m_clickedPosition = selectionIdToSurfacePoint(selectionId); + m_clickedSeries = m_visibleSeriesList.at(0).series(); // Revert to original viewport glViewport(m_primarySubViewport.x(), @@ -1862,6 +1863,12 @@ void Surface3DRenderer::updateSelectedPoint(const QPoint &position, const QSurfa m_selectionDirty = true; } +void Surface3DRenderer::resetClickedStatus() +{ + m_clickedPosition = Surface3DController::invalidSelectionPosition(); + m_clickedSeries = 0; +} + void Surface3DRenderer::updateSurfaceGridStatus(bool enable) { m_cachedSurfaceGridOn = enable; diff --git a/src/datavisualization/engine/surface3drenderer_p.h b/src/datavisualization/engine/surface3drenderer_p.h index 13fd11d8..3da50d53 100644 --- a/src/datavisualization/engine/surface3drenderer_p.h +++ b/src/datavisualization/engine/surface3drenderer_p.h @@ -125,6 +125,7 @@ private: const QSurface3DSeries *m_selectedSeries; GLuint m_uniformGradientTexture; QVector3D m_uniformGradientTextureColor; + QPoint m_clickedPosition; public: explicit Surface3DRenderer(Surface3DController *controller); @@ -139,6 +140,8 @@ public: void updateSurfaceGridStatus(bool enable); void updateSlicingActive(bool isSlicing); void updateSelectedPoint(const QPoint &position, const QSurface3DSeries *series); + inline QPoint clickedPosition() const { return m_clickedPosition; } + void resetClickedStatus(); void drawSlicedScene(); void render(GLuint defaultFboHandle = 0); @@ -147,7 +150,6 @@ protected: void initializeOpenGL(); signals: - void pointClicked(QPoint position, QSurface3DSeries *series); void flatShadingSupportedChanged(bool supported); private: -- cgit v1.2.3 From 01b9609c35227a2398ed2a39ebb1da2265bf3396 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Fri, 17 Jan 2014 08:20:49 +0200 Subject: Reintroduced namespace macros, part 2 Added changes lost in merge Task-number: QTRD-2594 Change-Id: Ib68b5d9294ad65f69443c475ba771dcfd09926bb Reviewed-by: Miikka Heikkinen --- src/datavisualization/data/qbar3dseries.cpp | 12 ++++-------- src/datavisualization/data/qbardataproxy.cpp | 8 ++++---- src/datavisualization/data/qbardataproxy.h | 9 ++++++--- src/datavisualization/data/qscatter3dseries.cpp | 12 ++++-------- src/datavisualization/data/qscatterdataproxy.cpp | 4 ++-- src/datavisualization/data/qscatterdataproxy.h | 7 +++++-- src/datavisualization/data/qsurface3dseries.cpp | 12 ++++-------- src/datavisualization/data/qsurfacedataproxy.cpp | 8 ++++---- src/datavisualization/data/qsurfacedataproxy.h | 9 ++++++--- src/datavisualization/engine/abstract3dcontroller_p.h | 4 ++-- src/datavisualization/engine/abstract3drenderer.cpp | 9 ++------- src/datavisualization/engine/bars3dcontroller.cpp | 14 ++------------ src/datavisualization/engine/bars3dcontroller_p.h | 5 ++--- src/datavisualization/engine/qabstract3dgraph.cpp | 10 +++------- src/datavisualization/engine/qabstract3dgraph.h | 4 ++-- src/datavisualization/engine/scatter3dcontroller.cpp | 14 ++------------ src/datavisualization/engine/scatter3dcontroller_p.h | 5 ++--- src/datavisualization/engine/surface3dcontroller.cpp | 14 ++------------ src/datavisualization/engine/surface3dcontroller_p.h | 6 +++--- 19 files changed, 61 insertions(+), 105 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/data/qbar3dseries.cpp b/src/datavisualization/data/qbar3dseries.cpp index ff64aca7..1597b7ba 100644 --- a/src/datavisualization/data/qbar3dseries.cpp +++ b/src/datavisualization/data/qbar3dseries.cpp @@ -19,10 +19,10 @@ #include "qbar3dseries_p.h" #include "bars3dcontroller_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QBar3DSeries + * \class QBar3DSeries * \inmodule QtDataVisualization * \brief Base series class for Q3DBars. * \since Qt Data Visualization 1.0 @@ -69,7 +69,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QBar3DSeries + * \instantiates QBar3DSeries * \inherits Abstract3DSeries * \brief Base series type for Bars3D. * @@ -217,10 +217,6 @@ const QBar3DSeriesPrivate *QBar3DSeries::dptrc() const } // QBar3DSeriesPrivate -/*! - * \class QtDataVisualization::QBar3DSeriesPrivate - * \internal - */ QBar3DSeriesPrivate::QBar3DSeriesPrivate(QBar3DSeries *q) : QAbstract3DSeriesPrivate(q, QAbstract3DSeries::SeriesTypeBar), @@ -287,4 +283,4 @@ void QBar3DSeriesPrivate::setSelectedBar(const QPoint &position) } } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qbardataproxy.cpp b/src/datavisualization/data/qbardataproxy.cpp index 351575a1..9957e8af 100644 --- a/src/datavisualization/data/qbardataproxy.cpp +++ b/src/datavisualization/data/qbardataproxy.cpp @@ -48,15 +48,15 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION */ /*! - * \typedef QBarDataRow + * \typedef QtDataVisualization::QBarDataRow * - * A vector of QBarDataItems. + * A vector of \l {QBarDataItem}s. */ /*! - * \typedef QBarDataArray + * \typedef QtDataVisualization::QBarDataArray * - * A list of pointers to QBarDataRows. + * A list of pointers to \l {QBarDataRow}s. */ /*! diff --git a/src/datavisualization/data/qbardataproxy.h b/src/datavisualization/data/qbardataproxy.h index 4a1e547f..7843e5dc 100644 --- a/src/datavisualization/data/qbardataproxy.h +++ b/src/datavisualization/data/qbardataproxy.h @@ -24,14 +24,17 @@ #include #include +namespace QtDataVisualization { +// typedefs introduced this way because QDoc doesn't understand namespace macros +typedef QVector QBarDataRow; +typedef QList QBarDataArray; +} + QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QBarDataProxyPrivate; class QBar3DSeries; -typedef QVector QBarDataRow; -typedef QList QBarDataArray; - class QT_DATAVISUALIZATION_EXPORT QBarDataProxy : public QAbstractDataProxy { Q_OBJECT diff --git a/src/datavisualization/data/qscatter3dseries.cpp b/src/datavisualization/data/qscatter3dseries.cpp index 89f37995..78594272 100644 --- a/src/datavisualization/data/qscatter3dseries.cpp +++ b/src/datavisualization/data/qscatter3dseries.cpp @@ -19,10 +19,10 @@ #include "qscatter3dseries_p.h" #include "scatter3dcontroller_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QScatter3DSeries + * \class QScatter3DSeries * \inmodule QtDataVisualization * \brief Base series class for Q3DScatter. * \since Qt Data Visualization 1.0 @@ -65,7 +65,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QScatter3DSeries + * \instantiates QScatter3DSeries * \inherits Abstract3DSeries * \brief Base series type for Scatter3D. * @@ -242,10 +242,6 @@ const QScatter3DSeriesPrivate *QScatter3DSeries::dptrc() const // QScatter3DSeriesPrivate -/*! - * \class QtDataVisualization::QScatter3DSeriesPrivate - * \internal - */ QScatter3DSeriesPrivate::QScatter3DSeriesPrivate(QScatter3DSeries *q) : QAbstract3DSeriesPrivate(q, QAbstract3DSeries::SeriesTypeScatter), m_selectedItem(Scatter3DController::invalidSelectionIndex()), @@ -313,4 +309,4 @@ void QScatter3DSeriesPrivate::setItemSize(float size) m_controller->markSeriesVisualsDirty(); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qscatterdataproxy.cpp b/src/datavisualization/data/qscatterdataproxy.cpp index 7db508ea..2a5ccbdb 100644 --- a/src/datavisualization/data/qscatterdataproxy.cpp +++ b/src/datavisualization/data/qscatterdataproxy.cpp @@ -36,9 +36,9 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION */ /*! - * \typedef QScatterDataArray + * \typedef QtDataVisualization::QScatterDataArray * - * A vector of QScatterDataItems. + * A vector of \l {QScatterDataItem}s. */ /*! diff --git a/src/datavisualization/data/qscatterdataproxy.h b/src/datavisualization/data/qscatterdataproxy.h index b99f503a..7c25440d 100644 --- a/src/datavisualization/data/qscatterdataproxy.h +++ b/src/datavisualization/data/qscatterdataproxy.h @@ -22,13 +22,16 @@ #include #include +namespace QtDataVisualization { +// typedef introduced this way because QDoc doesn't understand namespace macros +typedef QVector QScatterDataArray; +} + QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QScatterDataProxyPrivate; class QScatter3DSeries; -typedef QVector QScatterDataArray; - class QT_DATAVISUALIZATION_EXPORT QScatterDataProxy : public QAbstractDataProxy { Q_OBJECT diff --git a/src/datavisualization/data/qsurface3dseries.cpp b/src/datavisualization/data/qsurface3dseries.cpp index ec146e22..af53bab4 100644 --- a/src/datavisualization/data/qsurface3dseries.cpp +++ b/src/datavisualization/data/qsurface3dseries.cpp @@ -19,10 +19,10 @@ #include "qsurface3dseries_p.h" #include "surface3dcontroller_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QSurface3DSeries + * \class QSurface3DSeries * \inmodule QtDataVisualization * \brief Base series class for Q3DSurface. * \since Qt Data Visualization 1.0 @@ -68,7 +68,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates QtDataVisualization::QSurface3DSeries + * \instantiates QSurface3DSeries * \inherits Abstract3DSeries * \brief Base series type for Surfaces3D. * @@ -310,10 +310,6 @@ const QSurface3DSeriesPrivate *QSurface3DSeries::dptrc() const // QSurface3DSeriesPrivate -/*! - * \class QtDataVisualization::QSurface3DSeriesPrivate - * \internal - */ QSurface3DSeriesPrivate::QSurface3DSeriesPrivate(QSurface3DSeries *q) : QAbstract3DSeriesPrivate(q, QAbstract3DSeries::SeriesTypeSurface), m_selectedPoint(Surface3DController::invalidSelectionPosition()), @@ -392,4 +388,4 @@ void QSurface3DSeriesPrivate::setDrawMode(QSurface3DSeries::DrawFlags mode) m_controller->markSeriesVisualsDirty(); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qsurfacedataproxy.cpp b/src/datavisualization/data/qsurfacedataproxy.cpp index 541b1d8f..bcb60f8c 100644 --- a/src/datavisualization/data/qsurfacedataproxy.cpp +++ b/src/datavisualization/data/qsurfacedataproxy.cpp @@ -57,15 +57,15 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION */ /*! - * \typedef QSurfaceDataRow + * \typedef QtDataVisualization::QSurfaceDataRow * - * A vector of QSurfaceDataItems. + * A vector of \l {QSurfaceDataItem}s. */ /*! - * \typedef QSurfaceDataArray + * \typedef QtDataVisualization::QSurfaceDataArray * - * A list of pointers to QSurfaceDataRows. + * A list of pointers to \l {QSurfaceDataRow}s. */ /*! diff --git a/src/datavisualization/data/qsurfacedataproxy.h b/src/datavisualization/data/qsurfacedataproxy.h index b1f16cb3..ffa20989 100644 --- a/src/datavisualization/data/qsurfacedataproxy.h +++ b/src/datavisualization/data/qsurfacedataproxy.h @@ -22,14 +22,17 @@ #include #include +namespace QtDataVisualization { +// typedefs introduced this way because QDoc doesn't understand namespace macros +typedef QVector QSurfaceDataRow; +typedef QList QSurfaceDataArray; +} + QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QSurfaceDataProxyPrivate; class QSurface3DSeries; -typedef QVector QSurfaceDataRow; -typedef QList QSurfaceDataArray; - class QT_DATAVISUALIZATION_EXPORT QSurfaceDataProxy : public QAbstractDataProxy { Q_OBJECT diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index 7947bd7d..17c1e1fb 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -42,7 +42,7 @@ class QFont; -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class CameraHelper; class Abstract3DRenderer; @@ -281,6 +281,6 @@ private: friend class Bars3DController; }; -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 29262f41..95840b0a 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -27,12 +27,7 @@ #include "q3dtheme_p.h" #include "objecthelper_p.h" -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::Abstract3DRenderer - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION Abstract3DRenderer::Abstract3DRenderer(Abstract3DController *controller) : QObject(0), @@ -440,4 +435,4 @@ void Abstract3DRenderer::fixGradientAndGenerateTexture(QLinearGradient *gradient *gradientTexture = m_textureHelper->createGradientTexture(*gradient); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index ae6a1c48..f91a74cc 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -30,17 +30,7 @@ #include #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::Bars3DController - * \internal - */ - -/*! - * \class QtDataVisualization::Bars3DChangeBitField - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION Bars3DController::Bars3DController(QRect boundRect, Q3DScene *scene) : Abstract3DController(boundRect, scene), @@ -587,4 +577,4 @@ QAbstract3DAxis *Bars3DController::createDefaultAxis(QAbstract3DAxis::AxisOrient return defaultAxis; } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/bars3dcontroller_p.h b/src/datavisualization/engine/bars3dcontroller_p.h index e0d0786f..54520b32 100644 --- a/src/datavisualization/engine/bars3dcontroller_p.h +++ b/src/datavisualization/engine/bars3dcontroller_p.h @@ -34,7 +34,7 @@ //#define DISPLAY_RENDER_SPEED -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Bars3DRenderer; class QBar3DSeries; @@ -136,7 +136,6 @@ private: }; - -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index af0dc7ad..29ceabc9 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -29,10 +29,10 @@ #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! - * \class QtDataVisualization::QAbstract3DGraph + * \class QAbstract3DGraph * \inmodule QtDataVisualization * \brief The QAbstract3DGraph class provides a window and render loop for graphs. * \since Qt Data Visualization 1.0 @@ -429,10 +429,6 @@ void QAbstract3DGraph::wheelEvent(QWheelEvent *event) d_ptr->m_visualController->wheelEvent(event); } -/*! - * \class QtDataVisualization::QAbstract3DGraphPrivate - * \internal - */ QAbstract3DGraphPrivate::QAbstract3DGraphPrivate(QAbstract3DGraph *q) : QObject(0), q_ptr(q), @@ -508,4 +504,4 @@ void QAbstract3DGraphPrivate::renderNow() m_context->swapBuffers(q_ptr); } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/qabstract3dgraph.h b/src/datavisualization/engine/qabstract3dgraph.h index 5383850e..e4cec5e2 100644 --- a/src/datavisualization/engine/qabstract3dgraph.h +++ b/src/datavisualization/engine/qabstract3dgraph.h @@ -25,7 +25,7 @@ #include #include -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QAbstract3DGraphPrivate; class Abstract3DController; @@ -125,6 +125,6 @@ private: }; Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstract3DGraph::SelectionFlags) -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp index a3df9288..c3f03fb9 100644 --- a/src/datavisualization/engine/scatter3dcontroller.cpp +++ b/src/datavisualization/engine/scatter3dcontroller.cpp @@ -27,17 +27,7 @@ #include #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::Scatter3DController - * \internal - */ - -/*! - * \class QtDataVisualization::Scatter3DChangeBitField - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION Scatter3DController::Scatter3DController(QRect boundRect, Q3DScene *scene) : Abstract3DController(boundRect, scene), @@ -384,4 +374,4 @@ void Scatter3DController::adjustValueAxisRange() } } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/scatter3dcontroller_p.h b/src/datavisualization/engine/scatter3dcontroller_p.h index 6e4d391a..35f4015d 100644 --- a/src/datavisualization/engine/scatter3dcontroller_p.h +++ b/src/datavisualization/engine/scatter3dcontroller_p.h @@ -34,7 +34,7 @@ //#define DISPLAY_RENDER_SPEED -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Scatter3DRenderer; class QScatterDataProxy; @@ -99,7 +99,6 @@ private: Q_DISABLE_COPY(Scatter3DController) }; - -} +QT_END_NAMESPACE_DATAVISUALIZATION #endif diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index c69ad5bd..cae97d90 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -30,17 +30,7 @@ #include -namespace QtDataVisualization { - -/*! - * \class QtDataVisualization::Surface3DController - * \internal - */ - -/*! - * \class QtDataVisualization::Surface3DChangeBitField - * \internal - */ +QT_BEGIN_NAMESPACE_DATAVISUALIZATION Surface3DController::Surface3DController(QRect rect, Q3DScene *scene) : Abstract3DController(rect, scene), @@ -531,4 +521,4 @@ void Surface3DController::adjustValueAxisRange() } } -} +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/surface3dcontroller_p.h b/src/datavisualization/engine/surface3dcontroller_p.h index 22635b73..85a32564 100644 --- a/src/datavisualization/engine/surface3dcontroller_p.h +++ b/src/datavisualization/engine/surface3dcontroller_p.h @@ -33,7 +33,7 @@ #include "datavisualizationglobal_p.h" -namespace QtDataVisualization { +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Surface3DRenderer; class QSurface3DSeries; @@ -109,6 +109,6 @@ private: Q_DISABLE_COPY(Surface3DController) }; -} +QT_END_NAMESPACE_DATAVISUALIZATION -#endif // SURFACE3DCONTROLLER_P_H +#endif -- cgit v1.2.3 From d88dd99014c4b2893192995e9e6cbec06db74166 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Fri, 17 Jan 2014 08:38:43 +0200 Subject: Scatter selection label position fix Change-Id: I96a0bfacd074152941618beb2c5a65a36781ceb3 Change-Id: I96a0bfacd074152941618beb2c5a65a36781ceb3 Reviewed-by: Miikka Heikkinen --- src/datavisualization/engine/scatter3drenderer.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 2e6680aa..ce9560c8 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -254,6 +254,7 @@ void Scatter3DRenderer::render(GLuint defaultFboHandle) void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) { GLfloat backgroundRotation = 0; + GLfloat selectedItemSize = 0.0f; const Q3DCamera *activeCamera = m_cachedScene->activeCamera(); @@ -605,13 +606,15 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) m_dotGradientShader->bind(); m_dotGradientShader->setUniformValue(m_dotGradientShader->lightP(), lightPos); m_dotGradientShader->setUniformValue(m_dotGradientShader->view(), viewMatrix); - m_dotGradientShader->setUniformValue(m_dotGradientShader->ambientS(), m_cachedTheme->ambientLightStrength()); + m_dotGradientShader->setUniformValue(m_dotGradientShader->ambientS(), + m_cachedTheme->ambientLightStrength()); } if (haveUniformColorMeshSeries) { m_dotShader->bind(); m_dotShader->setUniformValue(m_dotShader->lightP(), lightPos); m_dotShader->setUniformValue(m_dotShader->view(), viewMatrix); - m_dotShader->setUniformValue(m_dotShader->ambientS(), m_cachedTheme->ambientLightStrength()); + m_dotShader->setUniformValue(m_dotShader->ambientS(), + m_cachedTheme->ambientLightStrength()); dotShader = m_dotShader; } else { dotShader = m_dotGradientShader; @@ -708,7 +711,8 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) gradientTexture = currentSeries.baseGradientTexture(); GLfloat lightStrength = m_cachedTheme->lightStrength(); - if (m_cachedSelectionMode > QAbstract3DGraph::SelectionNone && (m_selectedItemTotalIndex == dotNo)) { + if (m_cachedSelectionMode > QAbstract3DGraph::SelectionNone + && (m_selectedItemTotalIndex == dotNo)) { if (useColor) dotColor = currentSeries.singleHighlightColor(); else @@ -717,6 +721,8 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) // Insert data to ScatterRenderItem. We have no ownership, don't delete the previous one selectedItem = &item; dotSelectionFound = true; + // Save selected item size (adjusted with font size) for selection label positioning + selectedItemSize = itemSize + (m_cachedTheme->font().pointSizeF() / 500.0f); } if (!drawingPoints) { @@ -1526,8 +1532,9 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) } m_drawer->drawLabel(*selectedItem, labelItem, viewMatrix, projectionMatrix, - zeroVector, zeroVector, 0, m_cachedSelectionMode, m_labelShader, - m_labelObj, activeCamera, true, false, Drawer::LabelOver); + zeroVector, zeroVector, selectedItemSize, m_cachedSelectionMode, + m_labelShader, m_labelObj, activeCamera, true, false, + Drawer::LabelOver); // Reset label update flag; they should have been updated when we get here m_updateLabels = false; -- cgit v1.2.3 From b83dfb2537720492ebd62dfc9733035d5560dddd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Fri, 17 Jan 2014 09:23:35 +0200 Subject: Qml enums added Task-number: QTRD-2636 Change-Id: I90a123432172d32fab7efa2ef18ee79d06139b5b Change-Id: I90a123432172d32fab7efa2ef18ee79d06139b5b Reviewed-by: Miikka Heikkinen --- src/datavisualization/axis/qabstract3daxis.cpp | 2 ++ src/datavisualization/data/qabstract3dseries.cpp | 3 +++ src/datavisualization/data/qabstractdataproxy.cpp | 3 +++ src/datavisualization/data/qsurface3dseries.cpp | 2 ++ .../doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc | 3 +++ src/datavisualization/engine/q3dcamera.cpp | 2 ++ src/datavisualization/input/qabstract3dinputhandler.cpp | 2 ++ src/datavisualization/theme/q3dtheme.cpp | 2 ++ 8 files changed, 19 insertions(+) (limited to 'src/datavisualization') diff --git a/src/datavisualization/axis/qabstract3daxis.cpp b/src/datavisualization/axis/qabstract3daxis.cpp index 20e7f361..f9128247 100644 --- a/src/datavisualization/axis/qabstract3daxis.cpp +++ b/src/datavisualization/axis/qabstract3daxis.cpp @@ -41,6 +41,8 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * \brief AbstractAxis3D is base type for axes of a graph. * * This type is uncreatable, but contains properties that are exposed via subtypes. + * + * For AbstractAxis3D enums, see \l QAbstract3DAxis::AxisOrientation and \l QAbstract3DAxis::AxisType */ /*! diff --git a/src/datavisualization/data/qabstract3dseries.cpp b/src/datavisualization/data/qabstract3dseries.cpp index 1044fe24..a3f766a8 100644 --- a/src/datavisualization/data/qabstract3dseries.cpp +++ b/src/datavisualization/data/qabstract3dseries.cpp @@ -52,6 +52,9 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * \brief Base type for all QtDataVisualization series. * * This type is uncreatable, but contains properties that are exposed via subtypes. + * + * For Abstract3DSeries enums, see \l QAbstract3DSeries::SeriesType and \l QAbstract3DSeries::Mesh + * * \sa Bar3DSeries, Scatter3DSeries, Surface3DSeries, {Qt Data Visualization Data Handling} */ diff --git a/src/datavisualization/data/qabstractdataproxy.cpp b/src/datavisualization/data/qabstractdataproxy.cpp index 77ce4207..8798d53b 100644 --- a/src/datavisualization/data/qabstractdataproxy.cpp +++ b/src/datavisualization/data/qabstractdataproxy.cpp @@ -41,6 +41,9 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * \brief Base type for all QtDataVisualization data proxies. * * This type is uncreatable, but contains properties that are exposed via subtypes. + * + * For AbstractDataProxy enums, see \l QAbstractDataProxy::DataType + * * \sa BarDataProxy, ScatterDataProxy, SurfaceDataProxy, {Qt Data Visualization Data Handling} */ diff --git a/src/datavisualization/data/qsurface3dseries.cpp b/src/datavisualization/data/qsurface3dseries.cpp index af53bab4..78f72e02 100644 --- a/src/datavisualization/data/qsurface3dseries.cpp +++ b/src/datavisualization/data/qsurface3dseries.cpp @@ -75,6 +75,8 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * This type manages the series specific visual elements, as well as series data * (via data proxy). * + * For Surface3DSeries enums, see \l QSurface3DSeries::DrawFlag + * * For more complete description, see QSurface3DSeries. * * \sa {Qt Data Visualization Data Handling} diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc index ee0c2427..6b53cde4 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc @@ -34,6 +34,9 @@ before showing it. You can use the convenience function \c{QtDataVisualization::qDefaultSurfaceFormat()} to create the custom surface format object. + For AbstractGraph3D enums, see \l QAbstract3DGraph::SelectionFlag and + \l QAbstract3DGraph::ShadowQuality + \sa Bars3D, Scatter3D, Surface3D, {Qt Data Visualization C++ Classes} */ diff --git a/src/datavisualization/engine/q3dcamera.cpp b/src/datavisualization/engine/q3dcamera.cpp index 8a02d3ae..b135d12f 100644 --- a/src/datavisualization/engine/q3dcamera.cpp +++ b/src/datavisualization/engine/q3dcamera.cpp @@ -88,6 +88,8 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * data visualization. The class offers simple methods for setting the orbit point in rotations, * but allows also setting the 4x4 view matrix directly in case a more customized camera behavior is * needed. + * + * For Camera3D enums, see \l Q3DCamera::CameraPreset */ /*! diff --git a/src/datavisualization/input/qabstract3dinputhandler.cpp b/src/datavisualization/input/qabstract3dinputhandler.cpp index e7374657..a0811f5b 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.cpp +++ b/src/datavisualization/input/qabstract3dinputhandler.cpp @@ -59,6 +59,8 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * \brief Base type for all QtDataVisualization input handlers. * * This type is uncreatable. + * + * For AbstractInputHandler3D enums, see \l QAbstract3DInputHandler::InputState */ /*! diff --git a/src/datavisualization/theme/q3dtheme.cpp b/src/datavisualization/theme/q3dtheme.cpp index b35afb5f..30556959 100644 --- a/src/datavisualization/theme/q3dtheme.cpp +++ b/src/datavisualization/theme/q3dtheme.cpp @@ -235,6 +235,8 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * Using a user-defined theme: * * \snippet doc_src_q3dtheme.cpp 6 + * + * For Theme3D enums, see \l Q3DTheme::ColorStyle and \l Q3DTheme::Theme */ /*! -- cgit v1.2.3 From cc80770a30f3dfa43b29e14f83bf47deb5b50a92 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 17 Jan 2014 09:57:00 +0200 Subject: Adjust selection in item removal and insert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implements item 1) in QTRD-2645 Task-number: QTRD-2645 Change-Id: I5c1cec438089520592a3526e1ff6095cc30afd34 Reviewed-by: Tomi Korpipää --- src/datavisualization/data/qbar3dseries.cpp | 4 ++++ src/datavisualization/data/qscatter3dseries.cpp | 4 ++++ src/datavisualization/data/qsurface3dseries.cpp | 4 ++++ src/datavisualization/engine/bars3dcontroller.cpp | 24 ++++++++++++++++++++-- .../engine/scatter3dcontroller.cpp | 24 ++++++++++++++++++++-- .../engine/surface3dcontroller.cpp | 24 ++++++++++++++++++++-- 6 files changed, 78 insertions(+), 6 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/data/qbar3dseries.cpp b/src/datavisualization/data/qbar3dseries.cpp index 1597b7ba..e7c2e125 100644 --- a/src/datavisualization/data/qbar3dseries.cpp +++ b/src/datavisualization/data/qbar3dseries.cpp @@ -99,6 +99,8 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * If this series is added to a graph, the graph can adjust the selection according to user * interaction or if it becomes invalid. Selecting a bar on another added series will also * clear the selection. + * Removing rows from or inserting rows to the series before the row of the selected bar + * will adjust the selection so that the same bar will stay selected. * * \sa AbstractGraph3D::clearSelection() */ @@ -172,6 +174,8 @@ QBarDataProxy *QBar3DSeries::dataProxy() const * If this series is added to a graph, the graph can adjust the selection according to user * interaction or if it becomes invalid. Selecting a bar on another added series will also * clear the selection. + * Removing rows from or inserting rows to the series before the row of the selected bar + * will adjust the selection so that the same bar will stay selected. * * \sa QAbstract3DGraph::clearSelection() */ diff --git a/src/datavisualization/data/qscatter3dseries.cpp b/src/datavisualization/data/qscatter3dseries.cpp index 78594272..2dd5fd3a 100644 --- a/src/datavisualization/data/qscatter3dseries.cpp +++ b/src/datavisualization/data/qscatter3dseries.cpp @@ -94,6 +94,8 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * If this series is added to a graph, the graph can adjust the selection according to user * interaction or if it becomes invalid. Selecting an item on another added series will also * clear the selection. + * Removing items from or inserting items to the series before the selected item + * will adjust the selection so that the same item will stay selected. * * \sa AbstractGraph3D::clearSelection() */ @@ -174,6 +176,8 @@ QScatterDataProxy *QScatter3DSeries::dataProxy() const * If this series is added to a graph, the graph can adjust the selection according to user * interaction or if it becomes invalid. Selecting an item on another added series will also * clear the selection. + * Removing items from or inserting items to the series before the selected item + * will adjust the selection so that the same item will stay selected. * * \sa QAbstract3DGraph::clearSelection() */ diff --git a/src/datavisualization/data/qsurface3dseries.cpp b/src/datavisualization/data/qsurface3dseries.cpp index 78f72e02..85f43dad 100644 --- a/src/datavisualization/data/qsurface3dseries.cpp +++ b/src/datavisualization/data/qsurface3dseries.cpp @@ -99,6 +99,8 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * To clear selection from this series, set invalidSelectionPosition as the \a position. * If this series is added to a graph, the graph can adjust the selection according to user * interaction or if it becomes invalid. + * Removing rows from or inserting rows to the series before the row of the selected point + * will adjust the selection so that the same point will stay selected. * * \sa AbstractGraph3D::clearSelection() */ @@ -210,6 +212,8 @@ QSurfaceDataProxy *QSurface3DSeries::dataProxy() const * To clear selection from this series, set invalidSelectionPosition() as the \a position. * If this series is added to a graph, the graph can adjust the selection according to user * interaction or if it becomes invalid. + * Removing rows from or inserting rows to the series before the row of the selected point + * will adjust the selection so that the same point will stay selected. * * \sa QAbstract3DGraph::clearSelection() */ diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index f91a74cc..5542b69b 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -141,8 +141,18 @@ void Bars3DController::handleRowsRemoved(int startIndex, int count) m_isDataDirty = true; } - // Clear selection unless still valid - setSelectedBar(m_selectedBar, m_selectedBarSeries); + if (series == m_selectedBarSeries) { + // If rows removed from selected series before the selection, adjust the selection + int selectedRow = m_selectedBar.x(); + if (startIndex <= selectedRow) { + if ((startIndex + count) > selectedRow) + selectedRow = -1; // Selected row removed + else + selectedRow -= count; // Move selected row down by amount of rows removed + + setSelectedBar(QPoint(selectedRow, m_selectedBar.y()), m_selectedBarSeries); + } + } emitNeedRender(); } @@ -168,6 +178,16 @@ void Bars3DController::handleItemChanged(int rowIndex, int columnIndex) adjustAxisRanges(); m_isDataDirty = true; } + + if (series == m_selectedBarSeries) { + // If rows inserted to selected series before the selection, adjust the selection + int selectedRow = m_selectedBar.x(); + if (startIndex <= selectedRow) { + selectedRow += count; + setSelectedBar(QPoint(selectedRow, m_selectedBar.y()), m_selectedBarSeries); + } + } + emitNeedRender(); } diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp index c3f03fb9..4527ac2a 100644 --- a/src/datavisualization/engine/scatter3dcontroller.cpp +++ b/src/datavisualization/engine/scatter3dcontroller.cpp @@ -162,8 +162,18 @@ void Scatter3DController::handleItemsRemoved(int startIndex, int count) m_isDataDirty = true; } - // Clear selection unless it is still valid - setSelectedItem(m_selectedItem, m_selectedItemSeries); + if (series == m_selectedItemSeries) { + // If items removed from selected series before the selection, adjust the selection + int selectedItem = m_selectedItem; + if (startIndex <= selectedItem) { + if ((startIndex + count) > selectedItem) + selectedItem = -1; // Selected item removed + else + selectedItem -= count; // Move selected item down by amount of item removed + + setSelectedItem(selectedItem, m_selectedItemSeries); + } + } emitNeedRender(); } @@ -178,6 +188,16 @@ void Scatter3DController::handleItemsInserted(int startIndex, int count) adjustValueAxisRange(); m_isDataDirty = true; } + + if (series == m_selectedItemSeries) { + // If items inserted to selected series before the selection, adjust the selection + int selectedItem = m_selectedItem; + if (startIndex <= selectedItem) { + selectedItem += count; + setSelectedItem(selectedItem, m_selectedItemSeries); + } + } + emitNeedRender(); } diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index cae97d90..984f65ba 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -392,6 +392,16 @@ void Surface3DController::handleRowsInserted(int startIndex, int count) adjustValueAxisRange(); m_isDataDirty = true; } + + if (series == m_selectedSeries) { + // If rows inserted to selected series before the selection, adjust the selection + int selectedRow = m_selectedPoint.x(); + if (startIndex <= selectedRow) { + selectedRow += count; + setSelectedPoint(QPoint(selectedRow, m_selectedPoint.y()), m_selectedSeries); + } + } + emitNeedRender(); } @@ -405,8 +415,18 @@ void Surface3DController::handleRowsRemoved(int startIndex, int count) m_isDataDirty = true; } - // Clear selection unless still valid - setSelectedPoint(m_selectedPoint, m_selectedSeries); + if (series == m_selectedSeries) { + // If rows removed from selected series before the selection, adjust the selection + int selectedRow = m_selectedPoint.x(); + if (startIndex <= selectedRow) { + if ((startIndex + count) > selectedRow) + selectedRow = -1; // Selected row removed + else + selectedRow -= count; // Move selected row down by amount of rows removed + + setSelectedPoint(QPoint(selectedRow, m_selectedPoint.y()), m_selectedSeries); + } + } emitNeedRender(); } -- cgit v1.2.3 From edb2cdbf30efe9bc8aec0aa89161c620899d3b4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Fri, 17 Jan 2014 10:07:28 +0200 Subject: Slice view selection label update fixed Task-number: QTRD-2776 Change-Id: I7518d2598280bfa6bd77af6971e753d9415dae96 Reviewed-by: Miikka Heikkinen --- src/datavisualization/engine/bars3drenderer.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 96e6a82f..133ecea2 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -606,10 +606,11 @@ void Bars3DRenderer::drawSlicedScene() // Draw values if (item->height() != 0.0f || (!m_noZeroInRange && item->value() == 0.0f)) { // Create label texture if we need it - if (item->sliceLabel().isNull()) { + if (item->sliceLabel().isNull() || m_updateLabels) { item->setSliceLabel(generateValueLabel(m_axisCacheY.labelFormat(), item->value())); m_drawer->generateLabelItem(item->sliceLabelItem(), item->sliceLabel()); + m_updateLabels = false; } Qt::AlignmentFlag alignment = (item->height() < 0) ? Qt::AlignBottom : Qt::AlignTop; Drawer::LabelPosition labelPos = (item->height() < 0) ? Drawer::LabelBelow : Drawer::LabelOver; @@ -632,10 +633,11 @@ void Bars3DRenderer::drawSlicedScene() && m_visualSelectedBarPos.y() == item->position().y() && item->seriesIndex() == m_visualSelectedBarSeriesIndex) { // Create label texture if we need it - if (item->sliceLabel().isNull()) { + if (item->sliceLabel().isNull() || m_updateLabels) { item->setSliceLabel(generateValueLabel(m_axisCacheY.labelFormat(), item->value())); m_drawer->generateLabelItem(item->sliceLabelItem(), item->sliceLabel()); + m_updateLabels = false; } Qt::AlignmentFlag alignment = (item->height() < 0) ? Qt::AlignBottom : Qt::AlignTop; Drawer::LabelPosition labelPos = (item->height() < 0) ? Drawer::LabelBelow : Drawer::LabelOver; -- cgit v1.2.3 From 631b1913f4115fc163a21fc8aba85b87b10a666a Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 17 Jan 2014 10:24:02 +0200 Subject: Optimize theme update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Do not reinitialize shaders in theme update and only update drawer if label related items change. Also fix the bug automerge slipped in in recent rebase. Task-number: QTRD-2778 Change-Id: I4c4317dd36a8e8b60dcaec224f45df81c2ae7f54 Reviewed-by: Tomi Korpipää --- .../engine/abstract3drenderer.cpp | 8 ++---- src/datavisualization/engine/bars3dcontroller.cpp | 20 +++++++------- src/datavisualization/engine/drawer.cpp | 28 +++---------------- src/datavisualization/engine/drawer_p.h | 4 --- src/datavisualization/theme/q3dtheme.cpp | 32 ++++++---------------- 5 files changed, 24 insertions(+), 68 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 95840b0a..350da1fc 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -162,14 +162,10 @@ void Abstract3DRenderer::initGradientShaders(const QString &vertexShader, const void Abstract3DRenderer::updateTheme(Q3DTheme *theme) { // Synchronize the controller theme with renderer - bool changed = theme->d_ptr->sync(*m_cachedTheme->d_ptr); + bool updateDrawer = theme->d_ptr->sync(*m_cachedTheme->d_ptr); - if (changed) { - // Update drawer if sync changed something + if (updateDrawer) m_drawer->setTheme(m_cachedTheme); - // Re-initialize shaders - reInitShaders(); - } } void Abstract3DRenderer::updateScene(Q3DScene *scene) diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index 5542b69b..d85e474c 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -166,6 +166,16 @@ void Bars3DController::handleRowsInserted(int startIndex, int count) adjustAxisRanges(); m_isDataDirty = true; } + + if (series == m_selectedBarSeries) { + // If rows inserted to selected series before the selection, adjust the selection + int selectedRow = m_selectedBar.x(); + if (startIndex <= selectedRow) { + selectedRow += count; + setSelectedBar(QPoint(selectedRow, m_selectedBar.y()), m_selectedBarSeries); + } + } + emitNeedRender(); } @@ -178,16 +188,6 @@ void Bars3DController::handleItemChanged(int rowIndex, int columnIndex) adjustAxisRanges(); m_isDataDirty = true; } - - if (series == m_selectedBarSeries) { - // If rows inserted to selected series before the selection, adjust the selection - int selectedRow = m_selectedBar.x(); - if (startIndex <= selectedRow) { - selectedRow += count; - setSelectedBar(QPoint(selectedRow, m_selectedBar.y()), m_selectedBarSeries); - } - } - emitNeedRender(); } diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index 72b64212..dde0def2 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -45,8 +45,6 @@ const GLfloat point_data[] = {0.0f, 0.0f, 0.0f}; Drawer::Drawer(Q3DTheme *theme) : m_theme(theme), - m_font(theme->font()), - m_labelBackground(theme->isLabelBackgroundEnabled()), m_textureHelper(0), m_pointbuffer(0) { @@ -70,8 +68,6 @@ void Drawer::initializeOpenGL() void Drawer::setTheme(Q3DTheme *theme) { m_theme = theme; - m_font = m_theme->font(); - m_labelBackground = m_theme->isLabelBackgroundEnabled(); emit drawerChanged(); } @@ -80,25 +76,9 @@ Q3DTheme *Drawer::theme() const return m_theme; } -void Drawer::setFont(const QFont &font) -{ - // We need to be able to override theme's font for drawer - // TODO: (or do we?) - m_font = font; - emit drawerChanged(); -} - QFont Drawer::font() const { - return m_font; -} - -void Drawer::setLabelBackground(bool enabled) -{ - // We need to be able to override theme's label background for drawer - // TODO: (or do we?) - m_labelBackground = enabled; - emit drawerChanged(); + return m_theme->font(); } void Drawer::drawObject(ShaderHelper *shader, AbstractObjectHelper *object, GLuint textureId, @@ -266,7 +246,7 @@ void Drawer::drawLabel(const AbstractRenderItem &item, const LabelItem &labelIte } // Calculate scale factor to get uniform font size - GLfloat scaledFontSize = 0.05f + m_font.pointSizeF() / 500.0f; + GLfloat scaledFontSize = 0.05f + m_theme->font().pointSizeF() / 500.0f; GLfloat scaleFactor = scaledFontSize / (GLfloat)textureSize.height(); // Apply alignment @@ -385,11 +365,11 @@ void Drawer::generateLabelItem(LabelItem &item, const QString &text, int widestL if (!text.isEmpty()) { // Create labels // Print label into a QImage using QPainter - QImage label = Utils::printTextToImage(m_font, + QImage label = Utils::printTextToImage(m_theme->font(), text, m_theme->labelBackgroundColor(), m_theme->labelTextColor(), - m_labelBackground, + m_theme->isLabelBackgroundEnabled(), m_theme->isLabelBorderEnabled(), widestLabel); diff --git a/src/datavisualization/engine/drawer_p.h b/src/datavisualization/engine/drawer_p.h index ba9aadf7..d91c48fa 100644 --- a/src/datavisualization/engine/drawer_p.h +++ b/src/datavisualization/engine/drawer_p.h @@ -70,9 +70,7 @@ public: void setTheme(Q3DTheme *theme); Q3DTheme *theme() const; - void setFont(const QFont &font); QFont font() const; - void setLabelBackground(bool enabled); void drawObject(ShaderHelper *shader, AbstractObjectHelper *object, GLuint textureId = 0, GLuint depthTextureId = 0); @@ -94,8 +92,6 @@ Q_SIGNALS: private: Q3DTheme *m_theme; - QFont m_font; - bool m_labelBackground; TextureHelper *m_textureHelper; GLuint m_pointbuffer; }; diff --git a/src/datavisualization/theme/q3dtheme.cpp b/src/datavisualization/theme/q3dtheme.cpp index 30556959..1d331efc 100644 --- a/src/datavisualization/theme/q3dtheme.cpp +++ b/src/datavisualization/theme/q3dtheme.cpp @@ -960,118 +960,102 @@ void Q3DThemePrivate::resetDirtyBits() bool Q3DThemePrivate::sync(Q3DThemePrivate &other) { - bool changed = false; + bool updateDrawer = false; if (m_dirtyBits.ambientLightStrengthDirty) { other.q_ptr->setAmbientLightStrength(m_ambientLightStrength); m_dirtyBits.ambientLightStrengthDirty = false; - changed = true; } if (m_dirtyBits.backgroundColorDirty) { other.q_ptr->setBackgroundColor(m_backgroundColor); m_dirtyBits.backgroundColorDirty = false; - changed = true; } if (m_dirtyBits.backgroundEnabledDirty) { other.q_ptr->setBackgroundEnabled(m_backgoundEnabled); m_dirtyBits.backgroundEnabledDirty = false; - changed = true; } if (m_dirtyBits.baseColorDirty) { other.q_ptr->setBaseColors(m_baseColors); m_dirtyBits.baseColorDirty = false; - changed = true; } if (m_dirtyBits.baseGradientDirty) { other.q_ptr->setBaseGradients(m_baseGradients); m_dirtyBits.baseGradientDirty = false; - changed = true; } if (m_dirtyBits.colorStyleDirty) { other.q_ptr->setColorStyle(m_colorStyle); m_dirtyBits.colorStyleDirty = false; - changed = true; } if (m_dirtyBits.fontDirty) { other.q_ptr->setFont(m_font); m_dirtyBits.fontDirty = false; - changed = true; + updateDrawer = true; } if (m_dirtyBits.gridEnabledDirty) { other.q_ptr->setGridEnabled(m_gridEnabled); m_dirtyBits.gridEnabledDirty = false; - changed = true; } if (m_dirtyBits.gridLineColorDirty) { other.q_ptr->setGridLineColor(m_gridLineColor); m_dirtyBits.gridLineColorDirty = false; - changed = true; } if (m_dirtyBits.highlightLightStrengthDirty) { other.q_ptr->setHighlightLightStrength(m_highlightLightStrength); m_dirtyBits.highlightLightStrengthDirty = false; - changed = true; } if (m_dirtyBits.labelBackgroundColorDirty) { other.q_ptr->setLabelBackgroundColor(m_textBackgroundColor); m_dirtyBits.labelBackgroundColorDirty = false; - changed = true; + updateDrawer = true; } if (m_dirtyBits.labelBackgroundEnabledDirty) { other.q_ptr->setLabelBackgroundEnabled(m_labelBackground); m_dirtyBits.labelBackgroundEnabledDirty = false; - changed = true; + updateDrawer = true; } if (m_dirtyBits.labelBorderEnabledDirty) { other.q_ptr->setLabelBorderEnabled(m_labelBorders); m_dirtyBits.labelBorderEnabledDirty = false; - changed = true; + updateDrawer = true; } if (m_dirtyBits.labelTextColorDirty) { other.q_ptr->setLabelTextColor(m_textColor); m_dirtyBits.labelTextColorDirty = false; - changed = true; + updateDrawer = true; } if (m_dirtyBits.lightColorDirty) { other.q_ptr->setLightColor(m_lightColor); m_dirtyBits.lightColorDirty = false; - changed = true; } if (m_dirtyBits.lightStrengthDirty) { other.q_ptr->setLightStrength(m_lightStrength); m_dirtyBits.lightStrengthDirty = false; - changed = true; } if (m_dirtyBits.multiHighlightColorDirty) { other.q_ptr->setMultiHighlightColor(m_multiHighlightColor); m_dirtyBits.multiHighlightColorDirty = false; - changed = true; } if (m_dirtyBits.multiHighlightGradientDirty) { other.q_ptr->setMultiHighlightGradient(m_multiHighlightGradient); m_dirtyBits.multiHighlightGradientDirty = false; - changed = true; } if (m_dirtyBits.singleHighlightColorDirty) { other.q_ptr->setSingleHighlightColor(m_singleHighlightColor); m_dirtyBits.singleHighlightColorDirty = false; - changed = true; } if (m_dirtyBits.singleHighlightGradientDirty) { other.q_ptr->setSingleHighlightGradient(m_singleHighlightGradient); m_dirtyBits.singleHighlightGradientDirty = false; - changed = true; } if (m_dirtyBits.themeIdDirty) { other.m_themeId = m_themeId; // Set directly to avoid a call to ThemeManager's useTheme() m_dirtyBits.themeIdDirty = false; - changed = true; } if (m_dirtyBits.windowColorDirty) { other.q_ptr->setWindowColor(m_windowColor); m_dirtyBits.windowColorDirty = false; - changed = true; } - return changed; + + return updateDrawer; } QT_END_NAMESPACE_DATAVISUALIZATION -- cgit v1.2.3 From 51deca1429e1097be3108a5dc28a4897944fed1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Mon, 20 Jan 2014 09:43:57 +0200 Subject: References to alpha and TP removed + implemented the rest of lightColor Task-number: QTRD-2405 Change-Id: I38402b45cc4a567a79d07b23983567551d06b4fe Reviewed-by: Miikka Heikkinen --- .../doc/src/qtdatavisualization-index.qdoc | 3 +-- src/datavisualization/engine/bars3drenderer.cpp | 17 ++++++++++-- src/datavisualization/engine/scatter3drenderer.cpp | 19 +++++++++++--- src/datavisualization/engine/selectionpointer.cpp | 5 +++- src/datavisualization/engine/shaders/colorOnY.frag | 5 ++-- .../engine/shaders/colorOnY_ES2.frag | 5 ++-- src/datavisualization/engine/shaders/default.frag | 5 ++-- .../engine/shaders/default_ES2.frag | 5 ++-- src/datavisualization/engine/shaders/shadow.frag | 5 ++-- .../engine/shaders/shadowNoTex.frag | 5 ++-- .../engine/shaders/shadowNoTexColorOnY.frag | 5 ++-- src/datavisualization/engine/shaders/surface.frag | 5 ++-- .../engine/shaders/surfaceFlat.frag | 5 ++-- .../engine/shaders/surfaceShadowFlat.frag | 5 ++-- .../engine/shaders/surfaceShadowNoTex.frag | 5 ++-- .../engine/shaders/surface_ES2.frag | 5 ++-- src/datavisualization/engine/surface3drenderer.cpp | 30 +++++++++++++++++----- src/datavisualization/theme/q3dtheme.cpp | 7 +---- src/datavisualization/theme/q3dtheme.h | 3 +-- src/datavisualization/utils/shaderhelper.cpp | 8 ++++++ src/datavisualization/utils/shaderhelper_p.h | 2 ++ 21 files changed, 106 insertions(+), 48 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/doc/src/qtdatavisualization-index.qdoc b/src/datavisualization/doc/src/qtdatavisualization-index.qdoc index c37d98a4..e7bcc3d2 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-index.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-index.qdoc @@ -33,8 +33,7 @@ \li QML2 support \li Customizable axes for data - control viewable data window with axis ranges \li Customizable input handling - \li Customizable scene handling - full control of viewports - (upcoming feature - not fully supported in alpha) + \li Customizable scene handling \li Customizable themes \endlist diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 133ecea2..e7fcf57e 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -275,6 +275,7 @@ void Bars3DRenderer::drawSlicedScene() { GLfloat barPosX = 0; QVector3D lightPos; + QVector3D lightColor = Utils::vectorFromColor(m_cachedTheme->lightColor()); // Specify viewport glViewport(m_secondarySubViewport.x(), @@ -330,6 +331,7 @@ void Bars3DRenderer::drawSlicedScene() lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme->ambientLightStrength() * 2.3f); lineShader->setUniformValue(lineShader->lightS(), 0.0f); + lineShader->setUniformValue(lineShader->lightColor(), lightColor); if (rowMode) scaleFactor = (1.1f * m_rowWidth) / m_scaleFactor; @@ -441,6 +443,7 @@ void Bars3DRenderer::drawSlicedScene() m_barShader->setUniformValue(m_barShader->lightS(), 0.15f); m_barShader->setUniformValue(m_barShader->ambientS(), m_cachedTheme->ambientLightStrength() * 2.3f); + m_barShader->setUniformValue(m_barShader->lightColor(), lightColor); m_barGradientShader->bind(); m_barGradientShader->setUniformValue(m_barGradientShader->lightP(), lightPos); m_barGradientShader->setUniformValue(m_barGradientShader->view(), viewMatrix); @@ -448,6 +451,7 @@ void Bars3DRenderer::drawSlicedScene() m_barGradientShader->setUniformValue(m_barGradientShader->ambientS(), m_cachedTheme->ambientLightStrength() * 2.3f); m_barGradientShader->setUniformValue(m_barGradientShader->gradientMin(), 0.0f); + m_barGradientShader->setUniformValue(m_barGradientShader->lightColor(), lightColor); // Default to uniform shader ShaderHelper *barShader = m_barShader; @@ -711,6 +715,8 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) GLfloat colPos = 0; GLfloat rowPos = 0; + QVector3D lightColor = Utils::vectorFromColor(m_cachedTheme->lightColor()); + int seriesCount = m_visibleSeriesList.size(); const Q3DCamera *activeCamera = m_cachedScene->activeCamera(); @@ -722,7 +728,8 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) // Set up projection matrix QMatrix4x4 projectionMatrix; - GLfloat viewPortRatio = (GLfloat)m_primarySubViewport.width() / (GLfloat)m_primarySubViewport.height(); + GLfloat viewPortRatio = (GLfloat)m_primarySubViewport.width() + / (GLfloat)m_primarySubViewport.height(); projectionMatrix.perspective(45.0f, viewPortRatio, 0.1f, 100.0f); // Get the view matrix @@ -1026,6 +1033,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) m_barGradientShader->setUniformValue(m_barGradientShader->ambientS(), m_cachedTheme->ambientLightStrength()); m_barGradientShader->setUniformValue(m_barGradientShader->gradientMin(), 0.0f); + m_barGradientShader->setUniformValue(m_barGradientShader->lightColor(), lightColor); } if (haveUniformColorSeries) { @@ -1034,6 +1042,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) m_barShader->setUniformValue(m_barShader->view(), viewMatrix); m_barShader->setUniformValue(m_barShader->ambientS(), m_cachedTheme->ambientLightStrength()); + m_barShader->setUniformValue(m_barShader->lightColor(), lightColor); barShader = m_barShader; } else { barShader = m_barGradientShader; @@ -1264,6 +1273,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) barShader->setUniformValue(barShader->shadowQ(), m_shadowQualityToShader); barShader->setUniformValue(barShader->depth(), depthMVPMatrix); barShader->setUniformValue(barShader->lightS(), shadowLightStrength); + barShader->setUniformValue(barShader->lightColor(), lightColor); // Draw the object m_drawer->drawObject(barShader, barObj, gradientTexture, m_depthTexture); @@ -1326,6 +1336,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) m_backgroundShader->setUniformValue(m_backgroundShader->color(), backgroundColor); m_backgroundShader->setUniformValue(m_backgroundShader->ambientS(), m_cachedTheme->ambientLightStrength() * 2.0f); + m_backgroundShader->setUniformValue(m_backgroundShader->lightColor(), lightColor); #if !defined(QT_OPENGL_ES_2) if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { @@ -1408,6 +1419,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->view(), viewMatrix); lineShader->setUniformValue(lineShader->color(), barColor); lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme->ambientLightStrength()); + lineShader->setUniformValue(lineShader->lightColor(), lightColor); #if !defined(QT_OPENGL_ES_2) if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadowed shader bindings @@ -1821,7 +1833,8 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) labelText.replace(valueLabelTag, valueLabelText); } - labelText.replace(seriesNameTag, m_visibleSeriesList[m_visualSelectedBarSeriesIndex].name()); + labelText.replace(seriesNameTag, + m_visibleSeriesList[m_visualSelectedBarSeriesIndex].name()); selectedBar->setSelectionLabel(labelText); m_selectionLabelDirty = false; diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index ce9560c8..22910756 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -258,6 +258,8 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) const Q3DCamera *activeCamera = m_cachedScene->activeCamera(); + QVector3D lightColor = Utils::vectorFromColor(m_cachedTheme->lightColor()); + // Specify viewport glViewport(m_primarySubViewport.x(), m_primarySubViewport.y(), @@ -266,7 +268,8 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) // Set up projection matrix QMatrix4x4 projectionMatrix; - GLfloat viewPortRatio = (GLfloat)m_primarySubViewport.width() / (GLfloat)m_primarySubViewport.height(); + GLfloat viewPortRatio = (GLfloat)m_primarySubViewport.width() + / (GLfloat)m_primarySubViewport.height(); projectionMatrix.perspective(45.0f, viewPortRatio, 0.1f, 100.0f); // Calculate view matrix @@ -608,6 +611,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) m_dotGradientShader->setUniformValue(m_dotGradientShader->view(), viewMatrix); m_dotGradientShader->setUniformValue(m_dotGradientShader->ambientS(), m_cachedTheme->ambientLightStrength()); + m_dotGradientShader->setUniformValue(m_dotGradientShader->lightColor(), lightColor); } if (haveUniformColorMeshSeries) { m_dotShader->bind(); @@ -615,6 +619,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) m_dotShader->setUniformValue(m_dotShader->view(), viewMatrix); m_dotShader->setUniformValue(m_dotShader->ambientS(), m_cachedTheme->ambientLightStrength()); + m_dotShader->setUniformValue(m_dotShader->lightColor(), lightColor); dotShader = m_dotShader; } else { dotShader = m_dotGradientShader; @@ -829,6 +834,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) m_backgroundShader->setUniformValue(m_backgroundShader->color(), backgroundColor); m_backgroundShader->setUniformValue(m_backgroundShader->ambientS(), m_cachedTheme->ambientLightStrength() * 2.0f); + m_backgroundShader->setUniformValue(m_backgroundShader->lightColor(), lightColor); #if !defined(QT_OPENGL_ES_2) if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { @@ -878,6 +884,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->view(), viewMatrix); lineShader->setUniformValue(lineShader->color(), lineColor); lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme->ambientLightStrength()); + lineShader->setUniformValue(lineShader->lightColor(), lightColor); #if !defined(QT_OPENGL_ES_2) if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadowed shader bindings @@ -888,7 +895,8 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) #endif { // Set shadowless shader bindings - lineShader->setUniformValue(lineShader->lightS(), m_cachedTheme->lightStrength() / 2.5f); + lineShader->setUniformValue(lineShader->lightS(), + m_cachedTheme->lightStrength() / 2.5f); } QQuaternion lineYRotation = QQuaternion(); @@ -1692,7 +1700,8 @@ void Scatter3DRenderer::initShaders(const QString &vertexShader, const QString & m_dotShader->initialize(); } -void Scatter3DRenderer::initGradientShaders(const QString &vertexShader, const QString &fragmentShader) +void Scatter3DRenderer::initGradientShaders(const QString &vertexShader, + const QString &fragmentShader) { if (m_dotGradientShader) delete m_dotGradientShader; @@ -1789,7 +1798,9 @@ QVector3D Scatter3DRenderer::indexToSelectionColor(GLint index) return QVector3D(dotIdxRed, dotIdxGreen, dotIdxBlue); } -void Scatter3DRenderer::selectionColorToSeriesAndIndex(const QVector3D &color, int &index, QAbstract3DSeries *&series) +void Scatter3DRenderer::selectionColorToSeriesAndIndex(const QVector3D &color, + int &index, + QAbstract3DSeries *&series) { if (color != selectionSkipColor) { index = int(color.x()) diff --git a/src/datavisualization/engine/selectionpointer.cpp b/src/datavisualization/engine/selectionpointer.cpp index 7a47c43f..9cc13224 100644 --- a/src/datavisualization/engine/selectionpointer.cpp +++ b/src/datavisualization/engine/selectionpointer.cpp @@ -134,8 +134,11 @@ void SelectionPointer::render(GLuint defaultFboHandle) m_pointShader->setUniformValue(m_pointShader->nModel(), itModelMatrix.inverted().transposed()); m_pointShader->setUniformValue(m_pointShader->color(), m_highlightColor); m_pointShader->setUniformValue(m_pointShader->MVP(), MVPMatrix); - m_pointShader->setUniformValue(m_pointShader->ambientS(), m_cachedTheme->ambientLightStrength()); + m_pointShader->setUniformValue(m_pointShader->ambientS(), + m_cachedTheme->ambientLightStrength()); m_pointShader->setUniformValue(m_pointShader->lightS(), m_cachedTheme->lightStrength() * 2.0f); + m_pointShader->setUniformValue(m_pointShader->lightColor(), + Utils::vectorFromColor(m_cachedTheme->lightColor())); m_drawer->drawObject(m_pointShader, m_pointObj); diff --git a/src/datavisualization/engine/shaders/colorOnY.frag b/src/datavisualization/engine/shaders/colorOnY.frag index caea959b..8c610cd7 100644 --- a/src/datavisualization/engine/shaders/colorOnY.frag +++ b/src/datavisualization/engine/shaders/colorOnY.frag @@ -6,6 +6,7 @@ uniform highp float ambientStrength; uniform sampler2D textureSampler; uniform highp float gradMin; uniform highp float gradHeight; +uniform highp vec3 lightColor; varying highp vec3 position_wrld; varying highp vec3 normal_cmr; @@ -16,8 +17,8 @@ varying highp vec2 coords_mdl; void main() { highp vec2 gradientUV = vec2(0.0, gradMin + ((coords_mdl.y + 1.0) * gradHeight)); highp vec3 materialDiffuseColor = texture2D(textureSampler, gradientUV).xyz; - highp vec3 materialAmbientColor = vec3(ambientStrength, ambientStrength, ambientStrength) * materialDiffuseColor; - highp vec3 materialSpecularColor = vec3(1.0, 1.0, 1.0); + highp vec3 materialAmbientColor = lightColor * ambientStrength * materialDiffuseColor; + highp vec3 materialSpecularColor = lightColor; highp float distance = length(lightPosition_wrld - position_wrld); highp vec3 n = normalize(normal_cmr); diff --git a/src/datavisualization/engine/shaders/colorOnY_ES2.frag b/src/datavisualization/engine/shaders/colorOnY_ES2.frag index bb6e28c7..5b553562 100644 --- a/src/datavisualization/engine/shaders/colorOnY_ES2.frag +++ b/src/datavisualization/engine/shaders/colorOnY_ES2.frag @@ -4,6 +4,7 @@ uniform highp float ambientStrength; uniform sampler2D textureSampler; uniform highp float gradMin; uniform highp float gradHeight; +uniform highp vec3 lightColor; varying highp vec3 position_wrld; varying highp vec3 normal_cmr; @@ -14,8 +15,8 @@ varying highp vec2 coords_mdl; void main() { highp vec2 gradientUV = vec2(0.0, gradMin + ((coords_mdl.y + 1.0) * gradHeight)); highp vec3 materialDiffuseColor = texture2D(textureSampler, gradientUV).xyz; - highp vec3 materialAmbientColor = vec3(ambientStrength, ambientStrength, ambientStrength) * materialDiffuseColor; - highp vec3 materialSpecularColor = vec3(1.0, 1.0, 1.0); + highp vec3 materialAmbientColor = lightColor * ambientStrength * materialDiffuseColor; + highp vec3 materialSpecularColor = lightColor; highp float distance = length(lightPosition_wrld - position_wrld); highp vec3 n = normalize(normal_cmr); diff --git a/src/datavisualization/engine/shaders/default.frag b/src/datavisualization/engine/shaders/default.frag index fba1ce4a..ca6fefb9 100644 --- a/src/datavisualization/engine/shaders/default.frag +++ b/src/datavisualization/engine/shaders/default.frag @@ -11,11 +11,12 @@ uniform highp vec3 lightPosition_wrld; uniform highp vec3 color_mdl; uniform highp float lightStrength; uniform highp float ambientStrength; +uniform highp vec3 lightColor; void main() { highp vec3 materialDiffuseColor = color_mdl.rgb; - highp vec3 materialAmbientColor = vec3(ambientStrength, ambientStrength, ambientStrength) * materialDiffuseColor; - highp vec3 materialSpecularColor = vec3(1.0, 1.0, 1.0); + highp vec3 materialAmbientColor = lightColor * ambientStrength * materialDiffuseColor; + highp vec3 materialSpecularColor = lightColor; highp float distance = length(lightPosition_wrld - position_wrld); diff --git a/src/datavisualization/engine/shaders/default_ES2.frag b/src/datavisualization/engine/shaders/default_ES2.frag index 7d6214b2..bc5c18b6 100644 --- a/src/datavisualization/engine/shaders/default_ES2.frag +++ b/src/datavisualization/engine/shaders/default_ES2.frag @@ -9,11 +9,12 @@ uniform highp vec3 lightPosition_wrld; uniform highp vec3 color_mdl; uniform highp float lightStrength; uniform highp float ambientStrength; +uniform highp vec3 lightColor; void main() { highp vec3 materialDiffuseColor = color_mdl.rgb; - highp vec3 materialAmbientColor = vec3(ambientStrength, ambientStrength, ambientStrength) * materialDiffuseColor; - highp vec3 materialSpecularColor = vec3(1.0, 1.0, 1.0); + highp vec3 materialAmbientColor = lightColor * ambientStrength * materialDiffuseColor; + highp vec3 materialSpecularColor = lightColor; highp float distance = length(lightPosition_wrld - position_wrld); diff --git a/src/datavisualization/engine/shaders/shadow.frag b/src/datavisualization/engine/shaders/shadow.frag index 5309b5bb..6d212c08 100644 --- a/src/datavisualization/engine/shaders/shadow.frag +++ b/src/datavisualization/engine/shaders/shadow.frag @@ -5,6 +5,7 @@ uniform highp float ambientStrength; uniform highp float shadowQuality; uniform highp sampler2D textureSampler; uniform highp sampler2DShadow shadowMap; +uniform highp vec3 lightColor; varying highp vec4 shadowCoord; varying highp vec2 UV; @@ -38,8 +39,8 @@ highp vec2 poissonDisk[16] = vec2[16](vec2(-0.94201624, -0.39906216), void main() { highp vec3 materialDiffuseColor = texture2D(textureSampler, UV).rgb; - highp vec3 materialAmbientColor = vec3(ambientStrength, ambientStrength, ambientStrength) * materialDiffuseColor; - highp vec3 materialSpecularColor = vec3(0.2, 0.2, 0.2); + highp vec3 materialAmbientColor = lightColor * ambientStrength * materialDiffuseColor; + highp vec3 materialSpecularColor = lightColor * 0.2; highp vec3 n = normalize(normal_cmr); highp vec3 l = normalize(lightDirection_cmr); diff --git a/src/datavisualization/engine/shaders/shadowNoTex.frag b/src/datavisualization/engine/shaders/shadowNoTex.frag index 0252ba49..12e86cb3 100644 --- a/src/datavisualization/engine/shaders/shadowNoTex.frag +++ b/src/datavisualization/engine/shaders/shadowNoTex.frag @@ -5,6 +5,7 @@ uniform highp float ambientStrength; uniform highp float shadowQuality; uniform highp vec3 color_mdl; uniform highp sampler2DShadow shadowMap; +uniform highp vec3 lightColor; varying highp vec4 shadowCoord; varying highp vec3 position_wrld; @@ -54,8 +55,8 @@ highp vec2 poissonDisk[16] = vec2[16](vec2(-0.94201624, -0.39906216), void main() { highp vec3 materialDiffuseColor = color_mdl.rgb; - highp vec3 materialAmbientColor = vec3(ambientStrength, ambientStrength, ambientStrength) * materialDiffuseColor; - highp vec3 materialSpecularColor = vec3(1.0, 1.0, 1.0); + highp vec3 materialAmbientColor = lightColor * ambientStrength * materialDiffuseColor; + highp vec3 materialSpecularColor = lightColor; highp vec3 n = normalize(normal_cmr); highp vec3 l = normalize(lightDirection_cmr); diff --git a/src/datavisualization/engine/shaders/shadowNoTexColorOnY.frag b/src/datavisualization/engine/shaders/shadowNoTexColorOnY.frag index 9882cd92..5da1afc1 100644 --- a/src/datavisualization/engine/shaders/shadowNoTexColorOnY.frag +++ b/src/datavisualization/engine/shaders/shadowNoTexColorOnY.frag @@ -7,6 +7,7 @@ uniform highp sampler2DShadow shadowMap; uniform sampler2D textureSampler; uniform highp float gradMin; uniform highp float gradHeight; +uniform highp vec3 lightColor; varying highp vec4 shadowCoord; varying highp vec3 position_wrld; @@ -41,8 +42,8 @@ highp vec2 poissonDisk[16] = vec2[16](vec2(-0.94201624, -0.39906216), void main() { highp vec2 gradientUV = vec2(0.0, gradMin + ((coords_mdl.y + 1.0) * gradHeight)); highp vec3 materialDiffuseColor = texture2D(textureSampler, gradientUV).xyz; - highp vec3 materialAmbientColor = vec3(ambientStrength, ambientStrength, ambientStrength) * materialDiffuseColor; - highp vec3 materialSpecularColor = vec3(1.0, 1.0, 1.0); + highp vec3 materialAmbientColor = lightColor * ambientStrength * materialDiffuseColor; + highp vec3 materialSpecularColor = lightColor; highp vec3 n = normalize(normal_cmr); highp vec3 l = normalize(lightDirection_cmr); diff --git a/src/datavisualization/engine/shaders/surface.frag b/src/datavisualization/engine/shaders/surface.frag index 576cc51f..b5205d2d 100644 --- a/src/datavisualization/engine/shaders/surface.frag +++ b/src/datavisualization/engine/shaders/surface.frag @@ -10,12 +10,13 @@ uniform sampler2D textureSampler; uniform highp vec3 lightPosition_wrld; uniform highp float lightStrength; uniform highp float ambientStrength; +uniform highp vec3 lightColor; void main() { highp vec2 gradientUV = vec2(0.0, (coords_mdl.y + 1.0) / 2.0); highp vec3 materialDiffuseColor = texture2D(textureSampler, gradientUV).xyz; - highp vec3 materialAmbientColor = vec3(ambientStrength, ambientStrength, ambientStrength) * materialDiffuseColor; - highp vec3 materialSpecularColor = vec3(1.0, 1.0, 1.0); + highp vec3 materialAmbientColor = lightColor * ambientStrength * materialDiffuseColor; + highp vec3 materialSpecularColor = lightColor; highp float distance = length(lightPosition_wrld - position_wrld); diff --git a/src/datavisualization/engine/shaders/surfaceFlat.frag b/src/datavisualization/engine/shaders/surfaceFlat.frag index fd42a289..7eaa917f 100644 --- a/src/datavisualization/engine/shaders/surfaceFlat.frag +++ b/src/datavisualization/engine/shaders/surfaceFlat.frag @@ -12,12 +12,13 @@ uniform sampler2D textureSampler; uniform highp vec3 lightPosition_wrld; uniform highp float lightStrength; uniform highp float ambientStrength; +uniform highp vec3 lightColor; void main() { highp vec2 gradientUV = vec2(0.0, (coords_mdl.y + 1.0) / 2.0); highp vec3 materialDiffuseColor = texture2D(textureSampler, gradientUV).xyz; - highp vec3 materialAmbientColor = vec3(ambientStrength, ambientStrength, ambientStrength) * materialDiffuseColor; - highp vec3 materialSpecularColor = vec3(1.0, 1.0, 1.0); + highp vec3 materialAmbientColor = lightColor * ambientStrength * materialDiffuseColor; + highp vec3 materialSpecularColor = lightColor; highp float distance = length(lightPosition_wrld - position_wrld); diff --git a/src/datavisualization/engine/shaders/surfaceShadowFlat.frag b/src/datavisualization/engine/shaders/surfaceShadowFlat.frag index 6341136e..b2f2af74 100644 --- a/src/datavisualization/engine/shaders/surfaceShadowFlat.frag +++ b/src/datavisualization/engine/shaders/surfaceShadowFlat.frag @@ -15,6 +15,7 @@ uniform highp vec3 lightPosition_wrld; uniform highp float lightStrength; uniform highp float ambientStrength; uniform highp float shadowQuality; +uniform highp vec3 lightColor; highp vec2 poissonDisk[16] = vec2[16](vec2(-0.94201624, -0.39906216), vec2(0.94558609, -0.76890725), @@ -36,8 +37,8 @@ highp vec2 poissonDisk[16] = vec2[16](vec2(-0.94201624, -0.39906216), void main() { highp vec2 gradientUV = vec2(0.0, (coords_mdl.y + 1.0) / 2.0); highp vec3 materialDiffuseColor = texture2D(textureSampler, gradientUV).xyz; - highp vec3 materialAmbientColor = vec3(ambientStrength, ambientStrength, ambientStrength) * materialDiffuseColor; - highp vec3 materialSpecularColor = vec3(1.0, 1.0, 1.0); + highp vec3 materialAmbientColor = lightColor * ambientStrength * materialDiffuseColor; + highp vec3 materialSpecularColor = lightColor; highp vec3 n = normalize(normal_cmr); highp vec3 l = normalize(lightDirection_cmr); diff --git a/src/datavisualization/engine/shaders/surfaceShadowNoTex.frag b/src/datavisualization/engine/shaders/surfaceShadowNoTex.frag index 755be3f1..004208bf 100644 --- a/src/datavisualization/engine/shaders/surfaceShadowNoTex.frag +++ b/src/datavisualization/engine/shaders/surfaceShadowNoTex.frag @@ -13,6 +13,7 @@ uniform highp vec3 lightPosition_wrld; uniform highp float lightStrength; uniform highp float ambientStrength; uniform highp float shadowQuality; +uniform highp vec3 lightColor; highp vec2 poissonDisk[16] = vec2[16](vec2(-0.94201624, -0.39906216), vec2(0.94558609, -0.76890725), @@ -34,8 +35,8 @@ highp vec2 poissonDisk[16] = vec2[16](vec2(-0.94201624, -0.39906216), void main() { highp vec2 gradientUV = vec2(0.0, (coords_mdl.y + 1.0) / 2.0); highp vec3 materialDiffuseColor = texture2D(textureSampler, gradientUV).xyz; - highp vec3 materialAmbientColor = vec3(ambientStrength, ambientStrength, ambientStrength) * materialDiffuseColor; - highp vec3 materialSpecularColor = vec3(1.0, 1.0, 1.0); + highp vec3 materialAmbientColor = lightColor * ambientStrength * materialDiffuseColor; + highp vec3 materialSpecularColor = lightColor; highp vec3 n = normalize(normal_cmr); highp vec3 l = normalize(lightDirection_cmr); diff --git a/src/datavisualization/engine/shaders/surface_ES2.frag b/src/datavisualization/engine/shaders/surface_ES2.frag index c7e75594..0e17cacd 100644 --- a/src/datavisualization/engine/shaders/surface_ES2.frag +++ b/src/datavisualization/engine/shaders/surface_ES2.frag @@ -9,12 +9,13 @@ uniform sampler2D textureSampler; uniform highp vec3 lightPosition_wrld; uniform highp float lightStrength; uniform highp float ambientStrength; +uniform highp vec3 lightColor; void main() { highp vec2 gradientUV = vec2(0.0, (coords_mdl.y + 1.0) / 2.0); highp vec3 materialDiffuseColor = texture2D(textureSampler, gradientUV).xyz; - highp vec3 materialAmbientColor = vec3(ambientStrength, ambientStrength, ambientStrength) * materialDiffuseColor; - highp vec3 materialSpecularColor = vec3(1.0, 1.0, 1.0); + highp vec3 materialAmbientColor = lightColor * ambientStrength * materialDiffuseColor; + highp vec3 materialSpecularColor = lightColor; highp float distance = length(lightPosition_wrld - position_wrld); diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 45eb3391..b65cea83 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -567,6 +567,8 @@ void Surface3DRenderer::drawSlicedScene() { QVector3D lightPos; + QVector3D lightColor = Utils::vectorFromColor(m_cachedTheme->lightColor()); + // Specify viewport glViewport(m_secondarySubViewport.x(), m_secondarySubViewport.y(), @@ -642,6 +644,7 @@ void Surface3DRenderer::drawSlicedScene() surfaceShader->setUniformValue(surfaceShader->lightS(), 0.15f); surfaceShader->setUniformValue(surfaceShader->ambientS(), m_cachedTheme->ambientLightStrength() * 2.3f); + surfaceShader->setUniformValue(surfaceShader->lightColor(), lightColor); m_drawer->drawObject(surfaceShader, m_sliceSurfaceObj, baseGradientTexture); } @@ -674,6 +677,7 @@ void Surface3DRenderer::drawSlicedScene() lineShader->setUniformValue(lineShader->color(), lineColor); lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme->ambientLightStrength() * 2.3f); lineShader->setUniformValue(lineShader->lightS(), 0.0f); + lineShader->setUniformValue(lineShader->lightColor(), lightColor); // Horizontal lines if (m_axisCacheY.segmentCount() > 0) { @@ -832,6 +836,8 @@ void Surface3DRenderer::drawSlicedScene() void Surface3DRenderer::drawScene(GLuint defaultFboHandle) { GLfloat backgroundRotation = 0; + QVector3D lightColor = Utils::vectorFromColor(m_cachedTheme->lightColor()); + glViewport(m_primarySubViewport.x(), m_primarySubViewport.y(), m_primarySubViewport.width(), @@ -881,13 +887,15 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) // Draw depth buffer #if !defined(QT_OPENGL_ES_2) GLfloat adjustedLightStrength = m_cachedTheme->lightStrength() / 10.0f; - if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone && m_surfaceObj && m_cachedSurfaceVisible) { + if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone && m_surfaceObj + && m_cachedSurfaceVisible) { // Render scene into a depth texture for using with shadow mapping // Enable drawing to depth framebuffer glBindFramebuffer(GL_FRAMEBUFFER, m_depthFrameBuffer); // Attach texture to depth attachment - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, m_depthTexture, 0); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, + m_depthTexture, 0); glClear(GL_DEPTH_BUFFER_BIT); // Bind depth shader @@ -948,7 +956,8 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) glEnable(GL_CULL_FACE); glCullFace(GL_FRONT); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, m_depthModelTexture, 0); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, + m_depthModelTexture, 0); glClear(GL_DEPTH_BUFFER_BIT); // Draw the triangles @@ -1083,6 +1092,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) m_surfaceShader->setUniformValue(m_surfaceShader->MVP(), MVPMatrix); m_surfaceShader->setUniformValue(m_surfaceShader->ambientS(), m_cachedTheme->ambientLightStrength()); + m_surfaceShader->setUniformValue(m_surfaceShader->lightColor(), lightColor); // TODO: Do properly when multiseries support implemented QTRD-2657 GLuint gradientTexture; @@ -1095,12 +1105,14 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; - m_surfaceShader->setUniformValue(m_surfaceShader->shadowQ(), m_shadowQualityToShader); + m_surfaceShader->setUniformValue(m_surfaceShader->shadowQ(), + m_shadowQualityToShader); m_surfaceShader->setUniformValue(m_surfaceShader->depth(), depthMVPMatrix); m_surfaceShader->setUniformValue(m_surfaceShader->lightS(), adjustedLightStrength); // Draw the object - m_drawer->drawObject(m_surfaceShader, m_surfaceObj, gradientTexture, m_depthModelTexture); + m_drawer->drawObject(m_surfaceShader, m_surfaceObj, gradientTexture, + m_depthModelTexture); } else #endif { @@ -1167,6 +1179,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) m_backgroundShader->setUniformValue(m_backgroundShader->color(), backgroundColor); m_backgroundShader->setUniformValue(m_backgroundShader->ambientS(), m_cachedTheme->ambientLightStrength() * 2.0f); + m_backgroundShader->setUniformValue(m_backgroundShader->lightColor(), lightColor); #if !defined(QT_OPENGL_ES_2) if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { @@ -1209,6 +1222,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->view(), viewMatrix); lineShader->setUniformValue(lineShader->color(), lineColor); lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme->ambientLightStrength()); + lineShader->setUniformValue(lineShader->lightColor(), lightColor); #if !defined(QT_OPENGL_ES_2) if (m_cachedShadowQuality > QAbstract3DGraph::ShadowQualityNone) { // Set shadowed shader bindings @@ -1219,7 +1233,8 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) #endif { // Set shadowless shader bindings - lineShader->setUniformValue(lineShader->lightS(), m_cachedTheme->lightStrength() / 2.5f); + lineShader->setUniformValue(lineShader->lightS(), + m_cachedTheme->lightStrength() / 2.5f); } QQuaternion lineYRotation = QQuaternion(); @@ -2173,7 +2188,8 @@ void Surface3DRenderer::updateDepthBuffer() m_depthTexture = m_textureHelper->createDepthTextureFrameBuffer(m_primarySubViewport.size(), m_depthFrameBuffer, m_shadowQualityMultiplier); - m_textureHelper->fillDepthTexture(m_depthTexture, m_primarySubViewport.size(), m_shadowQualityMultiplier, 1.0f); + m_textureHelper->fillDepthTexture(m_depthTexture, m_primarySubViewport.size(), + m_shadowQualityMultiplier, 1.0f); m_depthModelTexture = m_textureHelper->createDepthTexture(m_primarySubViewport.size(), m_shadowQualityMultiplier); if (!m_depthTexture || !m_depthModelTexture) diff --git a/src/datavisualization/theme/q3dtheme.cpp b/src/datavisualization/theme/q3dtheme.cpp index 1d331efc..34c86108 100644 --- a/src/datavisualization/theme/q3dtheme.cpp +++ b/src/datavisualization/theme/q3dtheme.cpp @@ -111,8 +111,7 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * \li Qt::white * \row * \li lightColor - * \li The color of the specular light. Doesn't affect ambient light. \note Not yet supported - * in alpha release. + * \li The color of the light. Affects both ambient and specular light. * \li Qt::white * \row * \li lightStrength @@ -295,8 +294,6 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * \qmlproperty Color Theme3D::lightColor * * Color for the specular light defined in Scene3D. - * - * \warning Not supported in alpha release. */ /*! @@ -596,8 +593,6 @@ QColor Q3DTheme::multiHighlightColor() const * \property Q3DTheme::lightColor * * Color for the specular light defined in Q3DScene. - * - * \warning Not supported in alpha release. */ void Q3DTheme::setLightColor(const QColor &color) { diff --git a/src/datavisualization/theme/q3dtheme.h b/src/datavisualization/theme/q3dtheme.h index 9baec05d..e023c76e 100644 --- a/src/datavisualization/theme/q3dtheme.h +++ b/src/datavisualization/theme/q3dtheme.h @@ -43,7 +43,7 @@ class QT_DATAVISUALIZATION_EXPORT Q3DTheme : public QObject Q_PROPERTY(QColor gridLineColor READ gridLineColor WRITE setGridLineColor NOTIFY gridLineColorChanged) Q_PROPERTY(QColor singleHighlightColor READ singleHighlightColor WRITE setSingleHighlightColor NOTIFY singleHighlightColorChanged) Q_PROPERTY(QColor multiHighlightColor READ multiHighlightColor WRITE setMultiHighlightColor NOTIFY multiHighlightColorChanged) - Q_PROPERTY(QColor lightColor READ lightColor WRITE setLightColor NOTIFY lightColorChanged) // TODO: Not used yet + Q_PROPERTY(QColor lightColor READ lightColor WRITE setLightColor NOTIFY lightColorChanged) Q_PROPERTY(QList baseGradients READ baseGradients WRITE setBaseGradients NOTIFY baseGradientsChanged) Q_PROPERTY(QLinearGradient singleHighlightGradient READ singleHighlightGradient WRITE setSingleHighlightGradient NOTIFY singleHighlightGradientChanged) Q_PROPERTY(QLinearGradient multiHighlightGradient READ multiHighlightGradient WRITE setMultiHighlightGradient NOTIFY multiHighlightGradientChanged) @@ -56,7 +56,6 @@ class QT_DATAVISUALIZATION_EXPORT Q3DTheme : public QObject Q_PROPERTY(bool gridEnabled READ isGridEnabled WRITE setGridEnabled NOTIFY gridEnabledChanged) Q_PROPERTY(bool labelBackgroundEnabled READ isLabelBackgroundEnabled WRITE setLabelBackgroundEnabled NOTIFY labelBackgroundEnabledChanged) Q_PROPERTY(ColorStyle colorStyle READ colorStyle WRITE setColorStyle NOTIFY colorStyleChanged) - // TODO: Add everything we need (specularIntensity, lightDegradation, shaders?) public: enum ColorStyle { diff --git a/src/datavisualization/utils/shaderhelper.cpp b/src/datavisualization/utils/shaderhelper.cpp index adc24e8d..37027e6f 100644 --- a/src/datavisualization/utils/shaderhelper.cpp +++ b/src/datavisualization/utils/shaderhelper.cpp @@ -92,6 +92,7 @@ void ShaderHelper::initialize() m_shadowUniform = m_program->uniformLocation("shadowMap"); m_gradientMinUniform = m_program->uniformLocation("gradMin"); m_gradientHeightUniform = m_program->uniformLocation("gradHeight"); + m_lightColorUniform = m_program->uniformLocation("lightColor"); m_initialized = true; } @@ -247,6 +248,13 @@ GLuint ShaderHelper::gradientHeight() return m_gradientHeightUniform; } +GLuint ShaderHelper::lightColor() +{ + if (!m_initialized) + qFatal("Shader not initialized"); + return m_lightColorUniform; +} + GLuint ShaderHelper::posAtt() { if (!m_initialized) diff --git a/src/datavisualization/utils/shaderhelper_p.h b/src/datavisualization/utils/shaderhelper_p.h index b4c71ca2..2984f7d6 100644 --- a/src/datavisualization/utils/shaderhelper_p.h +++ b/src/datavisualization/utils/shaderhelper_p.h @@ -73,6 +73,7 @@ class ShaderHelper GLuint shadow(); GLuint gradientMin(); GLuint gradientHeight(); + GLuint lightColor(); GLuint posAtt(); GLuint uvAtt(); @@ -106,6 +107,7 @@ class ShaderHelper GLuint m_shadowUniform; GLuint m_gradientMinUniform; GLuint m_gradientHeightUniform; + GLuint m_lightColorUniform; GLboolean m_initialized; }; -- cgit v1.2.3 From 818e29d4c4fd4344df20328ec3fe693acc67e11a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Mon, 20 Jan 2014 10:02:22 +0200 Subject: Fixed disappearing of shadows on background Task-number: QTRD-2627 Change-Id: Iac3ce3628382cc2416f842966591bc1b7f1dcbd2 Change-Id: Iac3ce3628382cc2416f842966591bc1b7f1dcbd2 Reviewed-by: Miikka Heikkinen --- src/datavisualization/engine/shaders/shadow.frag | 22 ++---------- .../engine/shaders/shadowNoTex.frag | 39 ++-------------------- .../engine/shaders/shadowNoTexColorOnY.frag | 21 ++---------- .../engine/shaders/surfaceShadowFlat.frag | 3 +- .../engine/shaders/surfaceShadowNoTex.frag | 3 +- 5 files changed, 13 insertions(+), 75 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/shaders/shadow.frag b/src/datavisualization/engine/shaders/shadow.frag index 6d212c08..e2286dc5 100644 --- a/src/datavisualization/engine/shaders/shadow.frag +++ b/src/datavisualization/engine/shaders/shadow.frag @@ -31,12 +31,6 @@ highp vec2 poissonDisk[16] = vec2[16](vec2(-0.94201624, -0.39906216), vec2(0.19984126, 0.78641367), vec2(0.14383161, -0.14100790)); -/*float random(vec3 seed, int i) { - vec4 seed4 = vec4(seed, i); - float dot_product = dot(seed4, vec4(12.9898, 78.233, 45.164, 94.673)); - return fract(sin(dot_product) * 43758.5453); -}*/ - void main() { highp vec3 materialDiffuseColor = texture2D(textureSampler, UV).rgb; highp vec3 materialAmbientColor = lightColor * ambientStrength * materialDiffuseColor; @@ -55,10 +49,7 @@ void main() { vec4 shadCoords = shadowCoord; shadCoords.z -= bias; - // adjust shadow strength by increasing the multiplier and lowering the addition (their sum must be 1) - // direct method; needs large shadow texture to look good - //highp float visibility = 0.75 * shadow2DProj(shadowMap, shadCoords).r + 0.25; - // poisson disk sampling; smoothes edges + highp float visibility = 0.6; for (int i = 0; i < 15; i++) { vec4 shadCoordsPD = shadCoords; @@ -66,18 +57,11 @@ void main() { shadCoordsPD.y += sin(poissonDisk[i].y) / shadowQuality; visibility += 0.025 * shadow2DProj(shadowMap, shadCoordsPD).r; } - // stratified poisson; produces noise but hides pixel edges well - /*for (int i = 0; i < 15; i++) { - vec4 shadCoordsPD = shadCoords; - int index = int(16.0 * random(gl_FragCoord.xyy, i)); - shadCoordsPD.xy += poissonDisk[index] / 150.0; - visibility += 0.05 * shadow2DProj(shadowMap, shadCoordsPD).r; - } - */ gl_FragColor.rgb = - visibility * (materialAmbientColor + + (materialAmbientColor + materialDiffuseColor * lightStrength * cosTheta + materialSpecularColor * lightStrength * pow(cosAlpha, 10)); gl_FragColor.a = texture2D(textureSampler, UV).a; + gl_FragColor.rgb = visibility * clamp(gl_FragColor.rgb, 0.0, 1.0); } diff --git a/src/datavisualization/engine/shaders/shadowNoTex.frag b/src/datavisualization/engine/shaders/shadowNoTex.frag index 12e86cb3..d54efea9 100644 --- a/src/datavisualization/engine/shaders/shadowNoTex.frag +++ b/src/datavisualization/engine/shaders/shadowNoTex.frag @@ -30,29 +30,6 @@ highp vec2 poissonDisk[16] = vec2[16](vec2(-0.94201624, -0.39906216), vec2(0.19984126, 0.78641367), vec2(0.14383161, -0.14100790)); -/*highp vec2 poissonDisk[16] = vec2[16](vec2(-0.25, -0.25), - vec2(0.25, -0.25), - vec2(-0.25, 0.25), - vec2(0.25, 0.25), - vec2(-0.5, -0.5), - vec2(0.5, -0.5), - vec2(-0.5, 0.5), - vec2(0.5, 0.5), - vec2(-0.75, -0.75), - vec2(0.75, -0.75), - vec2(-0.75, 0.75), - vec2(0.75, 0.75), - vec2(-1.0, -1.0), - vec2(1.0, -1.0), - vec2(-1.0, 1.0), - vec2(1.0, 1.0));*/ - -/*float random(vec3 seed, int i) { - vec4 seed4 = vec4(seed, i); - float dot_product = dot(seed4, vec4(12.9898, 78.233, 45.164, 94.673)); - return fract(sin(dot_product) * 43758.5453); -}*/ - void main() { highp vec3 materialDiffuseColor = color_mdl.rgb; highp vec3 materialAmbientColor = lightColor * ambientStrength * materialDiffuseColor; @@ -71,10 +48,7 @@ void main() { vec4 shadCoords = shadowCoord; shadCoords.z -= bias; - // adjust shadow strength by increasing the multiplier and lowering the addition (their sum must be 1) - // direct method; needs large shadow texture to look good - //highp float visibility = 0.75 * shadow2DProj(shadowMap, shadCoords).r + 0.25; - // poisson disk sampling; smoothes edges + highp float visibility = 0.6; for (int i = 0; i < 15; i++) { vec4 shadCoordsPD = shadCoords; @@ -82,18 +56,11 @@ void main() { shadCoordsPD.y += sin(poissonDisk[i].y) / shadowQuality; visibility += 0.025 * shadow2DProj(shadowMap, shadCoordsPD).r; } - // stratified poisson; produces noise but hides pixel edges well - /*for (int i = 0; i < 15; i++) { - vec4 shadCoordsPD = shadCoords; - int index = int(16.0 * random(gl_FragCoord.xyy, i)); - shadCoordsPD.xy += poissonDisk[index] / 150.0; - visibility += 0.05 * shadow2DProj(shadowMap, shadCoordsPD).r; - } - */ gl_FragColor.rgb = - visibility * (materialAmbientColor + + (materialAmbientColor + materialDiffuseColor * lightStrength * cosTheta + materialSpecularColor * lightStrength * pow(cosAlpha, 10)); gl_FragColor.a = 1.0; + gl_FragColor.rgb = visibility * clamp(gl_FragColor.rgb, 0.0, 1.0); } diff --git a/src/datavisualization/engine/shaders/shadowNoTexColorOnY.frag b/src/datavisualization/engine/shaders/shadowNoTexColorOnY.frag index 5da1afc1..e986a52a 100644 --- a/src/datavisualization/engine/shaders/shadowNoTexColorOnY.frag +++ b/src/datavisualization/engine/shaders/shadowNoTexColorOnY.frag @@ -33,12 +33,6 @@ highp vec2 poissonDisk[16] = vec2[16](vec2(-0.94201624, -0.39906216), vec2(0.19984126, 0.78641367), vec2(0.14383161, -0.14100790)); -/*float random(vec3 seed, int i) { - vec4 seed4 = vec4(seed, i); - float dot_product = dot(seed4, vec4(12.9898, 78.233, 45.164, 94.673)); - return fract(sin(dot_product) * 43758.5453); -}*/ - void main() { highp vec2 gradientUV = vec2(0.0, gradMin + ((coords_mdl.y + 1.0) * gradHeight)); highp vec3 materialDiffuseColor = texture2D(textureSampler, gradientUV).xyz; @@ -58,10 +52,7 @@ void main() { vec4 shadCoords = shadowCoord; shadCoords.z -= bias; - // adjust shadow strength by increasing the multiplier and lowering the addition (their sum must be 1) - // direct method; needs large shadow texture to look good - //highp float visibility = 0.75 * shadow2DProj(shadowMap, shadCoords).r + 0.25; - // poisson disk sampling; smoothes edges + highp float visibility = 0.6; for (int i = 0; i < 15; i++) { vec4 shadCoordsPD = shadCoords; @@ -69,17 +60,11 @@ void main() { shadCoordsPD.y += sin(poissonDisk[i].y) / shadowQuality; visibility += 0.025 * shadow2DProj(shadowMap, shadCoordsPD).r; } - /*for (int i = 0; i < 15; i++) { - vec4 shadCoordsPD = shadCoords; - int index = int(16.0 * random(gl_FragCoord.xyy, i)); - shadCoordsPD.xy += poissonDisk[index] / 150.0; - visibility += 0.05 * shadow2DProj(shadowMap, shadCoordsPD).r; - }*/ gl_FragColor.rgb = - visibility * (materialAmbientColor + + (materialAmbientColor + materialDiffuseColor * lightStrength * cosTheta + materialSpecularColor * lightStrength * pow(cosAlpha, 10)); - gl_FragColor.rgb = clamp(gl_FragColor.rgb, 0.0, 1.0); gl_FragColor.a = 1.0; + gl_FragColor.rgb = visibility * clamp(gl_FragColor.rgb, 0.0, 1.0); } diff --git a/src/datavisualization/engine/shaders/surfaceShadowFlat.frag b/src/datavisualization/engine/shaders/surfaceShadowFlat.frag index b2f2af74..9b9305ab 100644 --- a/src/datavisualization/engine/shaders/surfaceShadowFlat.frag +++ b/src/datavisualization/engine/shaders/surfaceShadowFlat.frag @@ -63,9 +63,10 @@ void main() { } gl_FragColor.rgb = - visibility * (materialAmbientColor + + (materialAmbientColor + materialDiffuseColor * lightStrength * cosTheta + materialSpecularColor * lightStrength * pow(cosAlpha, 10)); gl_FragColor.a = 1.0; + gl_FragColor.rgb = visibility * clamp(gl_FragColor.rgb, 0.0, 1.0); } diff --git a/src/datavisualization/engine/shaders/surfaceShadowNoTex.frag b/src/datavisualization/engine/shaders/surfaceShadowNoTex.frag index 004208bf..3427fbae 100644 --- a/src/datavisualization/engine/shaders/surfaceShadowNoTex.frag +++ b/src/datavisualization/engine/shaders/surfaceShadowNoTex.frag @@ -61,9 +61,10 @@ void main() { } gl_FragColor.rgb = - visibility * (materialAmbientColor + + (materialAmbientColor + materialDiffuseColor * lightStrength * cosTheta + materialSpecularColor * lightStrength * pow(cosAlpha, 10)); gl_FragColor.a = 1.0; + gl_FragColor.rgb = visibility * clamp(gl_FragColor.rgb, 0.0, 1.0); } -- cgit v1.2.3 From 177f9d385c8cd062c4bad78cf6b794a96fa025ad Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 21 Jan 2014 08:55:03 +0200 Subject: Selection correction for scatter when data changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implements item 3) in QTRD-2645 Task-number: QTRD-264 Change-Id: Ibe758bbfb3b4a74b55589a410b402bbdf07ea64f Reviewed-by: Tomi Korpipää --- .../data/abstractitemmodelhandler.cpp | 85 +++++++++++++------ .../data/abstractitemmodelhandler_p.h | 1 + .../data/qitemmodelscatterdataproxy.cpp | 4 +- .../data/scatteritemmodelhandler.cpp | 95 ++++++++++++++++++---- .../data/scatteritemmodelhandler_p.h | 12 +++ .../engine/abstract3dcontroller.cpp | 12 ++- .../engine/abstract3dcontroller_p.h | 3 +- src/datavisualization/engine/bars3dcontroller.cpp | 29 ++++--- .../engine/scatter3dcontroller.cpp | 73 +++++++++++++---- .../engine/scatter3dcontroller_p.h | 27 ++++++ .../engine/surface3dcontroller.cpp | 21 +++-- 11 files changed, 273 insertions(+), 89 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/data/abstractitemmodelhandler.cpp b/src/datavisualization/data/abstractitemmodelhandler.cpp index cf87c3f9..879ce086 100644 --- a/src/datavisualization/data/abstractitemmodelhandler.cpp +++ b/src/datavisualization/data/abstractitemmodelhandler.cpp @@ -23,7 +23,8 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION AbstractItemModelHandler::AbstractItemModelHandler(QObject *parent) : QObject(parent), - resolvePending(0) + resolvePending(0), + m_fullReset(true) { m_resolveTimer.setSingleShot(true); QObject::connect(&m_resolveTimer, &QTimer::timeout, @@ -81,9 +82,12 @@ void AbstractItemModelHandler::handleColumnsInserted(const QModelIndex &parent, Q_UNUSED(start) Q_UNUSED(end) - // Resolve new items - if (!m_resolveTimer.isActive()) - m_resolveTimer.start(0); // TODO Resolving entire model is inefficient + // Manipulating columns changes all rows in proxies that map rows/columns directly, + // and its effects are not clearly defined in others -> always do full reset. + if (!m_resolveTimer.isActive()) { + m_fullReset = true; + m_resolveTimer.start(0); + } } void AbstractItemModelHandler::handleColumnsMoved(const QModelIndex &sourceParent, @@ -98,9 +102,12 @@ void AbstractItemModelHandler::handleColumnsMoved(const QModelIndex &sourceParen Q_UNUSED(destinationParent) Q_UNUSED(destinationColumn) - // Resolve moved items - if (!m_resolveTimer.isActive()) - m_resolveTimer.start(0); // TODO Resolving entire model is inefficient + // Manipulating columns changes all rows in proxies that map rows/columns directly, + // and its effects are not clearly defined in others -> always do full reset. + if (!m_resolveTimer.isActive()) { + m_fullReset = true; + m_resolveTimer.start(0); + } } void AbstractItemModelHandler::handleColumnsRemoved(const QModelIndex &parent, @@ -110,9 +117,12 @@ void AbstractItemModelHandler::handleColumnsRemoved(const QModelIndex &parent, Q_UNUSED(start) Q_UNUSED(end) - // Remove old items - if (!m_resolveTimer.isActive()) - m_resolveTimer.start(0); // TODO Resolving entire model is inefficient + // Manipulating columns changes all rows in proxies that map rows/columns directly, + // and its effects are not clearly defined in others -> always do full reset. + if (!m_resolveTimer.isActive()) { + m_fullReset = true; + m_resolveTimer.start(0); + } } void AbstractItemModelHandler::handleDataChanged(const QModelIndex &topLeft, @@ -123,9 +133,13 @@ void AbstractItemModelHandler::handleDataChanged(const QModelIndex &topLeft, Q_UNUSED(bottomRight) Q_UNUSED(roles) - // Resolve changed items - if (!m_resolveTimer.isActive()) - m_resolveTimer.start(0); // TODO Resolving entire model is inefficient + // Default handling for dataChanged is to do full reset, as it cannot be optimized + // in a general case, where we do not know which row/column/index the item model item + // actually ended up to in the proxy. + if (!m_resolveTimer.isActive()) { + m_fullReset = true; + m_resolveTimer.start(0); + } } void AbstractItemModelHandler::handleLayoutChanged(const QList &parents, @@ -134,16 +148,20 @@ void AbstractItemModelHandler::handleLayoutChanged(const QList m_itemModel; // Not owned bool resolvePending; QTimer m_resolveTimer; + bool m_fullReset; private: Q_DISABLE_COPY(AbstractItemModelHandler) diff --git a/src/datavisualization/data/qitemmodelscatterdataproxy.cpp b/src/datavisualization/data/qitemmodelscatterdataproxy.cpp index 74979309..16a7c8f7 100644 --- a/src/datavisualization/data/qitemmodelscatterdataproxy.cpp +++ b/src/datavisualization/data/qitemmodelscatterdataproxy.cpp @@ -32,7 +32,9 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * for Q3DScatter. It maps roles of QAbstractItemModel to the XYZ-values of Q3DScatter points. * * The data is resolved asynchronously whenever the mapping or the model changes. - * QScatterDataProxy::arrayReset() is emitted when the data has been resolved. + * QScatterDataProxy::arrayReset() is emitted when the data has been resolved. However, inserts, + * removes, and single data item changes after the model initialization are resolved synchronously, + * unless the same frame also contains a change that causes the whole model to be resolved. * * Mapping ignores rows and columns of the QAbstractItemModel and treats * all items equally. It requires the model to provide at least three roles for the data items diff --git a/src/datavisualization/data/scatteritemmodelhandler.cpp b/src/datavisualization/data/scatteritemmodelhandler.cpp index 2faa02a9..81ecf8b0 100644 --- a/src/datavisualization/data/scatteritemmodelhandler.cpp +++ b/src/datavisualization/data/scatteritemmodelhandler.cpp @@ -21,6 +21,8 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION +static const int noRoleIndex = -1; + ScatterItemModelHandler::ScatterItemModelHandler(QItemModelScatterDataProxy *proxy, QObject *parent) : AbstractItemModelHandler(parent), m_proxy(proxy), @@ -32,6 +34,79 @@ ScatterItemModelHandler::~ScatterItemModelHandler() { } +void ScatterItemModelHandler::handleDataChanged(const QModelIndex &topLeft, + const QModelIndex &bottomRight, + const QVector &roles) +{ + // Do nothing if full reset already pending + if (!m_fullReset) { + if (m_itemModel->columnCount() > 1) { + // If the data model is multi-column, do full asynchronous reset to simplify things + AbstractItemModelHandler::handleDataChanged(topLeft, bottomRight, roles); + } else { + int start = qMin(topLeft.row(), bottomRight.row()); + int end = qMax(topLeft.row(), bottomRight.row()); + + QScatterDataArray array(end - start + 1); + int count = 0; + for (int i = start; i <= end; i++) + modelPosToScatterItem(i, 0, array[count++]); + + m_proxy->setItems(start, array); + } + } +} + +void ScatterItemModelHandler::handleRowsInserted(const QModelIndex &parent, int start, int end) +{ + // Do nothing if full reset already pending + if (!m_fullReset) { + if (!m_proxy->itemCount() || m_itemModel->columnCount() > 1) { + // If inserting into an empty array, do full asynchronous reset to avoid multiple + // separate inserts when initializing the model. + // If the data model is multi-column, do full asynchronous reset to simplify things + AbstractItemModelHandler::handleRowsInserted(parent, start, end); + } else { + QScatterDataArray array(end - start + 1); + int count = 0; + for (int i = start; i <= end; i++) + modelPosToScatterItem(i, 0, array[count++]); + + m_proxy->insertItems(start, array); + } + } +} + +void ScatterItemModelHandler::handleRowsRemoved(const QModelIndex &parent, int start, int end) +{ + Q_UNUSED(parent) + + // Do nothing if full reset already pending + if (!m_fullReset) { + if (m_itemModel->columnCount() > 1) { + // If the data model is multi-column, do full asynchronous reset to simplify things + AbstractItemModelHandler::handleRowsRemoved(parent, start, end); + } else { + m_proxy->removeItems(start, end - start + 1); + } + } +} + +void ScatterItemModelHandler::modelPosToScatterItem(int modelRow, int modelColumn, QScatterDataItem &item) +{ + QModelIndex index = m_itemModel->index(modelRow, modelColumn); + float xPos(0.0f); + float yPos(0.0f); + float zPos(0.0f); + if (m_xPosRole != noRoleIndex) + xPos = index.data(m_xPosRole).toFloat(); + if (m_yPosRole != noRoleIndex) + yPos = index.data(m_yPosRole).toFloat(); + if (m_zPosRole != noRoleIndex) + zPos = index.data(m_zPosRole).toFloat(); + item.setPosition(QVector3D(xPos, yPos, zPos)); +} + // Resolve entire item model into QScatterDataArray. void ScatterItemModelHandler::resolveModel() { @@ -41,12 +116,10 @@ void ScatterItemModelHandler::resolveModel() return; } - static const int noRoleIndex = -1; - QHash roleHash = m_itemModel->roleNames(); - const int xPosRole = roleHash.key(m_proxy->xPosRole().toLatin1(), noRoleIndex); - const int yPosRole = roleHash.key(m_proxy->yPosRole().toLatin1(), noRoleIndex); - const int zPosRole = roleHash.key(m_proxy->zPosRole().toLatin1(), noRoleIndex); + m_xPosRole = roleHash.key(m_proxy->xPosRole().toLatin1(), noRoleIndex); + m_yPosRole = roleHash.key(m_proxy->yPosRole().toLatin1(), noRoleIndex); + m_zPosRole = roleHash.key(m_proxy->zPosRole().toLatin1(), noRoleIndex); const int columnCount = m_itemModel->columnCount(); const int rowCount = m_itemModel->rowCount(); const int totalCount = rowCount * columnCount; @@ -59,17 +132,7 @@ void ScatterItemModelHandler::resolveModel() // Parse data into newProxyArray for (int i = 0; i < rowCount; i++) { for (int j = 0; j < columnCount; j++) { - QModelIndex index = m_itemModel->index(i, j); - float xPos(0.0f); - float yPos(0.0f); - float zPos(0.0f); - if (xPosRole != noRoleIndex) - xPos = index.data(xPosRole).toFloat(); - if (yPosRole != noRoleIndex) - yPos = index.data(yPosRole).toFloat(); - if (zPosRole != noRoleIndex) - zPos = index.data(zPosRole).toFloat(); - (*m_proxyArray)[runningCount].setPosition(QVector3D(xPos, yPos, zPos)); + modelPosToScatterItem(i, j, (*m_proxyArray)[runningCount]); runningCount++; } } diff --git a/src/datavisualization/data/scatteritemmodelhandler_p.h b/src/datavisualization/data/scatteritemmodelhandler_p.h index f54ed2c5..06927509 100644 --- a/src/datavisualization/data/scatteritemmodelhandler_p.h +++ b/src/datavisualization/data/scatteritemmodelhandler_p.h @@ -41,11 +41,23 @@ public: ScatterItemModelHandler(QItemModelScatterDataProxy *proxy, QObject *parent = 0); virtual ~ScatterItemModelHandler(); +public slots: + virtual void handleDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, + const QVector &roles = QVector ()); + virtual void handleRowsInserted(const QModelIndex &parent, int start, int end); + virtual void handleRowsRemoved(const QModelIndex &parent, int start, int end); + protected: void virtual resolveModel(); +private: + void modelPosToScatterItem(int modelRow, int modelColumn, QScatterDataItem &item); + QItemModelScatterDataProxy *m_proxy; // Not owned QScatterDataArray *m_proxyArray; // Not owned + int m_xPosRole; + int m_yPosRole; + int m_zPosRole; }; QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 9942a2fe..1efbea8d 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -30,6 +30,7 @@ #include "qabstract3dseries_p.h" #include "thememanager_p.h" #include "q3dscene_p.h" +#include "q3dscene.h" #include @@ -147,9 +148,7 @@ QList Abstract3DController::seriesList() */ void Abstract3DController::synchDataToRenderer() { - // If we don't have a renderer, don't do anything - if (!m_renderer) - return; + // Subclass implementations check for renderer validity already, so no need to check here. // If there is a pending click from renderer, handle that first. if (m_renderer->isClickPending()) { @@ -157,7 +156,7 @@ void Abstract3DController::synchDataToRenderer() m_renderer->clearClickPending(); } - // TODO: start recording inserts/removals + startRecordingRemovesAndInserts(); if (m_scene->d_ptr->m_sceneDirty) m_renderer->updateScene(m_scene); @@ -1016,6 +1015,11 @@ QCategory3DAxis *Abstract3DController::createDefaultCategoryAxis() return defaultAxis; } +void Abstract3DController::startRecordingRemovesAndInserts() +{ + // Default implementation does nothing +} + void Abstract3DController::emitNeedRender() { if (!m_renderPending) { diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index 17c1e1fb..0b89251d 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -138,9 +138,9 @@ private: ThemeManager *m_themeManager; QAbstract3DGraph::SelectionFlags m_selectionMode; QAbstract3DGraph::ShadowQuality m_shadowQuality; - Q3DScene *m_scene; protected: + Q3DScene *m_scene; QList m_inputHandlers; // List of all added input handlers QAbstract3DInputHandler *m_activeInputHandler; CameraHelper *m_cameraHelper; @@ -273,6 +273,7 @@ protected: virtual QAbstract3DAxis *createDefaultAxis(QAbstract3DAxis::AxisOrientation orientation); QValue3DAxis *createDefaultValueAxis(); QCategory3DAxis *createDefaultCategoryAxis(); + virtual void startRecordingRemovesAndInserts(); private: void setAxisHelper(QAbstract3DAxis::AxisOrientation orientation, QAbstract3DAxis *axis, diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index d85e474c..b0627377 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -70,6 +70,9 @@ void Bars3DController::initializeOpenGL() void Bars3DController::synchDataToRenderer() { + if (!isInitialized()) + return; + // Background change requires reloading the meshes in bar graphs, so dirty the series visuals if (m_themeManager->activeTheme()->d_ptr->m_dirtyBits.backgroundEnabledDirty) { m_isSeriesVisualsDirty = true; @@ -79,9 +82,6 @@ void Bars3DController::synchDataToRenderer() Abstract3DController::synchDataToRenderer(); - if (!isInitialized()) - return; - // Notify changes to renderer if (m_changeTracker.barSpecsChanged) { m_renderer->updateBarSpecs(m_barThicknessRatio, m_barSpacing, m_isBarSpecRelative); @@ -135,12 +135,8 @@ void Bars3DController::handleRowsRemoved(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - QBar3DSeries *series = static_cast(sender())->series(); - if (series->isVisible()) { - adjustAxisRanges(); - m_isDataDirty = true; - } + QBar3DSeries *series = static_cast(sender())->series(); if (series == m_selectedBarSeries) { // If rows removed from selected series before the selection, adjust the selection int selectedRow = m_selectedBar.x(); @@ -154,6 +150,11 @@ void Bars3DController::handleRowsRemoved(int startIndex, int count) } } + if (series->isVisible()) { + adjustAxisRanges(); + m_isDataDirty = true; + } + emitNeedRender(); } @@ -162,11 +163,6 @@ void Bars3DController::handleRowsInserted(int startIndex, int count) Q_UNUSED(startIndex) Q_UNUSED(count) QBar3DSeries *series = static_cast(sender())->series(); - if (series->isVisible()) { - adjustAxisRanges(); - m_isDataDirty = true; - } - if (series == m_selectedBarSeries) { // If rows inserted to selected series before the selection, adjust the selection int selectedRow = m_selectedBar.x(); @@ -176,6 +172,11 @@ void Bars3DController::handleRowsInserted(int startIndex, int count) } } + if (series->isVisible()) { + adjustAxisRanges(); + m_isDataDirty = true; + } + emitNeedRender(); } @@ -244,8 +245,6 @@ void Bars3DController::handlePendingClick() QPoint position = m_renderer->clickedPosition(); QBar3DSeries *series = static_cast(m_renderer->clickedSeries()); - // TODO: Adjust position according to inserts/removes in the series - setSelectedBar(position, series); m_renderer->resetClickedStatus(); diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp index 4527ac2a..6aa10a11 100644 --- a/src/datavisualization/engine/scatter3dcontroller.cpp +++ b/src/datavisualization/engine/scatter3dcontroller.cpp @@ -29,11 +29,14 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION +static const int insertRemoveRecordReserveSize = 31; + Scatter3DController::Scatter3DController(QRect boundRect, Q3DScene *scene) : Abstract3DController(boundRect, scene), m_renderer(0), m_selectedItem(invalidSelectionIndex()), - m_selectedItemSeries(0) + m_selectedItemSeries(0), + m_recordInsertsAndRemoves(false) { // Setting a null axis creates a new default axis according to orientation and graph type. // Note: These cannot be set in Abstract3DController constructor, as they will call virtual @@ -62,11 +65,11 @@ void Scatter3DController::initializeOpenGL() void Scatter3DController::synchDataToRenderer() { - Abstract3DController::synchDataToRenderer(); - if (!isInitialized()) return; + Abstract3DController::synchDataToRenderer(); + // Notify changes to renderer if (m_changeTracker.selectedItemChanged) { m_renderer->updateSelectedItem(m_selectedItem, m_selectedItemSeries); @@ -157,11 +160,6 @@ void Scatter3DController::handleItemsRemoved(int startIndex, int count) Q_UNUSED(count) // TODO should dirty only affected values? QScatter3DSeries *series = static_cast(sender())->series(); - if (series->isVisible()) { - adjustValueAxisRange(); - m_isDataDirty = true; - } - if (series == m_selectedItemSeries) { // If items removed from selected series before the selection, adjust the selection int selectedItem = m_selectedItem; @@ -175,6 +173,16 @@ void Scatter3DController::handleItemsRemoved(int startIndex, int count) } } + if (series->isVisible()) { + adjustValueAxisRange(); + m_isDataDirty = true; + } + + if (m_recordInsertsAndRemoves) { + InsertRemoveRecord record(false, startIndex, count, series); + m_insertRemoveRecords.append(record); + } + emitNeedRender(); } @@ -184,11 +192,6 @@ void Scatter3DController::handleItemsInserted(int startIndex, int count) Q_UNUSED(count) // TODO should dirty only affected values? QScatter3DSeries *series = static_cast(sender())->series(); - if (series->isVisible()) { - adjustValueAxisRange(); - m_isDataDirty = true; - } - if (series == m_selectedItemSeries) { // If items inserted to selected series before the selection, adjust the selection int selectedItem = m_selectedItem; @@ -198,9 +201,33 @@ void Scatter3DController::handleItemsInserted(int startIndex, int count) } } + if (series->isVisible()) { + adjustValueAxisRange(); + m_isDataDirty = true; + } + + if (m_recordInsertsAndRemoves) { + InsertRemoveRecord record(true, startIndex, count, series); + m_insertRemoveRecords.append(record); + } + emitNeedRender(); } +void Scatter3DController::startRecordingRemovesAndInserts() +{ + m_recordInsertsAndRemoves = false; + + if (m_scene->selectionQueryPosition() != Q3DScene::invalidSelectionPoint()) { + m_recordInsertsAndRemoves = true; + if (m_insertRemoveRecords.size()) { + m_insertRemoveRecords.clear(); + // Reserve some space for remove/insert records to avoid unnecessary reallocations. + m_insertRemoveRecords.reserve(insertRemoveRecordReserveSize); + } + } +} + void Scatter3DController::handleAxisAutoAdjustRangeChangedInOrientation( QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust) { @@ -229,7 +256,25 @@ void Scatter3DController::handlePendingClick() int index = m_renderer->clickedIndex(); QScatter3DSeries *series = static_cast(m_renderer->clickedSeries()); - // TODO: Adjust position according to inserts/removes in the series + // Adjust position according to recorded events + int recordCount = m_insertRemoveRecords.size(); + if (recordCount) { + for (int i = 0; i < recordCount; i++) { + const InsertRemoveRecord &record = m_insertRemoveRecords.at(i); + if (series == record.m_series && record.m_startIndex <= index) { + if (record.m_isInsert) { + index += record.m_count; + } else { + if ((record.m_startIndex + record.m_count) > index) { + index = -1; // Selected row removed + break; + } else { + index -= record.m_count; // Move selected item down by amount of items removed + } + } + } + } + } setSelectedItem(index, series); diff --git a/src/datavisualization/engine/scatter3dcontroller_p.h b/src/datavisualization/engine/scatter3dcontroller_p.h index 35f4015d..2e9ade44 100644 --- a/src/datavisualization/engine/scatter3dcontroller_p.h +++ b/src/datavisualization/engine/scatter3dcontroller_p.h @@ -62,6 +62,30 @@ private: QScatter3DSeries *m_selectedItemSeries; // Points to the series for which the bar is selected // in single series selection cases. + struct InsertRemoveRecord { + bool m_isInsert; + int m_startIndex; + int m_count; + QAbstract3DSeries *m_series; + + InsertRemoveRecord() : + m_isInsert(false), + m_startIndex(0), + m_count(0), + m_series(0) + {} + + InsertRemoveRecord(bool isInsert, int startIndex, int count, QAbstract3DSeries *series) : + m_isInsert(isInsert), + m_startIndex(startIndex), + m_count(count), + m_series(series) + {} + }; + + QVector m_insertRemoveRecords; + bool m_recordInsertsAndRemoves; + public: explicit Scatter3DController(QRect rect, Q3DScene *scene = 0); ~Scatter3DController(); @@ -93,6 +117,9 @@ public slots: void handleItemsRemoved(int startIndex, int count); void handleItemsInserted(int startIndex, int count); +protected: + virtual void startRecordingRemovesAndInserts(); + private: void adjustValueAxisRange(); diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index 984f65ba..f0dac44b 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -59,7 +59,6 @@ void Surface3DController::initializeOpenGL() m_renderer = new Surface3DRenderer(this); setRenderer(m_renderer); - synchDataToRenderer(); emitNeedRender(); } @@ -388,11 +387,6 @@ void Surface3DController::handleRowsInserted(int startIndex, int count) Q_UNUSED(startIndex) Q_UNUSED(count) QSurface3DSeries *series = static_cast(sender())->series(); - if (series->isVisible()) { - adjustValueAxisRange(); - m_isDataDirty = true; - } - if (series == m_selectedSeries) { // If rows inserted to selected series before the selection, adjust the selection int selectedRow = m_selectedPoint.x(); @@ -402,6 +396,11 @@ void Surface3DController::handleRowsInserted(int startIndex, int count) } } + if (series->isVisible()) { + adjustValueAxisRange(); + m_isDataDirty = true; + } + emitNeedRender(); } @@ -410,11 +409,6 @@ void Surface3DController::handleRowsRemoved(int startIndex, int count) Q_UNUSED(startIndex) Q_UNUSED(count) QSurface3DSeries *series = static_cast(sender())->series(); - if (series->isVisible()) { - adjustValueAxisRange(); - m_isDataDirty = true; - } - if (series == m_selectedSeries) { // If rows removed from selected series before the selection, adjust the selection int selectedRow = m_selectedPoint.x(); @@ -428,6 +422,11 @@ void Surface3DController::handleRowsRemoved(int startIndex, int count) } } + if (series->isVisible()) { + adjustValueAxisRange(); + m_isDataDirty = true; + } + emitNeedRender(); } -- cgit v1.2.3 From 1b1dfcaadf83c73d3f7c1c1cd893894a3aea0ecb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Tue, 21 Jan 2014 12:01:27 +0200 Subject: InputState enum divided Task-number: QTRD-2683 Change-Id: Ib05469ac1bf8c8ed828974a3adb91ecb5f8f1fc9 Reviewed-by: Miikka Heikkinen --- .../engine/abstract3dcontroller.cpp | 12 +++---- .../engine/abstract3dcontroller_p.h | 4 +-- src/datavisualization/engine/bars3drenderer.cpp | 2 ++ src/datavisualization/engine/qabstract3dgraph.cpp | 2 ++ src/datavisualization/engine/scatter3drenderer.cpp | 2 ++ src/datavisualization/engine/surface3drenderer.cpp | 2 ++ src/datavisualization/input/q3dinputhandler.cpp | 10 +++--- .../input/qabstract3dinputhandler.cpp | 39 ++++++++++++++++++---- .../input/qabstract3dinputhandler.h | 17 ++++++++-- .../input/qabstract3dinputhandler_p.h | 1 + .../input/qtouch3dinputhandler.cpp | 24 ++++++++----- 11 files changed, 85 insertions(+), 30 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 1efbea8d..2cda94e2 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -68,8 +68,8 @@ Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scen inputHandler = new QTouch3DInputHandler(); inputHandler->d_ptr->m_isDefaultHandler = true; setActiveInputHandler(inputHandler); - connect(inputHandler, &QAbstract3DInputHandler::inputStateChanged, this, - &Abstract3DController::handleInputStateChanged); + connect(inputHandler, &QAbstract3DInputHandler::inputViewChanged, this, + &Abstract3DController::handleInputViewChanged); connect(inputHandler, &QAbstract3DInputHandler::positionChanged, this, &Abstract3DController::handleInputPositionChanged); connect(m_scene->d_ptr.data(), &Q3DScenePrivate::needRender, this, @@ -863,15 +863,15 @@ void Abstract3DController::handleAxisLabelFormatChanged(const QString &format) handleAxisLabelFormatChangedBySender(sender()); } -void Abstract3DController::handleInputStateChanged(QAbstract3DInputHandler::InputState state) +void Abstract3DController::handleInputViewChanged(QAbstract3DInputHandler::InputView view) { - // When in automatic slicing mode, input state change to overview disables slice mode + // When in automatic slicing mode, input view change to primary disables slice mode if (m_selectionMode.testFlag(QAbstract3DGraph::SelectionSlice) - && state == QAbstract3DInputHandler::InputStateOnPrimaryView) { + && view == QAbstract3DInputHandler::InputViewOnPrimary) { setSlicingActive(false); } - m_changeTracker.inputStateChanged = true; + m_changeTracker.inputViewChanged = true; emitNeedRender(); } diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index 0b89251d..d0d2ea96 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -76,7 +76,7 @@ struct Abstract3DChangeBitField { bool axisXLabelFormatChanged : 1; bool axisYLabelFormatChanged : 1; bool axisZLabelFormatChanged : 1; - bool inputStateChanged : 1; + bool inputViewChanged : 1; bool inputPositionChanged : 1; Abstract3DChangeBitField() : @@ -243,7 +243,7 @@ public slots: void handleAxisSubSegmentCountChanged(int count); void handleAxisAutoAdjustRangeChanged(bool autoAdjust); void handleAxisLabelFormatChanged(const QString &format); - void handleInputStateChanged(QAbstract3DInputHandler::InputState state); + void handleInputViewChanged(QAbstract3DInputHandler::InputView view); void handleInputPositionChanged(const QPoint &position); void handleSeriesVisibilityChanged(bool visible); diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index e7fcf57e..17f61818 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -1001,6 +1001,8 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) m_clickedPosition = selectionColorToArrayPosition(clickedColor); m_clickedSeries = selectionColorToSeries(clickedColor); + emit needRender(); + // Revert to original render target and viewport glBindFramebuffer(GL_FRAMEBUFFER, defaultFboHandle); glViewport(m_primarySubViewport.x(), diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index 29ceabc9..ebf2daac 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -159,6 +159,8 @@ QAbstract3DGraph::QAbstract3DGraph(QAbstract3DGraphPrivate *d, const QSurfaceFor QStringList splitversionstr = QString::fromLatin1((const char *)shaderVersion).split(QChar::fromLatin1(' ')); if (splitversionstr[0].toFloat() < 1.2) qFatal("GLSL version must be 1.20 or higher. Try installing latest display drivers."); +#else + Q_UNUSED(shaderVersion) #endif d_ptr->renderLater(); diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 22910756..047b0aad 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -571,6 +571,8 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) m_viewport.height()); selectionColorToSeriesAndIndex(clickedColor, m_clickedIndex, m_clickedSeries); + emit needRender(); + // Revert to original fbo and viewport glBindFramebuffer(GL_FRAMEBUFFER, defaultFboHandle); glViewport(m_primarySubViewport.x(), diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index b65cea83..135e08e5 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -1051,6 +1051,8 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) m_clickedPosition = selectionIdToSurfacePoint(selectionId); m_clickedSeries = m_visibleSeriesList.at(0).series(); + emit needRender(); + // Revert to original viewport glViewport(m_primarySubViewport.x(), m_primarySubViewport.y(), diff --git a/src/datavisualization/input/q3dinputhandler.cpp b/src/datavisualization/input/q3dinputhandler.cpp index 27ebf89d..9e19df0c 100644 --- a/src/datavisualization/input/q3dinputhandler.cpp +++ b/src/datavisualization/input/q3dinputhandler.cpp @@ -91,17 +91,18 @@ void Q3DInputHandler::mousePressEvent(QMouseEvent *event, const QPoint &mousePos if (Qt::LeftButton == event->button()) { if (scene()->isSlicingActive()) { if (scene()->isPointInPrimarySubView(mousePos)) { - setInputState(InputStateOnPrimaryView); + setInputView(InputViewOnPrimary); } else if (scene()->isPointInSecondarySubView(mousePos)) { - setInputState(InputStateOnSecondaryView); + setInputView(InputViewOnSecondary); } else { - setInputState(InputStateNone); + setInputView(InputViewNone); } } else { - setInputState(InputStateOnScene); // update mouse positions to prevent jumping when releasing or repressing a button setInputPosition(mousePos); scene()->setSelectionQueryPosition(mousePos); + setInputView(InputViewOnPrimary); + setInputState(InputStateSelecting); } } else if (Qt::MiddleButton == event->button()) { // reset rotations @@ -131,6 +132,7 @@ void Q3DInputHandler::mouseReleaseEvent(QMouseEvent *event, const QPoint &mouseP setInputPosition(mousePos); } setInputState(InputStateNone); + setInputView(InputViewNone); #endif } diff --git a/src/datavisualization/input/qabstract3dinputhandler.cpp b/src/datavisualization/input/qabstract3dinputhandler.cpp index a0811f5b..a369a054 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.cpp +++ b/src/datavisualization/input/qabstract3dinputhandler.cpp @@ -38,18 +38,25 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * * \value InputStateNone * Default "no input received" state. - * \value InputStateOnScene - * Mouse or touch input received on the 3D scene. - * \value InputStateOnPrimaryView - * Mouse or touch input received on the primary view area. - * \value InputStateOnSecondaryView - * Mouse or touch input received on the secondary view area. * \value InputStateRotating * Rotation of the 3D geometry ongoing. * \value InputStatePinching * Pinch/punch multitouch input ongoing. */ +/*! + * \enum QAbstract3DInputHandler::InputView + * + * Predefined input views for mouse and touch based input handlers. + * + * \value InputViewNone + * Mouse or touch not on a view. + * \value InputViewOnPrimary + * Mouse or touch input received on the primary view area. + * \value InputViewOnSecondary + * Mouse or touch input received on the secondary view area. + */ + /*! * \qmltype AbstractInputHandler3D * \inqmlmodule QtDataVisualization @@ -158,6 +165,25 @@ void QAbstract3DInputHandler::setInputState(InputState inputState) } } +/*! + * \property QAbstract3DInputHandler::inputView + * + * Current enumerated input view based on the view of the processed input events. + * When the view changes inputViewChanged() is emitted. + */ +QAbstract3DInputHandler::InputView QAbstract3DInputHandler::inputView() +{ + return d_ptr->m_inputView; +} + +void QAbstract3DInputHandler::setInputView(InputView inputView) +{ + if (inputView != d_ptr->m_inputView) { + d_ptr->m_inputView = inputView; + emit inputViewChanged(inputView); + } +} + /*! * \property QAbstract3DInputHandler::inputPosition * @@ -234,6 +260,7 @@ QAbstract3DInputHandlerPrivate::QAbstract3DInputHandlerPrivate(QAbstract3DInputH m_prevDistance(0), m_previousInputPos(QPoint(0,0)), m_inputState(QAbstract3DInputHandler::InputStateNone), + m_inputView(QAbstract3DInputHandler::InputViewNone), m_inputPosition(QPoint(0,0)), m_scene(0) { diff --git a/src/datavisualization/input/qabstract3dinputhandler.h b/src/datavisualization/input/qabstract3dinputhandler.h index f8b8ba88..47ae9e1c 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.h +++ b/src/datavisualization/input/qabstract3dinputhandler.h @@ -30,20 +30,26 @@ class QT_DATAVISUALIZATION_EXPORT QAbstract3DInputHandler : public QObject { Q_OBJECT Q_ENUMS(InputState) + Q_ENUMS(InputView) Q_PROPERTY(InputState inputState READ inputState WRITE setInputState NOTIFY inputStateChanged) + Q_PROPERTY(InputView inputView READ inputView WRITE setInputView NOTIFY inputViewChanged) Q_PROPERTY(QPoint inputPosition READ inputPosition WRITE setInputPosition NOTIFY positionChanged) Q_PROPERTY(Q3DScene *scene READ scene WRITE setScene NOTIFY sceneChanged) public: enum InputState { InputStateNone = 0, - InputStateOnScene, - InputStateOnPrimaryView, - InputStateOnSecondaryView, + InputStateSelecting, InputStateRotating, InputStatePinching }; + enum InputView { + InputViewNone = 0, + InputViewOnPrimary, + InputViewOnSecondary + }; + public: explicit QAbstract3DInputHandler(QObject *parent = 0); virtual ~QAbstract3DInputHandler(); @@ -61,6 +67,10 @@ public: InputState inputState(); void setInputState(InputState inputState); + // TODO: Check if the inputView needs to be visible outside of subclasses in the final architecture + InputView inputView(); + void setInputView(InputView inputView); + QPoint inputPosition() const; void setInputPosition(const QPoint &position); @@ -70,6 +80,7 @@ public: signals: void positionChanged(QPoint position); void inputStateChanged(InputState state); + void inputViewChanged(InputView view); void sceneChanged(const Q3DScene *scene); protected: diff --git a/src/datavisualization/input/qabstract3dinputhandler_p.h b/src/datavisualization/input/qabstract3dinputhandler_p.h index 7e616ec2..c210feee 100644 --- a/src/datavisualization/input/qabstract3dinputhandler_p.h +++ b/src/datavisualization/input/qabstract3dinputhandler_p.h @@ -54,6 +54,7 @@ public: private: QAbstract3DInputHandler::InputState m_inputState; + QAbstract3DInputHandler::InputView m_inputView; QPoint m_inputPosition; QRect m_mainViewPort; diff --git a/src/datavisualization/input/qtouch3dinputhandler.cpp b/src/datavisualization/input/qtouch3dinputhandler.cpp index 909beb74..3fc5bea4 100644 --- a/src/datavisualization/input/qtouch3dinputhandler.cpp +++ b/src/datavisualization/input/qtouch3dinputhandler.cpp @@ -99,24 +99,27 @@ void QTouch3DInputHandler::touchEvent(QTouchEvent *event) if (event->type() == QEvent::TouchBegin) { if (scene()->isSlicingActive()) { if (scene()->isPointInPrimarySubView(pointerPos.toPoint())) - setInputState(InputStateOnPrimaryView); + setInputView(InputViewOnPrimary); else if (scene()->isPointInSecondarySubView(pointerPos.toPoint())) - setInputState(InputStateOnSecondaryView); + setInputView(InputViewOnSecondary); else - setInputState(InputStateNone); + setInputView(InputViewNone); } else { // Handle possible tap-and-hold selection d_ptr->m_startHoldPos = pointerPos; d_ptr->m_touchHoldPos = d_ptr->m_startHoldPos; d_ptr->m_holdTimer->start(); + setInputView(InputViewOnPrimary); // Start rotating setInputState(InputStateRotating); setInputPosition(pointerPos.toPoint()); } } else if (event->type() == QEvent::TouchEnd) { + setInputView(InputViewNone); d_ptr->m_holdTimer->stop(); // Handle possible selection - d_ptr->handleSelection(pointerPos); + if (QAbstract3DInputHandler::InputStatePinching != inputState()) + d_ptr->handleSelection(pointerPos); } else if (event->type() == QEvent::TouchUpdate) { if (!scene()->isSlicingActive()) { d_ptr->m_touchHoldPos = pointerPos; @@ -172,19 +175,22 @@ void QTouch3DInputHandlerPrivate::handleTapAndHold() QPointF distance = m_startHoldPos - m_touchHoldPos; if (distance.manhattanLength() < maxTapAndHoldJitter) { q_ptr->setInputPosition(m_touchHoldPos.toPoint()); - q_ptr->setInputState(QAbstract3DInputHandler::InputStateOnScene); + q_ptr->scene()->setSelectionQueryPosition(m_touchHoldPos.toPoint()); + q_ptr->setInputState(QAbstract3DInputHandler::InputStateSelecting); } } void QTouch3DInputHandlerPrivate::handleSelection(const QPointF &position) { QPointF distance = m_startHoldPos - position; - if (distance.manhattanLength() < maxSelectionJitter) - q_ptr->setInputState(QAbstract3DInputHandler::InputStateOnScene); - else + if (distance.manhattanLength() < maxSelectionJitter) { + q_ptr->setInputState(QAbstract3DInputHandler::InputStateSelecting); + q_ptr->scene()->setSelectionQueryPosition(position.toPoint()); + } else { q_ptr->setInputState(QAbstract3DInputHandler::InputStateNone); + q_ptr->setInputView(QAbstract3DInputHandler::InputViewNone); + } q_ptr->setPreviousInputPos(position.toPoint()); - q_ptr->scene()->setSelectionQueryPosition(position.toPoint()); } void QTouch3DInputHandlerPrivate::handleRotation(const QPointF &position) -- cgit v1.2.3 From d468bd990787a50899438202b86389462b825993 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Tue, 21 Jan 2014 13:56:29 +0200 Subject: InputState enum moved to private Task-number: QTRD-2784 Change-Id: Ibda5445cc9872e2a5bf234914f11d4c380447cf4 Change-Id: Ibda5445cc9872e2a5bf234914f11d4c380447cf4 Reviewed-by: Miikka Heikkinen --- src/datavisualization/engine/qabstract3dgraph.cpp | 13 ++--- src/datavisualization/input/q3dinputhandler.cpp | 58 ++++++++++++++-------- src/datavisualization/input/q3dinputhandler.h | 4 +- src/datavisualization/input/q3dinputhandler_p.h | 7 ++- .../input/qabstract3dinputhandler.cpp | 40 ++------------- .../input/qabstract3dinputhandler.h | 15 ------ .../input/qabstract3dinputhandler_p.h | 8 ++- .../input/qtouch3dinputhandler.cpp | 54 +++++++++++--------- src/datavisualization/input/qtouch3dinputhandler.h | 2 +- .../input/qtouch3dinputhandler_p.h | 2 + 10 files changed, 92 insertions(+), 111 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index ebf2daac..860df145 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -44,10 +44,10 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * Anti-aliasing is turned on by default on C++, except in OpenGL ES2 * environments, where anti-aliasing is not supported by Qt Data Visualization. * To specify non-default anti-aliasing for a graph, give a custom surface format as - * a constructor parameter. You can use the convenience function \c{QtDataVisualization::qDefaultSurfaceFormat()} + * a constructor parameter. You can use the convenience function \c QtDataVisualization::qDefaultSurfaceFormat() * to create the surface format object. * - * \note QAbstract3DGraph sets window flag \c{Qt::FramelessWindowHint} on by default. If you want to display + * \note QAbstract3DGraph sets window flag \c Qt::FramelessWindowHint on by default. If you want to display * graph windows as standalone windows with regular window frame, clear this flag after constructing * the graph. For example: * @@ -115,7 +115,8 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! * \internal */ -QAbstract3DGraph::QAbstract3DGraph(QAbstract3DGraphPrivate *d, const QSurfaceFormat *format, QWindow *parent) +QAbstract3DGraph::QAbstract3DGraph(QAbstract3DGraphPrivate *d, const QSurfaceFormat *format, + QWindow *parent) : QWindow(parent), d_ptr(d) { @@ -175,7 +176,7 @@ QAbstract3DGraph::~QAbstract3DGraph() /*! * Adds the given \a inputHandler to the graph. The input handlers added via addInputHandler - * are not taken in to use directly. Only the ownership of the a\ inputHandler is given to the graph. + * are not taken in to use directly. Only the ownership of the \a inputHandler is given to the graph. * The \a inputHandler must not be null or already added to another graph. * * \sa releaseInputHandler(), setActiveInputHandler() @@ -289,7 +290,7 @@ QList QAbstract3DGraph::themes() const * * Sets selection \a mode to a combination of SelectionFlags. It is preset to * \c SelectionItem by default. - * Different graph types support different selection modes. See \c SelectionFlags + * Different graph types support different selection modes. See SelectionFlags * documentation for details. */ void QAbstract3DGraph::setSelectionMode(SelectionFlags mode) @@ -325,7 +326,7 @@ QAbstract3DGraph::ShadowQuality QAbstract3DGraph::shadowQuality() const /*! * \property QAbstract3DGraph::scene * - * This property contains the read only Q3DScene that can be used to access e.g. camera object. + * This property contains the read only Q3DScene that can be used to access for example a camera object. */ Q3DScene *QAbstract3DGraph::scene() const { diff --git a/src/datavisualization/input/q3dinputhandler.cpp b/src/datavisualization/input/q3dinputhandler.cpp index 9e19df0c..17f5aee5 100644 --- a/src/datavisualization/input/q3dinputhandler.cpp +++ b/src/datavisualization/input/q3dinputhandler.cpp @@ -17,9 +17,8 @@ ****************************************************************************/ #include "datavisualizationglobal_p.h" -#include "q3dinputhandler.h" +#include "q3dinputhandler_p.h" #include "q3dcamera_p.h" -#include "q3dlight.h" QT_BEGIN_NAMESPACE_DATAVISUALIZATION @@ -44,20 +43,24 @@ const float rotationSpeed = 100.0f; * * Default input handler has the following functionalty: * \table - * \header - * \li Mouse action \li Action - * \row - * \li Drag with right button pressed \li Rotate graph within limits set for Q3DCamera. - * \row - * \li Left click \li Select item under cursor or remove selection if none. - * May open the secondary view depending on the - * selection mode. - * \row - * \li Mouse wheel \li Zoom in/out within default range (10...500%). - * \row - * \li Left click on the primary view when the secondary view is visible - * \li Closes the secondary view. - * \note Secondary view is available only for Q3DBars and Q3DSurface graphs. + * \header + * \li Mouse action + * \li Action + * \row + * \li Drag with right button pressed + * \li Rotate graph within limits set for Q3DCamera. + * \row + * \li Left click + * \li Select item under cursor or remove selection if none. + * May open the secondary view depending on the + * \l {QAbstract3DGraph::selectionMode}{selection mode}. + * \row + * \li Mouse wheel + * \li Zoom in/out within default range (10...500%). + * \row + * \li Left click on the primary view when the secondary view is visible + * \li Closes the secondary view. + * \note Secondary view is available only for Q3DBars and Q3DSurface graphs. * \endtable */ @@ -66,7 +69,8 @@ const float rotationSpeed = 100.0f; * and is then passed to QObject constructor. */ Q3DInputHandler::Q3DInputHandler(QObject *parent) : - QAbstract3DInputHandler(parent) + QAbstract3DInputHandler(parent), + d_ptr(new Q3DInputHandlerPrivate(this)) { } @@ -102,7 +106,7 @@ void Q3DInputHandler::mousePressEvent(QMouseEvent *event, const QPoint &mousePos setInputPosition(mousePos); scene()->setSelectionQueryPosition(mousePos); setInputView(InputViewOnPrimary); - setInputState(InputStateSelecting); + d_ptr->m_inputState = QAbstract3DInputHandlerPrivate::InputStateSelecting; } } else if (Qt::MiddleButton == event->button()) { // reset rotations @@ -110,7 +114,7 @@ void Q3DInputHandler::mousePressEvent(QMouseEvent *event, const QPoint &mousePos } else if (Qt::RightButton == event->button()) { // disable rotating when in slice view if (!scene()->isSlicingActive()) - setInputState(InputStateRotating); + d_ptr->m_inputState = QAbstract3DInputHandlerPrivate::InputStateRotating; // update mouse positions to prevent jumping when releasing or repressing a button setInputPosition(mousePos); } @@ -127,11 +131,11 @@ void Q3DInputHandler::mouseReleaseEvent(QMouseEvent *event, const QPoint &mouseP #if defined (Q_OS_ANDROID) Q_UNUSED(mousePos); #else - if (InputStateRotating == inputState()) { + if (QAbstract3DInputHandlerPrivate::InputStateRotating == d_ptr->m_inputState) { // update mouse positions to prevent jumping when releasing or repressing a button setInputPosition(mousePos); } - setInputState(InputStateNone); + d_ptr->m_inputState = QAbstract3DInputHandlerPrivate::InputStateNone; setInputView(InputViewNone); #endif } @@ -146,7 +150,7 @@ void Q3DInputHandler::mouseMoveEvent(QMouseEvent *event, const QPoint &mousePos) #if defined (Q_OS_ANDROID) Q_UNUSED(mousePos); #else - if (InputStateRotating == inputState()) { + if (QAbstract3DInputHandlerPrivate::InputStateRotating == d_ptr->m_inputState) { // Calculate mouse movement since last frame float xRotation = scene()->activeCamera()->xRotation(); float yRotation = scene()->activeCamera()->yRotation(); @@ -192,4 +196,14 @@ void Q3DInputHandler::wheelEvent(QWheelEvent *event) scene()->activeCamera()->setZoomLevel(zoomLevel); } +Q3DInputHandlerPrivate::Q3DInputHandlerPrivate(Q3DInputHandler *q) + : q_ptr(q), + m_inputState(QAbstract3DInputHandlerPrivate::InputStateNone) +{ +} + +Q3DInputHandlerPrivate::~Q3DInputHandlerPrivate() +{ +} + QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/input/q3dinputhandler.h b/src/datavisualization/input/q3dinputhandler.h index 501ac004..535d08bf 100644 --- a/src/datavisualization/input/q3dinputhandler.h +++ b/src/datavisualization/input/q3dinputhandler.h @@ -42,9 +42,9 @@ public: private: Q_DISABLE_COPY(Q3DInputHandler) - QScopedPointer *d_ptr; + QScopedPointer d_ptr; }; QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QDEFAULT3DINPUTHANDLER_H +#endif diff --git a/src/datavisualization/input/q3dinputhandler_p.h b/src/datavisualization/input/q3dinputhandler_p.h index df8a1978..6d93460b 100644 --- a/src/datavisualization/input/q3dinputhandler_p.h +++ b/src/datavisualization/input/q3dinputhandler_p.h @@ -29,12 +29,11 @@ #ifndef Q3DINPUTHANDLER_P_H #define Q3DINPUTHANDLER_P_H -#include "datavisualizationglobal_p.h" +#include "qabstract3dinputhandler_p.h" +#include "q3dinputhandler.h" QT_BEGIN_NAMESPACE_DATAVISUALIZATION -class Q3DInputHandler; - class Q3DInputHandlerPrivate { public: @@ -43,7 +42,7 @@ public: public: Q3DInputHandler *q_ptr; - + QAbstract3DInputHandlerPrivate::InputState m_inputState; }; QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/input/qabstract3dinputhandler.cpp b/src/datavisualization/input/qabstract3dinputhandler.cpp index a369a054..b2d02596 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.cpp +++ b/src/datavisualization/input/qabstract3dinputhandler.cpp @@ -15,6 +15,7 @@ ** contact form at http://qt.digia.com ** ****************************************************************************/ + #include "qabstract3dinputhandler_p.h" QT_BEGIN_NAMESPACE_DATAVISUALIZATION @@ -30,20 +31,6 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * raw input events to slicing and selection events in the scene. */ -/*! - * \enum QAbstract3DInputHandler::InputState - * - * Predefined input states for mouse and touch based input handlers. All states are not valid - * with all input handlers. - * - * \value InputStateNone - * Default "no input received" state. - * \value InputStateRotating - * Rotation of the 3D geometry ongoing. - * \value InputStatePinching - * Pinch/punch multitouch input ongoing. - */ - /*! * \enum QAbstract3DInputHandler::InputView * @@ -52,7 +39,8 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * \value InputViewNone * Mouse or touch not on a view. * \value InputViewOnPrimary - * Mouse or touch input received on the primary view area. + * Mouse or touch input received on the primary view area. If secondary view is displayed when + * inputView becomes InputViewOnPrimary, secondary view is closed. * \value InputViewOnSecondary * Mouse or touch input received on the secondary view area. */ @@ -67,7 +55,7 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * * This type is uncreatable. * - * For AbstractInputHandler3D enums, see \l QAbstract3DInputHandler::InputState + * For AbstractInputHandler3D enums, see \l QAbstract3DInputHandler::InputView */ /*! @@ -146,25 +134,6 @@ void QAbstract3DInputHandler::wheelEvent(QWheelEvent *event) } // Property get/set -/*! - * \property QAbstract3DInputHandler::inputState - * - * Current enumerated input state based on the processed input events. - * When the state changes inputStateChanged() is emitted. - */ -QAbstract3DInputHandler::InputState QAbstract3DInputHandler::inputState() -{ - return d_ptr->m_inputState; -} - -void QAbstract3DInputHandler::setInputState(InputState inputState) -{ - if (inputState != d_ptr->m_inputState) { - d_ptr->m_inputState = inputState; - emit inputStateChanged(inputState); - } -} - /*! * \property QAbstract3DInputHandler::inputView * @@ -259,7 +228,6 @@ QAbstract3DInputHandlerPrivate::QAbstract3DInputHandlerPrivate(QAbstract3DInputH q_ptr(q), m_prevDistance(0), m_previousInputPos(QPoint(0,0)), - m_inputState(QAbstract3DInputHandler::InputStateNone), m_inputView(QAbstract3DInputHandler::InputViewNone), m_inputPosition(QPoint(0,0)), m_scene(0) diff --git a/src/datavisualization/input/qabstract3dinputhandler.h b/src/datavisualization/input/qabstract3dinputhandler.h index 47ae9e1c..94a34475 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.h +++ b/src/datavisualization/input/qabstract3dinputhandler.h @@ -29,21 +29,12 @@ class QAbstract3DInputHandlerPrivate; class QT_DATAVISUALIZATION_EXPORT QAbstract3DInputHandler : public QObject { Q_OBJECT - Q_ENUMS(InputState) Q_ENUMS(InputView) - Q_PROPERTY(InputState inputState READ inputState WRITE setInputState NOTIFY inputStateChanged) Q_PROPERTY(InputView inputView READ inputView WRITE setInputView NOTIFY inputViewChanged) Q_PROPERTY(QPoint inputPosition READ inputPosition WRITE setInputPosition NOTIFY positionChanged) Q_PROPERTY(Q3DScene *scene READ scene WRITE setScene NOTIFY sceneChanged) public: - enum InputState { - InputStateNone = 0, - InputStateSelecting, - InputStateRotating, - InputStatePinching - }; - enum InputView { InputViewNone = 0, InputViewOnPrimary, @@ -63,11 +54,6 @@ public: virtual void wheelEvent(QWheelEvent *event); public: - // TODO: Check if the inputState needs to be visible outside of subclasses in the final architecture - InputState inputState(); - void setInputState(InputState inputState); - - // TODO: Check if the inputView needs to be visible outside of subclasses in the final architecture InputView inputView(); void setInputView(InputView inputView); @@ -79,7 +65,6 @@ public: signals: void positionChanged(QPoint position); - void inputStateChanged(InputState state); void inputViewChanged(InputView view); void sceneChanged(const Q3DScene *scene); diff --git a/src/datavisualization/input/qabstract3dinputhandler_p.h b/src/datavisualization/input/qabstract3dinputhandler_p.h index c210feee..001040b8 100644 --- a/src/datavisualization/input/qabstract3dinputhandler_p.h +++ b/src/datavisualization/input/qabstract3dinputhandler_p.h @@ -45,6 +45,13 @@ public: ~QAbstract3DInputHandlerPrivate(); public: + enum InputState { + InputStateNone = 0, + InputStateSelecting, + InputStateRotating, + InputStatePinching + }; + QAbstract3DInputHandler *q_ptr; int m_prevDistance; QPoint m_previousInputPos; @@ -53,7 +60,6 @@ public: GLfloat m_defaultYRotation; private: - QAbstract3DInputHandler::InputState m_inputState; QAbstract3DInputHandler::InputView m_inputView; QPoint m_inputPosition; QRect m_mainViewPort; diff --git a/src/datavisualization/input/qtouch3dinputhandler.cpp b/src/datavisualization/input/qtouch3dinputhandler.cpp index 3fc5bea4..d0b57aee 100644 --- a/src/datavisualization/input/qtouch3dinputhandler.cpp +++ b/src/datavisualization/input/qtouch3dinputhandler.cpp @@ -45,22 +45,27 @@ const int maxZoomLevel = 500; * * Default touch input handler has the following functionalty: * \table - * \header - * \li Gesture \li Action - * \row - * \li Touch-And-Move \li Rotate graph within limits set for Q3DCamera - * \row - * \li Tap \li Select the item tapped or remove selection if none. - * May open the secondary view depending on the - * selection mode. - * \row - * \li Tap-And-Hold \li Same as tap. - * \row - * \li Pinch \li Zoom in/out within default range (10...500%). - * \row - * \li Tap on the primary view when the secondary view is visible - * \li Closes the secondary view. - * \note Secondary view is available only for Q3DBars and Q3DSurface graphs. + * \header + * \li Gesture + * \li Action + * \row + * \li Touch-And-Move + * \li Rotate graph within limits set for Q3DCamera + * \row + * \li Tap + * \li Select the item tapped or remove selection if none. + * May open the secondary view depending on the + * \l {QAbstract3DGraph::selectionMode}{selection mode}. + * \row + * \li Tap-And-Hold + * \li Same as tap. + * \row + * \li Pinch + * \li Zoom in/out within default range (10...500%). + * \row + * \li Tap on the primary view when the secondary view is visible + * \li Closes the secondary view. + * \note Secondary view is available only for Q3DBars and Q3DSurface graphs. * \endtable */ @@ -111,14 +116,14 @@ void QTouch3DInputHandler::touchEvent(QTouchEvent *event) d_ptr->m_holdTimer->start(); setInputView(InputViewOnPrimary); // Start rotating - setInputState(InputStateRotating); + d_ptr->m_inputState = QAbstract3DInputHandlerPrivate::InputStateRotating; setInputPosition(pointerPos.toPoint()); } } else if (event->type() == QEvent::TouchEnd) { setInputView(InputViewNone); d_ptr->m_holdTimer->stop(); // Handle possible selection - if (QAbstract3DInputHandler::InputStatePinching != inputState()) + if (QAbstract3DInputHandlerPrivate::InputStatePinching != d_ptr->m_inputState) d_ptr->handleSelection(pointerPos); } else if (event->type() == QEvent::TouchUpdate) { if (!scene()->isSlicingActive()) { @@ -134,7 +139,8 @@ void QTouch3DInputHandler::touchEvent(QTouchEvent *event) QTouch3DInputHandlerPrivate::QTouch3DInputHandlerPrivate(QTouch3DInputHandler *q) : q_ptr(q), - m_holdTimer(0) + m_holdTimer(0), + m_inputState(QAbstract3DInputHandlerPrivate::InputStateNone) { m_holdTimer = new QTimer(); m_holdTimer->setSingleShot(true); @@ -154,7 +160,7 @@ void QTouch3DInputHandlerPrivate::handlePinchZoom(float distance) int prevDist = q_ptr->prevDistance(); if (prevDist > 0 && qAbs(prevDist - newDistance) < maxPinchJitter) return; - q_ptr->setInputState(QAbstract3DInputHandler::InputStatePinching); + m_inputState = QAbstract3DInputHandlerPrivate::InputStatePinching; Q3DCamera *camera = q_ptr->scene()->activeCamera(); int zoomLevel = camera->zoomLevel(); float zoomRate = qSqrt(qSqrt(zoomLevel)); @@ -176,7 +182,7 @@ void QTouch3DInputHandlerPrivate::handleTapAndHold() if (distance.manhattanLength() < maxTapAndHoldJitter) { q_ptr->setInputPosition(m_touchHoldPos.toPoint()); q_ptr->scene()->setSelectionQueryPosition(m_touchHoldPos.toPoint()); - q_ptr->setInputState(QAbstract3DInputHandler::InputStateSelecting); + m_inputState = QAbstract3DInputHandlerPrivate::InputStateSelecting; } } @@ -184,10 +190,10 @@ void QTouch3DInputHandlerPrivate::handleSelection(const QPointF &position) { QPointF distance = m_startHoldPos - position; if (distance.manhattanLength() < maxSelectionJitter) { - q_ptr->setInputState(QAbstract3DInputHandler::InputStateSelecting); + m_inputState = QAbstract3DInputHandlerPrivate::InputStateSelecting; q_ptr->scene()->setSelectionQueryPosition(position.toPoint()); } else { - q_ptr->setInputState(QAbstract3DInputHandler::InputStateNone); + m_inputState = QAbstract3DInputHandlerPrivate::InputStateNone; q_ptr->setInputView(QAbstract3DInputHandler::InputViewNone); } q_ptr->setPreviousInputPos(position.toPoint()); @@ -195,7 +201,7 @@ void QTouch3DInputHandlerPrivate::handleSelection(const QPointF &position) void QTouch3DInputHandlerPrivate::handleRotation(const QPointF &position) { - if (QAbstract3DInputHandler::InputStateRotating == q_ptr->inputState()) { + if (QAbstract3DInputHandlerPrivate::InputStateRotating == m_inputState) { Q3DScene *scene = q_ptr->scene(); Q3DCamera *camera = scene->activeCamera(); float xRotation = camera->xRotation(); diff --git a/src/datavisualization/input/qtouch3dinputhandler.h b/src/datavisualization/input/qtouch3dinputhandler.h index fef63c3b..41670cec 100644 --- a/src/datavisualization/input/qtouch3dinputhandler.h +++ b/src/datavisualization/input/qtouch3dinputhandler.h @@ -44,4 +44,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QTOUCH3DINPUTHANDLER_H +#endif diff --git a/src/datavisualization/input/qtouch3dinputhandler_p.h b/src/datavisualization/input/qtouch3dinputhandler_p.h index 143c828d..143c3664 100644 --- a/src/datavisualization/input/qtouch3dinputhandler_p.h +++ b/src/datavisualization/input/qtouch3dinputhandler_p.h @@ -19,6 +19,7 @@ #ifndef QTOUCH3DINPUTHANDLER_P_H #define QTOUCH3DINPUTHANDLER_P_H +#include "qabstract3dinputhandler_p.h" #include "qtouch3dinputhandler.h" QT_BEGIN_NAMESPACE_DATAVISUALIZATION @@ -41,6 +42,7 @@ public: public: QTouch3DInputHandler *q_ptr; QTimer *m_holdTimer; + QAbstract3DInputHandlerPrivate::InputState m_inputState; QPointF m_startHoldPos; QPointF m_touchHoldPos; }; -- cgit v1.2.3 From 072b7614c6b1a1f32a4baebb8260866d72ee9299 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Wed, 22 Jan 2014 07:38:02 +0200 Subject: Made jira tasks of TODOs, part 1 - commented-out code will be removed (and made tasks of, if necessary) in part 2 Task-number: QTRD-2398 Change-Id: Ib94a4a873ecd25f4040c74c42902e204f3f41943 Reviewed-by: Miikka Heikkinen --- src/datavisualization/axis/qabstract3daxis.h | 1 - src/datavisualization/data/qbardataitem.cpp | 1 - src/datavisualization/data/qbardataitem_p.h | 2 -- .../data/qitemmodelsurfacedataproxy.cpp | 2 -- src/datavisualization/data/qscatterdataitem_p.h | 2 -- src/datavisualization/data/qsurfacedataitem.cpp | 2 -- src/datavisualization/data/qsurfacedataitem_p.h | 2 -- src/datavisualization/data/scatterrenderitem_p.h | 6 ------ src/datavisualization/engine/bars3drenderer.cpp | 15 +------------ src/datavisualization/engine/drawer.cpp | 2 -- src/datavisualization/engine/q3dscene.cpp | 2 -- .../engine/scatter3dcontroller.cpp | 4 ---- src/datavisualization/engine/scatter3drenderer.cpp | 11 ---------- src/datavisualization/engine/seriesrendercache.cpp | 1 - .../engine/surface3dcontroller.cpp | 4 ---- src/datavisualization/engine/surface3drenderer.cpp | 25 ---------------------- .../input/qabstract3dinputhandler_p.h | 1 - src/datavisualization/theme/q3dtheme.cpp | 1 - src/datavisualization/utils/meshloader_p.h | 1 - 19 files changed, 1 insertion(+), 84 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/axis/qabstract3daxis.h b/src/datavisualization/axis/qabstract3daxis.h index c4cb37b2..7cfde83a 100644 --- a/src/datavisualization/axis/qabstract3daxis.h +++ b/src/datavisualization/axis/qabstract3daxis.h @@ -55,7 +55,6 @@ public: AxisTypeNone = 0, AxisTypeCategory = 1, AxisTypeValue = 2 - //AxisTypeLogValue = 6 // inherits valueaxis (4 + 2) // TODO }; protected: diff --git a/src/datavisualization/data/qbardataitem.cpp b/src/datavisualization/data/qbardataitem.cpp index 792e5158..3e8ebee2 100644 --- a/src/datavisualization/data/qbardataitem.cpp +++ b/src/datavisualization/data/qbardataitem.cpp @@ -76,7 +76,6 @@ QBarDataItem &QBarDataItem::operator=(const QBarDataItem &other) createExtraData(); else d_ptr = 0; - // TODO set extra data return *this; } diff --git a/src/datavisualization/data/qbardataitem_p.h b/src/datavisualization/data/qbardataitem_p.h index 6180c039..39ccf8c3 100644 --- a/src/datavisualization/data/qbardataitem_p.h +++ b/src/datavisualization/data/qbardataitem_p.h @@ -40,8 +40,6 @@ public: QBarDataItemPrivate(); virtual ~QBarDataItemPrivate(); - // TODO stores other data for bars besides value - protected: friend class QBarDataItem; }; diff --git a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp index 8c11ba88..0753ae09 100644 --- a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp +++ b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp @@ -22,8 +22,6 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION -// TODO: CHECK DOCUMENTATION! - /*! * \class QItemModelSurfaceDataProxy * \inmodule QtDataVisualization diff --git a/src/datavisualization/data/qscatterdataitem_p.h b/src/datavisualization/data/qscatterdataitem_p.h index d9c7af94..730c8f89 100644 --- a/src/datavisualization/data/qscatterdataitem_p.h +++ b/src/datavisualization/data/qscatterdataitem_p.h @@ -40,8 +40,6 @@ public: QScatterDataItemPrivate(); virtual ~QScatterDataItemPrivate(); - // TODO stores other data for scatter items besides position - protected: friend class QScatterDataItem; }; diff --git a/src/datavisualization/data/qsurfacedataitem.cpp b/src/datavisualization/data/qsurfacedataitem.cpp index 41d2dff9..23f27478 100644 --- a/src/datavisualization/data/qsurfacedataitem.cpp +++ b/src/datavisualization/data/qsurfacedataitem.cpp @@ -72,13 +72,11 @@ QSurfaceDataItem::~QSurfaceDataItem() QSurfaceDataItem &QSurfaceDataItem::operator=(const QSurfaceDataItem &other) { m_position = other.m_position; - //m_size = other.m_size; if (other.d_ptr) createExtraData(); else d_ptr = 0; - // TODO set extra data return *this; } diff --git a/src/datavisualization/data/qsurfacedataitem_p.h b/src/datavisualization/data/qsurfacedataitem_p.h index d1e7c7da..fda3a114 100644 --- a/src/datavisualization/data/qsurfacedataitem_p.h +++ b/src/datavisualization/data/qsurfacedataitem_p.h @@ -40,8 +40,6 @@ public: QSurfaceDataItemPrivate(); virtual ~QSurfaceDataItemPrivate(); - // TODO stores other data for surface items besides position - protected: friend class QSurfaceDataItem; }; diff --git a/src/datavisualization/data/scatterrenderitem_p.h b/src/datavisualization/data/scatterrenderitem_p.h index 672eda78..1c88cbbd 100644 --- a/src/datavisualization/data/scatterrenderitem_p.h +++ b/src/datavisualization/data/scatterrenderitem_p.h @@ -60,19 +60,13 @@ public: m_rotation = rotation; } - inline bool isVisible() const { return m_visible; } inline void setVisible(bool visible) { m_visible = visible; } - // TODO: Will we ever support item specific size? If not, remove. - //inline void setSize(float size); - //inline float size() const { return m_size; } - protected: QVector3D m_position; QQuaternion m_rotation; bool m_visible; - //float m_size; // TODO in case we need a fourth variable that adjusts scatter item size friend class QScatterDataItem; }; diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 17f61818..7470f0cf 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION const GLfloat labelMargin = 0.05f; const GLfloat gridLineWidth = 0.005f; -const bool sliceGridLabels = true; // TODO: Make this user controllable (QTRD-2546) +const bool sliceGridLabels = true; Bars3DRenderer::Bars3DRenderer(Bars3DController *controller) : Abstract3DRenderer(controller), @@ -242,7 +242,6 @@ void Bars3DRenderer::updateData() void Bars3DRenderer::updateScene(Q3DScene *scene) { - // TODO: See QTRD-2374 if (m_hasNegativeValues) scene->activeCamera()->setMinYRotation(-90.0); else @@ -308,7 +307,6 @@ void Bars3DRenderer::drawSlicedScene() GLfloat barPosYAdjustment = -0.8f; // Translate to -1.0 + 0.2 for row/column labels GLfloat scaleFactor = 0.0f; - // TODO: When doing this correctly (QTRD-2125), use label dimensions instead of magic number GLfloat barLabelYPos = barPosYAdjustment - 0.4f - labelMargin; // 0.4 for labels GLfloat zeroPosAdjustment = 0.0f; if (!m_noZeroInRange) @@ -393,7 +391,6 @@ void Bars3DRenderer::drawSlicedScene() } } - // TODO: Make user controllable (QTRD-2546) if (sliceGridLabels) { // Bind label shader m_labelShader->bind(); @@ -593,7 +590,6 @@ void Bars3DRenderer::drawSlicedScene() m_dummyBarRenderItem.setTranslation(QVector3D(item->translation().x(), barLabelYPos, item->translation().z())); - // TODO: Make user controllable (QTRD-2546) // Draw labels m_drawer->drawLabel(m_dummyBarRenderItem, *m_sliceCache->labelItems().at(labelNo), viewMatrix, projectionMatrix, positionComp, sliceLabelRotation, @@ -605,7 +601,6 @@ void Bars3DRenderer::drawSlicedScene() for (int col = 0; col < sliceItemCount; col++) { BarRenderItem *item = m_sliceSelection.at(col); - // TODO: Make user controllable (QTRD-2546) if (!sliceGridLabels) { // Draw values if (item->height() != 0.0f || (!m_noZeroInRange && item->value() == 0.0f)) { @@ -631,8 +626,6 @@ void Bars3DRenderer::drawSlicedScene() } } else { // Only draw value for selected item when grid labels are on - // TODO: Maybe use selection label instead of value? Should it be user controllable - // as well? (QTRD-2546) if (itemMode && m_visualSelectedBarPos.x() == item->position().x() && m_visualSelectedBarPos.y() == item->position().y() && item->seriesIndex() == m_visualSelectedBarSeriesIndex) { @@ -659,7 +652,6 @@ void Bars3DRenderer::drawSlicedScene() } } - // TODO: Make user controllable (QTRD-2546) // Draw labels for axes if (rowMode) { if (m_sliceTitleItem) { @@ -812,10 +804,6 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) zeroVector, 0.0f, 3.5f / m_autoScaleAdjustment); depthViewMatrix.lookAt(depthLightPos, zeroVector, upVector); - // TODO: Why does depthViewMatrix.column(3).y() goes to zero when we're directly above? - // That causes the scene to be not drawn from above -> must be fixed - // qDebug() << lightPos << depthViewMatrix << depthViewMatrix.column(3); - // Set the depth projection matrix depthProjectionMatrix.perspective(10.0f, viewPortRatio, 3.0f, 100.0f); depthProjectionViewMatrix = depthProjectionMatrix * depthViewMatrix; @@ -912,7 +900,6 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) } #endif - // TODO: Selection must be enabled currently to support clicked signal. (QTRD-2517) // Skip selection mode drawing if we're slicing or have no selection mode if (!m_cachedIsSlicingActivated && m_cachedSelectionMode > QAbstract3DGraph::SelectionNone && m_selectionState == SelectOnScene && seriesCount > 0) { diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index dde0def2..2fb8d81f 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -210,12 +210,10 @@ void Drawer::drawLabel(const AbstractRenderItem &item, const LabelItem &labelIte break; } case LabelMid: { - // Use this for positioning with absolute item y position value yPosition = item.translation().y(); break; } case LabelHigh: { - // TODO: Fix this. Can't seem to get it right (if ok with positive-only bars, doesn't look good on +- and vice versa) yPosition = item.translation().y() + itemHeight / 2.0f; break; } diff --git a/src/datavisualization/engine/q3dscene.cpp b/src/datavisualization/engine/q3dscene.cpp index de19e84c..d2cf9c58 100644 --- a/src/datavisualization/engine/q3dscene.cpp +++ b/src/datavisualization/engine/q3dscene.cpp @@ -205,7 +205,6 @@ void Q3DScene::setPrimarySubViewport(const QRect &primarySubViewport) */ bool Q3DScene::isPointInPrimarySubView(const QPoint &point) { - // TODO: Needs fixing. Doesn't respect whether slice or main view is on top or if slicing is even activated currently. int x = point.x(); int y = point.y(); int areaMinX = d_ptr->m_primarySubViewport.x(); @@ -224,7 +223,6 @@ bool Q3DScene::isPointInPrimarySubView(const QPoint &point) */ bool Q3DScene::isPointInSecondarySubView(const QPoint &point) { - // TODO: Needs fixing. Doesn't respect whether slice or main view is on top or if slicing is even activated currently. int x = point.x(); int y = point.y(); int areaMinX = d_ptr->m_secondarySubViewport.x(); diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp index 6aa10a11..8a57af26 100644 --- a/src/datavisualization/engine/scatter3dcontroller.cpp +++ b/src/datavisualization/engine/scatter3dcontroller.cpp @@ -132,7 +132,6 @@ void Scatter3DController::handleItemsAdded(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - // TODO should dirty only affected values? QScatter3DSeries *series = static_cast(sender())->series(); if (series->isVisible()) { adjustValueAxisRange(); @@ -145,7 +144,6 @@ void Scatter3DController::handleItemsChanged(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - // TODO should dirty only affected values? QScatter3DSeries *series = static_cast(sender())->series(); if (series->isVisible()) { adjustValueAxisRange(); @@ -158,7 +156,6 @@ void Scatter3DController::handleItemsRemoved(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - // TODO should dirty only affected values? QScatter3DSeries *series = static_cast(sender())->series(); if (series == m_selectedItemSeries) { // If items removed from selected series before the selection, adjust the selection @@ -190,7 +187,6 @@ void Scatter3DController::handleItemsInserted(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - // TODO should dirty only affected values? QScatter3DSeries *series = static_cast(sender())->series(); if (series == m_selectedItemSeries) { // If items inserted to selected series before the selection, adjust the selection diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 047b0aad..073644db 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -224,7 +224,6 @@ void Scatter3DRenderer::updateData() void Scatter3DRenderer::updateScene(Q3DScene *scene) { - // TODO: See QTRD-2374 scene->activeCamera()->setMinYRotation(-90.0f); if (m_hasHeightAdjustmentChanged) { @@ -357,18 +356,12 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) QVector3D depthLightPos = activeCamera->calculatePositionRelativeToCamera( zeroVector, 0.0f, 2.5f / m_autoScaleAdjustment); depthViewMatrix.lookAt(depthLightPos, zeroVector, upVector); - // TODO: Why does depthViewMatrix.column(3).y() goes to zero when we're directly above? - // That causes the scene to be not drawn from above -> must be fixed - // qDebug() << lightPos << depthViewMatrix << depthViewMatrix.column(3); // Set the depth projection matrix #ifndef USE_WIDER_SHADOWS // Use this for perspective shadows depthProjectionMatrix.perspective(15.0f, viewPortRatio, 3.0f, 100.0f); #else // Use these for orthographic shadows - //depthProjectionMatrix.ortho(-aspectRatio * 2.0f, aspectRatio * 2.0f, - // -m_heightNormalizer * 2.0f, m_heightNormalizer * 2.0f, - // 0.0f, 100.0f); GLfloat testAspectRatio = viewPortRatio; depthProjectionMatrix.ortho(-testAspectRatio * 2.0f, testAspectRatio * 2.0f, -m_heightNormalizer * 2.0f, m_heightNormalizer * 2.0f, @@ -489,7 +482,6 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) ObjectHelper *dotObj = m_visibleSeriesList.at(series).object(); bool drawingPoints = (m_visibleSeriesList.at(series).mesh() == QAbstract3DSeries::MeshPoint); - // TODO: Accessing series directly during rendering float itemSize = static_cast(m_visibleSeriesList.at(series).series())->itemSize() / itemScaler; @@ -643,7 +635,6 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) bool colorStyleIsUniform = (colorStyle == Q3DTheme::ColorStyleUniform); bool useColor = colorStyleIsUniform || drawingPoints; - // TODO: Accessing series directly during rendering float itemSize = static_cast(currentSeries.series())->itemSize() / itemScaler; @@ -1267,8 +1258,6 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) } // Draw axis labels - // TODO: Calculations done temporarily here. Should be done when calculating lines to avoid - // extra for -loops? // Bind label shader m_labelShader->bind(); diff --git a/src/datavisualization/engine/seriesrendercache.cpp b/src/datavisualization/engine/seriesrendercache.cpp index 2f055d46..f1165cb7 100644 --- a/src/datavisualization/engine/seriesrendercache.cpp +++ b/src/datavisualization/engine/seriesrendercache.cpp @@ -117,7 +117,6 @@ void SeriesRenderCache::populate(QAbstract3DSeries *series, Abstract3DRenderer * renderer->fixMeshFileName(meshFileName, m_mesh); } - // TODO: Optimize by having some kind of object cache in renderer instead of having separate ObjectHelper for each series? delete m_object; if (meshFileName.isEmpty()) { m_object = 0; diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index f0dac44b..979d615a 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -122,8 +122,6 @@ void Surface3DController::handlePendingClick() QPoint position = m_renderer->clickedPosition(); QSurface3DSeries *series = static_cast(m_renderer->clickedSeries()); - // TODO: Adjust position according to inserts/removes in the series - setSelectedPoint(position, series); m_renderer->resetClickedStatus(); @@ -245,8 +243,6 @@ void Surface3DController::setSelectedPoint(const QPoint &position, QSurface3DSer scene()->setSlicingActive(false); } else { // If the selected point is outside data window, or there is no selected point, disable slicing - // TODO: (QTRD-2351) This logic doesn't match the renderer logic for non straight surfaces, - // but that logic needs to change anyway, so this is good for now. float axisMinX = m_axisX->min(); float axisMaxX = m_axisX->max(); float axisMinZ = m_axisZ->min(); diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 135e08e5..2cf56103 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -42,9 +42,6 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION //#define SHOW_DEPTH_TEXTURE_SCENE -// TODO Uniform scaling is broken on surface -//#define USE_UNIFORM_SCALING // Scale x and z uniformly, or based on autoscaled values - const GLfloat aspectRatio = 2.0f; // Forced ratio of x and z to y. Dynamic will make it look odd. const GLfloat backgroundMargin = 1.1f; // Margin for background (1.1f = make it 10% larger to avoid items being drawn inside background) const GLfloat labelMargin = 0.05f; @@ -227,7 +224,6 @@ void Surface3DRenderer::updateData() m_dataArray.clear(); } - // TODO: Handle partial surface grids on the graph edges if (sampleSpace.width() >= 2 && sampleSpace.height() >= 2) { if (dimensionChanged) { m_dataArray.reserve(sampleSpace.height()); @@ -281,8 +277,6 @@ void Surface3DRenderer::updateSeries(const QList &seriesLis { Abstract3DRenderer::updateSeries(seriesList, updateVisibility); - // TODO: move to render cache when multiseries support implemented QTRD-2657 - // TODO: until then just update them always. if (m_visibleSeriesList.size()) { QSurface3DSeries *series = static_cast(m_visibleSeriesList.at(0).series()); updateFlatStatus(series->isFlatShadingEnabled()); @@ -348,8 +342,6 @@ void Surface3DRenderer::updateRows(const QVector &rows) void Surface3DRenderer::updateItem(const QVector &points) { - // TODO: Properly support non-straight rows and columns (QTRD-2643) - // Surface only supports single series for now, so we are only interested in the first series const QSurfaceDataArray *array = 0; if (m_visibleSeriesList.size()) { @@ -611,7 +603,6 @@ void Surface3DRenderer::drawSlicedScene() QMatrix4x4 modelMatrix; QMatrix4x4 itModelMatrix; - // TODO: Do properly when multiseries support implemented QTRD-2657 const SeriesRenderCache &series = m_visibleSeriesList.at(0); modelMatrix.translate(offset, 0.0f, 0.0f); @@ -912,9 +903,6 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) zeroVector, 0.0f, 3.5f / m_autoScaleAdjustment); depthViewMatrix.lookAt(depthLightPos, zeroVector, upVector); - // TODO: Why does depthViewMatrix.column(3).y() goes to zero when we're directly above? - // That causes the scene to be not drawn from above -> must be fixed - // qDebug() << lightPos << depthViewMatrix << depthViewMatrix.column(3); // Set the depth projection matrix #ifndef USE_WIDER_SHADOWS // Use this for perspective shadows @@ -1096,7 +1084,6 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) m_cachedTheme->ambientLightStrength()); m_surfaceShader->setUniformValue(m_surfaceShader->lightColor(), lightColor); - // TODO: Do properly when multiseries support implemented QTRD-2657 GLuint gradientTexture; if (m_visibleSeriesList.at(0).colorStyle() == Q3DTheme::ColorStyleUniform) gradientTexture = m_uniformGradientTexture; @@ -1725,7 +1712,6 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) || visiblePoint == Surface3DController::invalidSelectionPosition()) { m_selectionActive = false; } else { - // TODO: Need separate selection ball for slice and main surface view QTRD-2515 if (m_cachedIsSlicingActivated) updateSliceDataModel(visiblePoint); if (m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionItem)) @@ -1831,17 +1817,10 @@ void Surface3DRenderer::calculateSceneScalingFactors() m_areaSize.setHeight(m_axisCacheZ.max() - m_axisCacheZ.min()); m_areaSize.setWidth(m_axisCacheX.max() - m_axisCacheX.min()); m_scaleFactor = qMax(m_areaSize.width(), m_areaSize.height()); -#ifndef USE_UNIFORM_SCALING // Use this if we want to use autoscaling for x and z m_scaleX = aspectRatio * m_areaSize.width() / m_scaleFactor; m_scaleZ = aspectRatio * m_areaSize.height() / m_scaleFactor; m_scaleXWithBackground = m_scaleX * backgroundMargin; m_scaleZWithBackground = m_scaleZ * backgroundMargin; -#else // ..and this if we want uniform scaling based on largest dimension - m_scaleX = aspectRatio / m_scaleFactor; - m_scaleZ = aspectRatio / m_scaleFactor; - m_scaleXWithBackground = aspectRatio * backgroundMargin; - m_scaleZWithBackground = aspectRatio * backgroundMargin; -#endif } bool Surface3DRenderer::updateFlatStatus(bool enable) @@ -1956,7 +1935,6 @@ void Surface3DRenderer::surfacePointSelected(const QPoint &point) m_selectionPointer->setPosition(pos); m_selectionPointer->setLabel(createSelectionLabel(value, column, row)); - // TODO: Get pointer object from correct series once multiseries support implemented m_selectionPointer->setPointerObject(m_visibleSeriesList.at(0).object()); m_selectionPointer->setHighlightColor(m_visibleSeriesList.at(0).singleHighlightColor()); m_selectionPointer->updateScene(m_cachedScene); @@ -1972,7 +1950,6 @@ QPoint Surface3DRenderer::selectionIdToSurfacePoint(uint id) QString Surface3DRenderer::createSelectionLabel(float value, int column, int row) { - // TODO: Get from correct series once multiple series supported QString labelText = m_visibleSeriesList[0].itemLabelFormat(); static const QString xTitleTag(QStringLiteral("@xTitle")); static const QString yTitleTag(QStringLiteral("@yTitle")); @@ -2010,7 +1987,6 @@ QString Surface3DRenderer::createSelectionLabel(float value, int column, int row labelText.replace(zLabelTag, valueLabelText); } - // TODO: Get from correct series once multiple series supported labelText.replace(seriesNameTag, m_visibleSeriesList[0].name()); m_selectionLabelDirty = false; @@ -2203,7 +2179,6 @@ void Surface3DRenderer::updateDepthBuffer() void Surface3DRenderer::generateUniformGradient(const QVector3D newColor) { if (m_visibleSeriesList.size()) { - // TODO: move uniform gradient to render cache when multiseries support implemented QTRD-2657 QColor newQColor = Utils::colorFromVector(newColor); m_uniformGradientTextureColor = newColor; QLinearGradient newGradient; diff --git a/src/datavisualization/input/qabstract3dinputhandler_p.h b/src/datavisualization/input/qabstract3dinputhandler_p.h index 001040b8..4faffc5e 100644 --- a/src/datavisualization/input/qabstract3dinputhandler_p.h +++ b/src/datavisualization/input/qabstract3dinputhandler_p.h @@ -64,7 +64,6 @@ private: QPoint m_inputPosition; QRect m_mainViewPort; - // TODO: Check if this could be avoided with signals/slots or some other way. Q3DScene *m_scene; bool m_isDefaultHandler; diff --git a/src/datavisualization/theme/q3dtheme.cpp b/src/datavisualization/theme/q3dtheme.cpp index 34c86108..1f9155b7 100644 --- a/src/datavisualization/theme/q3dtheme.cpp +++ b/src/datavisualization/theme/q3dtheme.cpp @@ -422,7 +422,6 @@ Q3DTheme::~Q3DTheme() { } -// TODO: Add needRenders if necessary after color api has been added to series (QTRD-2200/2557) /*! * \property Q3DTheme::baseColors * diff --git a/src/datavisualization/utils/meshloader_p.h b/src/datavisualization/utils/meshloader_p.h index e609c45e..be88dbdb 100644 --- a/src/datavisualization/utils/meshloader_p.h +++ b/src/datavisualization/utils/meshloader_p.h @@ -43,7 +43,6 @@ class MeshLoader QVector &out_vertices, QVector &out_uvs, QVector &out_normals); - // TODO: add loaders for other formats? }; QT_END_NAMESPACE_DATAVISUALIZATION -- cgit v1.2.3 From 892bd7976b2980947adf216b8afc5c6f2a63ce65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Wed, 22 Jan 2014 10:00:08 +0200 Subject: Made jira tasks of TODOs, part 2 + commented-out code and qDebugs removed Task-number: QTRD-2398 Change-Id: Iab13e3ae9d672c0a3bcb4735b3fd1931b2eb7d86 Change-Id: Iab13e3ae9d672c0a3bcb4735b3fd1931b2eb7d86 Reviewed-by: Miikka Heikkinen --- src/datavisualization/data/labelitem_p.h | 2 +- src/datavisualization/data/qabstract3dseries_p.h | 2 +- src/datavisualization/data/qabstractdataproxy.cpp | 3 +- src/datavisualization/data/qabstractdataproxy.h | 2 +- src/datavisualization/data/qabstractdataproxy_p.h | 2 +- src/datavisualization/data/qbardataproxy.h | 2 +- src/datavisualization/data/qbardataproxy_p.h | 2 +- .../data/qheightmapsurfacedataproxy.cpp | 9 ++-- .../data/qitemmodelsurfacedataproxy.cpp | 9 ++-- src/datavisualization/data/qscatterdataproxy_p.h | 2 +- src/datavisualization/data/qsurfacedataproxy.cpp | 2 - src/datavisualization/data/qsurfacedataproxy.h | 2 +- src/datavisualization/data/qsurfacedataproxy_p.h | 2 +- .../data/scatteritemmodelhandler.cpp | 3 +- .../data/surfaceitemmodelhandler.cpp | 2 +- .../engine/abstract3dcontroller.cpp | 6 ++- .../engine/abstract3drenderer.cpp | 36 +++++++++----- .../engine/abstract3drenderer_p.h | 9 ++-- src/datavisualization/engine/bars3dcontroller.cpp | 3 +- src/datavisualization/engine/bars3dcontroller_p.h | 2 - src/datavisualization/engine/bars3drenderer.cpp | 29 +++-------- src/datavisualization/engine/bars3drenderer_p.h | 3 +- src/datavisualization/engine/drawer.cpp | 4 +- src/datavisualization/engine/q3dbars.cpp | 3 +- src/datavisualization/engine/q3dbox.cpp | 2 +- src/datavisualization/engine/q3dbox.h | 1 + src/datavisualization/engine/q3dcamera.h | 3 +- src/datavisualization/engine/q3dcamera_p.h | 2 +- src/datavisualization/engine/q3dlight.h | 2 +- src/datavisualization/engine/q3dlight_p.h | 2 +- src/datavisualization/engine/q3dobject.h | 2 +- src/datavisualization/engine/q3dobject_p.h | 2 +- src/datavisualization/engine/q3dscene.cpp | 24 ++++++--- src/datavisualization/engine/q3dscene.h | 2 +- src/datavisualization/engine/q3dscene_p.h | 2 +- src/datavisualization/engine/q3dsurface.cpp | 2 +- src/datavisualization/engine/q3dsurface.h | 2 +- src/datavisualization/engine/q3dsurface_p.h | 2 +- .../engine/scatter3dcontroller_p.h | 5 +- src/datavisualization/engine/scatter3drenderer.cpp | 28 +---------- src/datavisualization/engine/scatter3drenderer_p.h | 6 ++- src/datavisualization/engine/selectionpointer.cpp | 4 -- src/datavisualization/engine/selectionpointer_p.h | 14 ++---- .../engine/surface3dcontroller.cpp | 3 +- .../engine/surface3dcontroller_p.h | 1 - src/datavisualization/engine/surface3drenderer.cpp | 58 ++++++++++------------ src/datavisualization/engine/surface3drenderer_p.h | 13 +---- src/datavisualization/input/q3dinputhandler_p.h | 2 +- .../input/qabstract3dinputhandler.h | 2 +- .../input/qabstract3dinputhandler_p.h | 2 +- .../input/qtouch3dinputhandler_p.h | 2 +- src/datavisualization/theme/thememanager.cpp | 32 ++++++------ .../utils/abstractobjecthelper_p.h | 2 +- src/datavisualization/utils/camerahelper.cpp | 28 ----------- src/datavisualization/utils/camerahelper_p.h | 4 +- src/datavisualization/utils/meshloader.cpp | 7 --- src/datavisualization/utils/objecthelper.cpp | 2 - src/datavisualization/utils/surfaceobject.cpp | 11 ++-- src/datavisualization/utils/surfaceobject_p.h | 3 +- src/datavisualization/utils/utils.cpp | 22 +------- src/datavisualization/utils/utils_p.h | 1 - src/datavisualization/utils/vertexindexer.cpp | 15 ++---- src/datavisualization/utils/vertexindexer_p.h | 4 +- 63 files changed, 176 insertions(+), 286 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/data/labelitem_p.h b/src/datavisualization/data/labelitem_p.h index 9359e8c1..9ed8f3ff 100644 --- a/src/datavisualization/data/labelitem_p.h +++ b/src/datavisualization/data/labelitem_p.h @@ -48,7 +48,7 @@ public: void clear(); private: - Q_DISABLE_COPY(LabelItem); + Q_DISABLE_COPY(LabelItem) QSize m_size; GLuint m_textureId; diff --git a/src/datavisualization/data/qabstract3dseries_p.h b/src/datavisualization/data/qabstract3dseries_p.h index 67d5dee3..f1bc1f95 100644 --- a/src/datavisualization/data/qabstract3dseries_p.h +++ b/src/datavisualization/data/qabstract3dseries_p.h @@ -144,4 +144,4 @@ public: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QAbstract3DSeries_P_H +#endif diff --git a/src/datavisualization/data/qabstractdataproxy.cpp b/src/datavisualization/data/qabstractdataproxy.cpp index 8798d53b..0dc247ec 100644 --- a/src/datavisualization/data/qabstractdataproxy.cpp +++ b/src/datavisualization/data/qabstractdataproxy.cpp @@ -95,7 +95,8 @@ QAbstractDataProxy::DataType QAbstractDataProxy::type() const // QAbstractDataProxyPrivate -QAbstractDataProxyPrivate::QAbstractDataProxyPrivate(QAbstractDataProxy *q, QAbstractDataProxy::DataType type) +QAbstractDataProxyPrivate::QAbstractDataProxyPrivate(QAbstractDataProxy *q, + QAbstractDataProxy::DataType type) : QObject(0), q_ptr(q), m_type(type), diff --git a/src/datavisualization/data/qabstractdataproxy.h b/src/datavisualization/data/qabstractdataproxy.h index 520f407d..ae21e1dc 100644 --- a/src/datavisualization/data/qabstractdataproxy.h +++ b/src/datavisualization/data/qabstractdataproxy.h @@ -61,4 +61,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QABSTRACTDATAPROXY_H +#endif diff --git a/src/datavisualization/data/qabstractdataproxy_p.h b/src/datavisualization/data/qabstractdataproxy_p.h index 2e073f7d..2e90696a 100644 --- a/src/datavisualization/data/qabstractdataproxy_p.h +++ b/src/datavisualization/data/qabstractdataproxy_p.h @@ -58,4 +58,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QABSTRACTDATAPROXY_P_H +#endif diff --git a/src/datavisualization/data/qbardataproxy.h b/src/datavisualization/data/qbardataproxy.h index 7843e5dc..d4fbdb2d 100644 --- a/src/datavisualization/data/qbardataproxy.h +++ b/src/datavisualization/data/qbardataproxy.h @@ -109,4 +109,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QBARDATAPROXY_H +#endif diff --git a/src/datavisualization/data/qbardataproxy_p.h b/src/datavisualization/data/qbardataproxy_p.h index 6576230b..cc19cbbd 100644 --- a/src/datavisualization/data/qbardataproxy_p.h +++ b/src/datavisualization/data/qbardataproxy_p.h @@ -74,4 +74,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QBARDATAPROXY_P_H +#endif diff --git a/src/datavisualization/data/qheightmapsurfacedataproxy.cpp b/src/datavisualization/data/qheightmapsurfacedataproxy.cpp index feb6cded..d71f65a4 100644 --- a/src/datavisualization/data/qheightmapsurfacedataproxy.cpp +++ b/src/datavisualization/data/qheightmapsurfacedataproxy.cpp @@ -296,9 +296,7 @@ const QHeightMapSurfaceDataProxyPrivate *QHeightMapSurfaceDataProxy::dptrc() con return static_cast(d_ptr.data()); } -// // QHeightMapSurfaceDataProxyPrivate -// QHeightMapSurfaceDataProxyPrivate::QHeightMapSurfaceDataProxyPrivate(QHeightMapSurfaceDataProxy *q) : QSurfaceDataProxyPrivate(q), @@ -321,7 +319,8 @@ QHeightMapSurfaceDataProxy *QHeightMapSurfaceDataProxyPrivate::qptr() return static_cast(q_ptr); } -void QHeightMapSurfaceDataProxyPrivate::setValueRanges(float minX, float maxX, float minZ, float maxZ) +void QHeightMapSurfaceDataProxyPrivate::setValueRanges(float minX, float maxX, + float minZ, float maxZ) { bool minXChanged = false; bool maxXChanged = false; @@ -509,10 +508,10 @@ void QHeightMapSurfaceDataProxyPrivate::handlePendingResolve() for (; j < lastCol; j++) newRow[j].setPosition(QVector3D((float(j) * xMul) + m_minXValue, float(bits[bitCount + (j * 4)]), - zVal)); + zVal)); newRow[j].setPosition(QVector3D(m_maxXValue, float(bits[bitCount + (j * 4)]), - zVal)); + zVal)); } } else { // Not grayscale, we'll need to calculate height from RGB diff --git a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp index 0753ae09..fd21414a 100644 --- a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp +++ b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp @@ -158,7 +158,8 @@ QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(QObject *parent) * Constructs QItemModelSurfaceDataProxy with \a itemModel and optional \a parent. Proxy doesn't take * ownership of the \a itemModel, as typically item models are owned by other controls. */ -QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(const QAbstractItemModel *itemModel, QObject *parent) +QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(const QAbstractItemModel *itemModel, + QObject *parent) : QSurfaceDataProxy(new QItemModelSurfaceDataProxyPrivate(this), parent) { dptr()->m_itemModelHandler->setItemModel(itemModel); @@ -173,7 +174,8 @@ QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(const QAbstractItemModel * in rows and columns already, so it also sets useModelCategories property to true. */ QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(const QAbstractItemModel *itemModel, - const QString &valueRole, QObject *parent) + const QString &valueRole, + QObject *parent) : QSurfaceDataProxy(new QItemModelSurfaceDataProxyPrivate(this), parent) { dptr()->m_itemModelHandler->setItemModel(itemModel); @@ -190,7 +192,8 @@ QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(const QAbstractItemModel QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(const QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, - const QString &valueRole, QObject *parent) + const QString &valueRole, + QObject *parent) : QSurfaceDataProxy(new QItemModelSurfaceDataProxyPrivate(this), parent) { dptr()->m_itemModelHandler->setItemModel(itemModel); diff --git a/src/datavisualization/data/qscatterdataproxy_p.h b/src/datavisualization/data/qscatterdataproxy_p.h index c9f1d78e..2acf7ec5 100644 --- a/src/datavisualization/data/qscatterdataproxy_p.h +++ b/src/datavisualization/data/qscatterdataproxy_p.h @@ -63,4 +63,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QBARDATAPROXY_P_H +#endif diff --git a/src/datavisualization/data/qsurfacedataproxy.cpp b/src/datavisualization/data/qsurfacedataproxy.cpp index bcb60f8c..ec28d491 100644 --- a/src/datavisualization/data/qsurfacedataproxy.cpp +++ b/src/datavisualization/data/qsurfacedataproxy.cpp @@ -355,9 +355,7 @@ const QSurfaceDataProxyPrivate *QSurfaceDataProxy::dptrc() const * need to emit this signal yourself or the graph won't get updated. */ -// // QSurfaceDataProxyPrivate -// QSurfaceDataProxyPrivate::QSurfaceDataProxyPrivate(QSurfaceDataProxy *q) : QAbstractDataProxyPrivate(q, QAbstractDataProxy::DataTypeSurface), diff --git a/src/datavisualization/data/qsurfacedataproxy.h b/src/datavisualization/data/qsurfacedataproxy.h index ffa20989..8c366dfa 100644 --- a/src/datavisualization/data/qsurfacedataproxy.h +++ b/src/datavisualization/data/qsurfacedataproxy.h @@ -91,4 +91,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QSURFACEDATAPROXY_H +#endif diff --git a/src/datavisualization/data/qsurfacedataproxy_p.h b/src/datavisualization/data/qsurfacedataproxy_p.h index d370ef69..42c633fb 100644 --- a/src/datavisualization/data/qsurfacedataproxy_p.h +++ b/src/datavisualization/data/qsurfacedataproxy_p.h @@ -69,4 +69,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QSURFACEDATAPROXY_P_H +#endif diff --git a/src/datavisualization/data/scatteritemmodelhandler.cpp b/src/datavisualization/data/scatteritemmodelhandler.cpp index 81ecf8b0..c9e5e867 100644 --- a/src/datavisualization/data/scatteritemmodelhandler.cpp +++ b/src/datavisualization/data/scatteritemmodelhandler.cpp @@ -92,7 +92,8 @@ void ScatterItemModelHandler::handleRowsRemoved(const QModelIndex &parent, int s } } -void ScatterItemModelHandler::modelPosToScatterItem(int modelRow, int modelColumn, QScatterDataItem &item) +void ScatterItemModelHandler::modelPosToScatterItem(int modelRow, int modelColumn, + QScatterDataItem &item) { QModelIndex index = m_itemModel->index(modelRow, modelColumn); float xPos(0.0f); diff --git a/src/datavisualization/data/surfaceitemmodelhandler.cpp b/src/datavisualization/data/surfaceitemmodelhandler.cpp index db6052d9..d3e0f893 100644 --- a/src/datavisualization/data/surfaceitemmodelhandler.cpp +++ b/src/datavisualization/data/surfaceitemmodelhandler.cpp @@ -131,7 +131,7 @@ void SurfaceItemModelHandler::resolveModel() for (int j = 0; j < columnList.size(); j++) { newProxyRow[j].setPosition(QVector3D(columnList.at(j).toFloat(), itemValueMap[rowKey][columnList.at(j)], - rowList.at(i).toFloat())); + rowList.at(i).toFloat())); } } } diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 2cda94e2..b7440c84 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -36,7 +36,8 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION -Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scene, QObject *parent) : +Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scene, + QObject *parent) : QObject(parent), m_themeManager(new ThemeManager(this)), m_selectionMode(QAbstract3DGraph::SelectionItem), @@ -576,7 +577,8 @@ void Abstract3DController::addInputHandler(QAbstract3DInputHandler *inputHandler Q_ASSERT(inputHandler); Abstract3DController *owner = qobject_cast(inputHandler->parent()); if (owner != this) { - Q_ASSERT_X(!owner, "addInputHandler", "Input handler already attached to another component."); + Q_ASSERT_X(!owner, "addInputHandler", + "Input handler already attached to another component."); inputHandler->setParent(this); } diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 350da1fc..50ae097b 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -103,7 +103,8 @@ void Abstract3DRenderer::render(const GLuint defaultFboHandle) // Measure speed (as milliseconds per frame) m_numFrames++; if (m_lastFrameTime.elapsed() >= 1000) { // print only if last measurement was more than 1s ago - qDebug() << float(m_lastFrameTime.elapsed()) / float(m_numFrames) << "ms/frame (=" << float(m_numFrames) << "fps)"; + qDebug() << float(m_lastFrameTime.elapsed()) / float(m_numFrames) << "ms/frame (=" + << float(m_numFrames) << "fps)"; m_numFrames = 0; m_lastFrameTime.restart(); } @@ -152,7 +153,8 @@ void Abstract3DRenderer::updateInputPosition(const QPoint &position) m_inputPosition = position; } -void Abstract3DRenderer::initGradientShaders(const QString &vertexShader, const QString &fragmentShader) +void Abstract3DRenderer::initGradientShaders(const QString &vertexShader, + const QString &fragmentShader) { // Do nothing by default Q_UNUSED(vertexShader) @@ -192,7 +194,6 @@ void Abstract3DRenderer::updateScene(Q3DScene *scene) updateInputPosition(QPoint(logicalPixelPosition.x() * m_devicePixelRatio, logicalPixelPosition.y() * m_devicePixelRatio)); - // Synchronize the renderer scene to controller scene scene->d_ptr->sync(*m_cachedScene->d_ptr); @@ -285,39 +286,46 @@ void Abstract3DRenderer::handleResize() #endif } -void Abstract3DRenderer::updateAxisType(QAbstract3DAxis::AxisOrientation orientation, QAbstract3DAxis::AxisType type) +void Abstract3DRenderer::updateAxisType(QAbstract3DAxis::AxisOrientation orientation, + QAbstract3DAxis::AxisType type) { axisCacheForOrientation(orientation).setType(type); } -void Abstract3DRenderer::updateAxisTitle(QAbstract3DAxis::AxisOrientation orientation, const QString &title) +void Abstract3DRenderer::updateAxisTitle(QAbstract3DAxis::AxisOrientation orientation, + const QString &title) { axisCacheForOrientation(orientation).setTitle(title); } -void Abstract3DRenderer::updateAxisLabels(QAbstract3DAxis::AxisOrientation orientation, const QStringList &labels) +void Abstract3DRenderer::updateAxisLabels(QAbstract3DAxis::AxisOrientation orientation, + const QStringList &labels) { axisCacheForOrientation(orientation).setLabels(labels); } -void Abstract3DRenderer::updateAxisRange(QAbstract3DAxis::AxisOrientation orientation, float min, float max) +void Abstract3DRenderer::updateAxisRange(QAbstract3DAxis::AxisOrientation orientation, + float min, float max) { AxisRenderCache &cache = axisCacheForOrientation(orientation); cache.setMin(min); cache.setMax(max); } -void Abstract3DRenderer::updateAxisSegmentCount(QAbstract3DAxis::AxisOrientation orientation, int count) +void Abstract3DRenderer::updateAxisSegmentCount(QAbstract3DAxis::AxisOrientation orientation, + int count) { axisCacheForOrientation(orientation).setSegmentCount(count); } -void Abstract3DRenderer::updateAxisSubSegmentCount(QAbstract3DAxis::AxisOrientation orientation, int count) +void Abstract3DRenderer::updateAxisSubSegmentCount(QAbstract3DAxis::AxisOrientation orientation, + int count) { axisCacheForOrientation(orientation).setSubSegmentCount(count); } -void Abstract3DRenderer::updateAxisLabelFormat(QAbstract3DAxis::AxisOrientation orientation, const QString &format) +void Abstract3DRenderer::updateAxisLabelFormat(QAbstract3DAxis::AxisOrientation orientation, + const QString &format) { axisCacheForOrientation(orientation).setLabelFormat(format); } @@ -354,7 +362,7 @@ void Abstract3DRenderer::updateSeries(const QList &seriesLi } foreach (QAbstract3DSeries *current, seriesList) { if (current->isVisible()) { - // Item selection label may need update + // Item selection label may need update if (current->d_ptr->m_changeTracker.nameChanged || current->d_ptr->m_changeTracker.itemLabelFormatChanged) { m_selectionLabelDirty = true; @@ -364,7 +372,8 @@ void Abstract3DRenderer::updateSeries(const QList &seriesLi } } -AxisRenderCache &Abstract3DRenderer::axisCacheForOrientation(QAbstract3DAxis::AxisOrientation orientation) +AxisRenderCache &Abstract3DRenderer::axisCacheForOrientation( + QAbstract3DAxis::AxisOrientation orientation) { switch (orientation) { case QAbstract3DAxis::AxisOrientationX: @@ -417,7 +426,8 @@ void Abstract3DRenderer::lowerShadowQuality() updateShadowQuality(newQuality); } -void Abstract3DRenderer::fixGradientAndGenerateTexture(QLinearGradient *gradient, GLuint *gradientTexture) +void Abstract3DRenderer::fixGradientAndGenerateTexture(QLinearGradient *gradient, + GLuint *gradientTexture) { // Readjust start/stop to match gradient texture size gradient->setStart(qreal(gradientTextureWidth), qreal(gradientTextureHeight)); diff --git a/src/datavisualization/engine/abstract3drenderer_p.h b/src/datavisualization/engine/abstract3drenderer_p.h index f9dd56d8..87c31dae 100644 --- a/src/datavisualization/engine/abstract3drenderer_p.h +++ b/src/datavisualization/engine/abstract3drenderer_p.h @@ -29,9 +29,12 @@ #ifndef ABSTRACT3DRENDERER_P_H #define ABSTRACT3DRENDERER_P_H +//#define DISPLAY_RENDER_SPEED + #include -#include +#ifdef DISPLAY_RENDER_SPEED #include +#endif #include "datavisualizationglobal_p.h" #include "abstract3dcontroller_p.h" @@ -39,8 +42,6 @@ #include "qabstractdataproxy.h" #include "seriesrendercache_p.h" -//#define DISPLAY_RENDER_SPEED - QT_BEGIN_NAMESPACE_DATAVISUALIZATION class TextureHelper; @@ -154,4 +155,4 @@ protected: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // ABSTRACT3DRENDERER_P_H +#endif diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index b0627377..95fb36b9 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -406,7 +406,8 @@ bool Bars3DController::isBarSpecRelative() void Bars3DController::setSelectionMode(QAbstract3DGraph::SelectionFlags mode) { if (mode.testFlag(QAbstract3DGraph::SelectionSlice) - && (mode.testFlag(QAbstract3DGraph::SelectionRow) == mode.testFlag(QAbstract3DGraph::SelectionColumn))) { + && (mode.testFlag(QAbstract3DGraph::SelectionRow) + == mode.testFlag(QAbstract3DGraph::SelectionColumn))) { qWarning("Must specify one of either row or column selection mode in conjunction with slicing mode."); } else { QAbstract3DGraph::SelectionFlags oldMode = selectionMode(); diff --git a/src/datavisualization/engine/bars3dcontroller_p.h b/src/datavisualization/engine/bars3dcontroller_p.h index 54520b32..191007b7 100644 --- a/src/datavisualization/engine/bars3dcontroller_p.h +++ b/src/datavisualization/engine/bars3dcontroller_p.h @@ -32,8 +32,6 @@ #include "datavisualizationglobal_p.h" #include "abstract3dcontroller_p.h" -//#define DISPLAY_RENDER_SPEED - QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Bars3DRenderer; diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 7470f0cf..ada9f660 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -876,19 +876,6 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) // Disable drawing to depth framebuffer (= enable drawing to screen) glBindFramebuffer(GL_FRAMEBUFFER, defaultFboHandle); -#if 0 // Use this if you want to see what is being drawn to the framebuffer - // You'll also have to comment out GL_COMPARE_R_TO_TEXTURE -line in texturehelper (if using it) - m_labelShader->bind(); - glCullFace(GL_BACK); - glEnable(GL_TEXTURE_2D); - QMatrix4x4 modelMatrix; - QMatrix4x4 viewmatrix; - viewmatrix.lookAt(QVector3D(0.0f, 0.0f, 2.5f), zeroVector, upVector); - QMatrix4x4 MVPMatrix = projectionViewMatrix * modelMatrix; - m_labelShader->setUniformValue(m_labelShader->MVP(), MVPMatrix); - m_drawer->drawObject(m_labelShader, m_labelObj, m_depthTexture); - glDisable(GL_TEXTURE_2D); -#endif // Reset culling to normal glCullFace(GL_BACK); @@ -945,15 +932,9 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) MVPMatrix = projectionViewMatrix * modelMatrix; - //#if !defined(QT_OPENGL_ES_2) - // QVector3D barColor = QVector3D(GLfloat(row) / 32767.0f, - // GLfloat(bar) / 32767.0f, - // 0.0f); - //#else QVector3D barColor = QVector3D(GLfloat(row) / 255.0f, GLfloat(bar) / 255.0f, GLfloat(series) / 255.0f); - //#endif m_selectionShader->setUniformValue(m_selectionShader->MVP(), MVPMatrix); m_selectionShader->setUniformValue(m_selectionShader->color(), barColor); @@ -1158,7 +1139,8 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) lightStrength = m_cachedTheme->highlightLightStrength(); shadowLightStrength = adjustedHighlightStrength; // Insert position data into render item. We have no ownership, don't delete the previous one - if (!m_cachedIsSlicingActivated && m_visualSelectedBarSeriesIndex == series) { + if (!m_cachedIsSlicingActivated + && m_visualSelectedBarSeriesIndex == series) { selectedBar = &item; selectedBar->setPosition(QPoint(row, bar)); item.setTranslation(modelMatrix.column(3).toVector3D()); @@ -1419,7 +1401,8 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) #endif { // Set shadowless shader bindings - lineShader->setUniformValue(lineShader->lightS(), m_cachedTheme->lightStrength() / 2.5f); + lineShader->setUniformValue(lineShader->lightS(), + m_cachedTheme->lightStrength() / 2.5f); } GLfloat yFloorLinePosition = 0.0f; @@ -1648,7 +1631,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) for (int row = 0; row != m_cachedRowCount; row++) { if (m_axisCacheZ.labelItems().size() > row) { // Go through all rows and get position of max+1 or min-1 column, depending on x flip - // We need only positions for them, labels have already been generated at QDataSetPrivate. Just add LabelItems + // We need only positions for them, labels have already been generated rowPos = (row + 0.5f) * m_cachedBarSpacing.height(); if (m_xFlipped) colPos = -colPosValue; @@ -1685,7 +1668,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) for (int column = 0; column != m_cachedColumnCount; column++) { if (m_axisCacheX.labelItems().size() > column) { // Go through all columns and get position of max+1 or min-1 row, depending on z flip - // We need only positions for them, labels have already been generated at QDataSetPrivate. Just add LabelItems + // We need only positions for them, labels have already been generated colPos = (column + 0.5f) * m_cachedBarSpacing.width(); if (m_zFlipped) rowPos = -rowPosValue; diff --git a/src/datavisualization/engine/bars3drenderer_p.h b/src/datavisualization/engine/bars3drenderer_p.h index a300aa80..353ead44 100644 --- a/src/datavisualization/engine/bars3drenderer_p.h +++ b/src/datavisualization/engine/bars3drenderer_p.h @@ -128,7 +128,8 @@ public slots: void resetClickedStatus(); // Overloaded from abstract renderer - virtual void updateAxisRange(QAbstract3DAxis::AxisOrientation orientation, float min, float max); + virtual void updateAxisRange(QAbstract3DAxis::AxisOrientation orientation, float min, + float max); private: virtual void initShaders(const QString &vertexShader, const QString &fragmentShader); diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index 2fb8d81f..4cb614a7 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -294,12 +294,12 @@ void Drawer::drawLabel(const AbstractRenderItem &item, const LabelItem &labelIte } case Qt::AlignHCenter: { xAlignment = (-(GLfloat)textureSize.width() * scaleFactor) * cosRotZ - - ((GLfloat)textureSize.height() * scaleFactor) * sinRotZ; + - ((GLfloat)textureSize.height() * scaleFactor) * sinRotZ; break; } case Qt::AlignVCenter: { yAlignment = ((GLfloat)textureSize.width() * scaleFactor) * cosRotZ - + ((GLfloat)textureSize.height() * scaleFactor) * sinRotZ; + + ((GLfloat)textureSize.height() * scaleFactor) * sinRotZ; break; } default: { diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp index a5b1dc3e..3cc4de0d 100644 --- a/src/datavisualization/engine/q3dbars.cpp +++ b/src/datavisualization/engine/q3dbars.cpp @@ -191,7 +191,8 @@ QList Q3DBars::seriesList() void Q3DBars::setBarThickness(float thicknessRatio) { if (thicknessRatio != barThickness()) { - dptr()->m_shared->setBarSpecs(GLfloat(thicknessRatio), barSpacing(), isBarSpacingRelative()); + dptr()->m_shared->setBarSpecs(GLfloat(thicknessRatio), barSpacing(), + isBarSpacingRelative()); emit barThicknessChanged(thicknessRatio); } } diff --git a/src/datavisualization/engine/q3dbox.cpp b/src/datavisualization/engine/q3dbox.cpp index e9fd3fd8..3be7dc7b 100644 --- a/src/datavisualization/engine/q3dbox.cpp +++ b/src/datavisualization/engine/q3dbox.cpp @@ -480,6 +480,6 @@ QDataStream &operator>>(QDataStream &stream, Q3DBox &box) return stream; } -#endif // QT_NO_DATASTREAM +#endif QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/q3dbox.h b/src/datavisualization/engine/q3dbox.h index e18466f3..4fd4b8f3 100644 --- a/src/datavisualization/engine/q3dbox.h +++ b/src/datavisualization/engine/q3dbox.h @@ -19,6 +19,7 @@ #ifndef Q3DBOX_H #define Q3DBOX_H +#include #include #include diff --git a/src/datavisualization/engine/q3dcamera.h b/src/datavisualization/engine/q3dcamera.h index 4c4d2851..eb65b52d 100644 --- a/src/datavisualization/engine/q3dcamera.h +++ b/src/datavisualization/engine/q3dcamera.h @@ -134,7 +134,6 @@ signals: void wrapYRotationChanged(bool isEnabled); private: - // To be exposed in the future void setMinXRotation(float rotation); void setMinYRotation(float rotation); void setMaxXRotation(float rotation); @@ -159,4 +158,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // Q3DCAMERA_H +#endif diff --git a/src/datavisualization/engine/q3dcamera_p.h b/src/datavisualization/engine/q3dcamera_p.h index 555d5cd9..5b67af66 100644 --- a/src/datavisualization/engine/q3dcamera_p.h +++ b/src/datavisualization/engine/q3dcamera_p.h @@ -84,4 +84,4 @@ public: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // Q3DCAMERA_P_H +#endif diff --git a/src/datavisualization/engine/q3dlight.h b/src/datavisualization/engine/q3dlight.h index f37c0983..31c9d6a5 100644 --- a/src/datavisualization/engine/q3dlight.h +++ b/src/datavisualization/engine/q3dlight.h @@ -45,4 +45,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // Q3DLIGHT_H +#endif diff --git a/src/datavisualization/engine/q3dlight_p.h b/src/datavisualization/engine/q3dlight_p.h index c68956ad..b6c1937a 100644 --- a/src/datavisualization/engine/q3dlight_p.h +++ b/src/datavisualization/engine/q3dlight_p.h @@ -51,7 +51,7 @@ public: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // Q3DLIGHT_P_H +#endif diff --git a/src/datavisualization/engine/q3dobject.h b/src/datavisualization/engine/q3dobject.h index da83709a..5ad45640 100644 --- a/src/datavisualization/engine/q3dobject.h +++ b/src/datavisualization/engine/q3dobject.h @@ -62,4 +62,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // Q3DOBJECT_H +#endif diff --git a/src/datavisualization/engine/q3dobject_p.h b/src/datavisualization/engine/q3dobject_p.h index 90de8604..37229a14 100644 --- a/src/datavisualization/engine/q3dobject_p.h +++ b/src/datavisualization/engine/q3dobject_p.h @@ -50,4 +50,4 @@ public: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // Q3DOBJECT_P_H +#endif diff --git a/src/datavisualization/engine/q3dscene.cpp b/src/datavisualization/engine/q3dscene.cpp index d2cf9c58..19672484 100644 --- a/src/datavisualization/engine/q3dscene.cpp +++ b/src/datavisualization/engine/q3dscene.cpp @@ -208,8 +208,10 @@ bool Q3DScene::isPointInPrimarySubView(const QPoint &point) int x = point.x(); int y = point.y(); int areaMinX = d_ptr->m_primarySubViewport.x(); - int areaMaxX = d_ptr->m_viewport.x() + d_ptr->m_primarySubViewport.x() + d_ptr->m_primarySubViewport.width(); - int areaMaxY = d_ptr->m_viewport.y() + d_ptr->m_primarySubViewport.y() + d_ptr->m_primarySubViewport.height(); + int areaMaxX = d_ptr->m_viewport.x() + d_ptr->m_primarySubViewport.x() + + d_ptr->m_primarySubViewport.width(); + int areaMaxY = d_ptr->m_viewport.y() + d_ptr->m_primarySubViewport.y() + + d_ptr->m_primarySubViewport.height(); int areaMinY = d_ptr->m_viewport.y() + d_ptr->m_primarySubViewport.y(); return ( x > areaMinX && x < areaMaxX && y > areaMinY && y < areaMaxY ); @@ -226,8 +228,10 @@ bool Q3DScene::isPointInSecondarySubView(const QPoint &point) int x = point.x(); int y = point.y(); int areaMinX = d_ptr->m_secondarySubViewport.x(); - int areaMaxX = d_ptr->m_viewport.x() + d_ptr->m_secondarySubViewport.x() + d_ptr->m_secondarySubViewport.width(); - int areaMaxY = d_ptr->m_viewport.y() + d_ptr->m_secondarySubViewport.y() + d_ptr->m_secondarySubViewport.height(); + int areaMaxX = d_ptr->m_viewport.x() + d_ptr->m_secondarySubViewport.x() + + d_ptr->m_secondarySubViewport.width(); + int areaMaxY = d_ptr->m_viewport.y() + d_ptr->m_secondarySubViewport.y() + + d_ptr->m_secondarySubViewport.height(); int areaMinY = d_ptr->m_viewport.y() + d_ptr->m_secondarySubViewport.y(); return ( x > areaMinX && x < areaMaxX && y > areaMinY && y < areaMaxY ); @@ -607,7 +611,8 @@ void Q3DScenePrivate::updateGLViewport() { // Update GL viewport m_glViewport.setX(m_viewport.x() * m_devicePixelRatio); - m_glViewport.setY((m_windowSize.height() - (m_viewport.y() + m_viewport.height())) * m_devicePixelRatio); + m_glViewport.setY((m_windowSize.height() - (m_viewport.y() + m_viewport.height())) + * m_devicePixelRatio); m_glViewport.setWidth(m_viewport.width() * m_devicePixelRatio); m_glViewport.setHeight(m_viewport.height() * m_devicePixelRatio); @@ -622,12 +627,17 @@ void Q3DScenePrivate::updateGLViewport() void Q3DScenePrivate::updateGLSubViewports() { m_glPrimarySubViewport.setX((m_primarySubViewport.x() + m_viewport.x()) * m_devicePixelRatio); - m_glPrimarySubViewport.setY((m_windowSize.height() - (m_primarySubViewport.y() + m_viewport.y() + m_primarySubViewport.height())) * m_devicePixelRatio); + m_glPrimarySubViewport.setY((m_windowSize.height() - (m_primarySubViewport.y() + m_viewport.y() + + m_primarySubViewport.height())) + * m_devicePixelRatio); m_glPrimarySubViewport.setWidth(m_primarySubViewport.width() * m_devicePixelRatio); m_glPrimarySubViewport.setHeight(m_primarySubViewport.height() * m_devicePixelRatio); m_glSecondarySubViewport.setX(m_secondarySubViewport.x() * m_devicePixelRatio); - m_glSecondarySubViewport.setY((m_windowSize.height() - (m_secondarySubViewport.y() + m_viewport.y() + m_secondarySubViewport.height())) * m_devicePixelRatio); + m_glSecondarySubViewport.setY((m_windowSize.height() - (m_secondarySubViewport.y() + + m_viewport.y() + + m_secondarySubViewport.height())) + * m_devicePixelRatio); m_glSecondarySubViewport.setWidth(m_secondarySubViewport.width() * m_devicePixelRatio); m_glSecondarySubViewport.setHeight(m_secondarySubViewport.height() * m_devicePixelRatio); } diff --git a/src/datavisualization/engine/q3dscene.h b/src/datavisualization/engine/q3dscene.h index 8f9ee7b3..c181e18a 100644 --- a/src/datavisualization/engine/q3dscene.h +++ b/src/datavisualization/engine/q3dscene.h @@ -110,4 +110,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // Q3DSCENE_H +#endif diff --git a/src/datavisualization/engine/q3dscene_p.h b/src/datavisualization/engine/q3dscene_p.h index 3ba1c2df..2201049a 100644 --- a/src/datavisualization/engine/q3dscene_p.h +++ b/src/datavisualization/engine/q3dscene_p.h @@ -112,4 +112,4 @@ public: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // Q3DSCENE_P_H +#endif diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp index a9b9e3d3..8ff46791 100644 --- a/src/datavisualization/engine/q3dsurface.cpp +++ b/src/datavisualization/engine/q3dsurface.cpp @@ -262,7 +262,7 @@ QList Q3DSurface::axes() const return retList; } -/////////////////// PRIVATE /////////////////////////////////// +// Q3DSurfacePrivate Q3DSurfacePrivate::Q3DSurfacePrivate(Q3DSurface *q) : QAbstract3DGraphPrivate(q) diff --git a/src/datavisualization/engine/q3dsurface.h b/src/datavisualization/engine/q3dsurface.h index e8158f65..772b0441 100644 --- a/src/datavisualization/engine/q3dsurface.h +++ b/src/datavisualization/engine/q3dsurface.h @@ -68,4 +68,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // Q3DSURFACE_H +#endif diff --git a/src/datavisualization/engine/q3dsurface_p.h b/src/datavisualization/engine/q3dsurface_p.h index acaf76d3..5275020b 100644 --- a/src/datavisualization/engine/q3dsurface_p.h +++ b/src/datavisualization/engine/q3dsurface_p.h @@ -56,4 +56,4 @@ public: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // Q3DSURFACE_P_H +#endif diff --git a/src/datavisualization/engine/scatter3dcontroller_p.h b/src/datavisualization/engine/scatter3dcontroller_p.h index 2e9ade44..f484f830 100644 --- a/src/datavisualization/engine/scatter3dcontroller_p.h +++ b/src/datavisualization/engine/scatter3dcontroller_p.h @@ -32,8 +32,6 @@ #include "datavisualizationglobal_p.h" #include "abstract3dcontroller_p.h" -//#define DISPLAY_RENDER_SPEED - QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Scatter3DRenderer; @@ -105,7 +103,8 @@ public: virtual void removeSeries(QAbstract3DSeries *series); virtual QList scatterSeriesList(); - virtual void handleAxisAutoAdjustRangeChangedInOrientation(QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust); + virtual void handleAxisAutoAdjustRangeChangedInOrientation( + QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust); virtual void handleAxisRangeChangedBySender(QObject *sender); virtual void handleSeriesVisibilityChangedBySender(QObject *sender); virtual void handlePendingClick(); diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 073644db..0edaee60 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -227,7 +227,7 @@ void Scatter3DRenderer::updateScene(Q3DScene *scene) scene->activeCamera()->setMinYRotation(-90.0f); if (m_hasHeightAdjustmentChanged) { - // Set initial m_cachedScene->activeCamera() position. Also update if height adjustment has changed. + // Set initial camera position. Also update if height adjustment has changed. scene->activeCamera()->setBaseOrientation(cameraDistanceVector, zeroVector, upVector); m_hasHeightAdjustmentChanged = false; } @@ -437,19 +437,6 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) m_primarySubViewport.y(), m_primarySubViewport.width(), m_primarySubViewport.height()); - -#if 0 // Use this if you want to see what is being drawn to the framebuffer - // You'll also have to comment out GL_COMPARE_R_TO_TEXTURE -line in texturehelper (if using it) - m_labelShader->bind(); - glEnable(GL_TEXTURE_2D); - QMatrix4x4 modelMatrix; - QMatrix4x4 viewmatrix; - viewmatrix.lookAt(QVector3D(0.0f, 0.0f, 2.5f), zeroVector, upVector); - QMatrix4x4 MVPMatrix = projectionViewMatrix * modelMatrix; - m_labelShader->setUniformValue(m_labelShader->MVP(), MVPMatrix); - m_drawer->drawObject(m_labelShader, m_labelObj, m_depthTexture); - glDisable(GL_TEXTURE_2D); -#endif } ShaderHelper *pointSelectionShader = m_selectionShader; @@ -571,19 +558,6 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) m_primarySubViewport.y(), m_primarySubViewport.width(), m_primarySubViewport.height()); - -#if 0 // Use this if you want to see what is being drawn to the framebuffer - m_labelShader->bind(); - glDisable(GL_DEPTH_TEST); - glEnable(GL_TEXTURE_2D); - QMatrix4x4 modelMatrix; - QMatrix4x4 viewmatrix; - viewmatrix.lookAt(QVector3D(0.0f, 0.0f, 2.0f), zeroVector, upVector); - QMatrix4x4 MVPMatrix = projectionViewMatrix * modelMatrix; - m_labelShader->setUniformValue(m_labelShader->MVP(), MVPMatrix); - m_drawer->drawObject(m_labelShader, m_labelObj, m_selectionTexture); - glDisable(GL_TEXTURE_2D); -#endif } // Draw dots diff --git a/src/datavisualization/engine/scatter3drenderer_p.h b/src/datavisualization/engine/scatter3drenderer_p.h index d21f56a0..d2b52a56 100644 --- a/src/datavisualization/engine/scatter3drenderer_p.h +++ b/src/datavisualization/engine/scatter3drenderer_p.h @@ -142,13 +142,15 @@ private: public slots: // Overloaded from abstract renderer - virtual void updateAxisRange(QAbstract3DAxis::AxisOrientation orientation, float min, float max); + virtual void updateAxisRange(QAbstract3DAxis::AxisOrientation orientation, float min, + float max); void updateSelectedItem(int index, const QScatter3DSeries *series); private: QVector3D indexToSelectionColor(GLint index); - void selectionColorToSeriesAndIndex(const QVector3D &color, int &index, QAbstract3DSeries *&series); + void selectionColorToSeriesAndIndex(const QVector3D &color, int &index, + QAbstract3DSeries *&series); }; QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/selectionpointer.cpp b/src/datavisualization/engine/selectionpointer.cpp index 9cc13224..85fb2b71 100644 --- a/src/datavisualization/engine/selectionpointer.cpp +++ b/src/datavisualization/engine/selectionpointer.cpp @@ -22,16 +22,12 @@ #include "objecthelper_p.h" #include "texturehelper_p.h" #include "q3dcamera.h" -#include "q3dcamera_p.h" #include "drawer_p.h" #include "utils_p.h" #include "q3dlight.h" -#include #include -#include - QT_BEGIN_NAMESPACE_DATAVISUALIZATION const GLfloat sliceUnits = 2.5; diff --git a/src/datavisualization/engine/selectionpointer_p.h b/src/datavisualization/engine/selectionpointer_p.h index c6295fa5..12317943 100644 --- a/src/datavisualization/engine/selectionpointer_p.h +++ b/src/datavisualization/engine/selectionpointer_p.h @@ -26,30 +26,22 @@ // // We mean it. -#ifndef NOTIFICATIONLABEL_P_H -#define NOTIFICATIONLABEL_P_H +#ifndef SELECTIONPOINTER_P_H +#define SELECTIONPOINTER_P_H -#include -#include -#include -#include #include #include "q3dscene.h" #include "datavisualizationglobal_p.h" #include "surface3dcontroller_p.h" -class QOpenGLShaderProgram; - QT_BEGIN_NAMESPACE_DATAVISUALIZATION class ShaderHelper; class ObjectHelper; class SurfaceObject; class TextureHelper; -class Theme; class Drawer; -class Q3DCamera; class SelectionPointer : public QObject, protected QOpenGLFunctions { @@ -95,4 +87,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // NOTIFICATIONLABEL_P_H +#endif diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index 979d615a..89357e41 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -89,7 +89,8 @@ void Surface3DController::synchDataToRenderer() } } -void Surface3DController::handleAxisAutoAdjustRangeChangedInOrientation(QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust) +void Surface3DController::handleAxisAutoAdjustRangeChangedInOrientation( + QAbstract3DAxis::AxisOrientation orientation, bool autoAdjust) { Q_UNUSED(orientation) Q_UNUSED(autoAdjust) diff --git a/src/datavisualization/engine/surface3dcontroller_p.h b/src/datavisualization/engine/surface3dcontroller_p.h index 85a32564..e98fd906 100644 --- a/src/datavisualization/engine/surface3dcontroller_p.h +++ b/src/datavisualization/engine/surface3dcontroller_p.h @@ -32,7 +32,6 @@ #include "abstract3dcontroller_p.h" #include "datavisualizationglobal_p.h" - QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Surface3DRenderer; diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 2cf56103..286477df 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -232,7 +232,8 @@ void Surface3DRenderer::updateData() } for (int i = 0; i < sampleSpace.height(); i++) { for (int j = 0; j < sampleSpace.width(); j++) - (*(m_dataArray.at(i)))[j] = array->at(i + sampleSpace.y())->at(j + sampleSpace.x()); + (*(m_dataArray.at(i)))[j] = array->at(i + sampleSpace.y())->at( + j + sampleSpace.x()); } if (m_dataArray.size() > 0) { @@ -273,7 +274,8 @@ void Surface3DRenderer::updateData() updateSelectedPoint(m_selectedPoint, m_selectedSeries); } -void Surface3DRenderer::updateSeries(const QList &seriesList, bool updateVisibility) +void Surface3DRenderer::updateSeries(const QList &seriesList, + bool updateVisibility) { Abstract3DRenderer::updateSeries(seriesList, updateVisibility); @@ -295,7 +297,8 @@ void Surface3DRenderer::updateSeries(const QList &seriesLis if (m_uniformGradientTextureColor != seriesColor) generateUniformGradient(seriesColor); if (m_selectionPointer) { - m_selectionPointer->setHighlightColor(Utils::vectorFromColor(series->singleHighlightColor())); + m_selectionPointer->setHighlightColor( + Utils::vectorFromColor(series->singleHighlightColor())); // Make sure selection pointer object reference is still good m_selectionPointer->setPointerObject(m_visibleSeriesList.at(0).object()); } @@ -313,8 +316,8 @@ void Surface3DRenderer::updateRows(const QVector &rows) array = dataProxy->array(); } - if (array && array->size() >= 2 && array->at(0)->size() >= 2 && - m_sampleSpace.width() >= 2 && m_sampleSpace.height() >= 2) { + if (array && array->size() >= 2 && array->at(0)->size() >= 2 + && m_sampleSpace.width() >= 2 && m_sampleSpace.height() >= 2) { bool updateBuffers = false; int sampleSpaceTop = m_sampleSpace.y() + m_sampleSpace.height(); foreach (int row, rows) { @@ -325,10 +328,12 @@ void Surface3DRenderer::updateRows(const QVector &rows) array->at(row)->at(j + m_sampleSpace.x()); if (m_cachedFlatShading) { - m_surfaceObj->updateCoarseRow(m_dataArray, row - m_sampleSpace.y(), m_heightNormalizer, + m_surfaceObj->updateCoarseRow(m_dataArray, row - m_sampleSpace.y(), + m_heightNormalizer, m_axisCacheY.min()); } else { - m_surfaceObj->updateSmoothRow(m_dataArray, row - m_sampleSpace.y(), m_heightNormalizer, + m_surfaceObj->updateSmoothRow(m_dataArray, row - m_sampleSpace.y(), + m_heightNormalizer, m_axisCacheY.min()); } } @@ -351,23 +356,25 @@ void Surface3DRenderer::updateItem(const QVector &points) array = dataProxy->array(); } - if (array && array->size() >= 2 && array->at(0)->size() >= 2 && - m_sampleSpace.width() >= 2 && m_sampleSpace.height() >= 2) { + if (array && array->size() >= 2 && array->at(0)->size() >= 2 + && m_sampleSpace.width() >= 2 && m_sampleSpace.height() >= 2) { int sampleSpaceTop = m_sampleSpace.y() + m_sampleSpace.height(); int sampleSpaceRight = m_sampleSpace.x() + m_sampleSpace.width(); bool updateBuffers = false; foreach (QPoint item, points) { if (item.y() <= sampleSpaceTop && item.y() >= m_sampleSpace.y() && - item.x() <= sampleSpaceRight && item.x() >= m_sampleSpace.x()) { + item.x() <= sampleSpaceRight && item.x() >= m_sampleSpace.x()) { updateBuffers = true; int x = item.x() - m_sampleSpace.x(); int y = item.y() - m_sampleSpace.y(); (*(m_dataArray.at(y)))[x] = array->at(item.y())->at(item.x()); if (m_cachedFlatShading) { - m_surfaceObj->updateCoarseItem(m_dataArray, y, x, m_heightNormalizer, m_axisCacheY.min()); + m_surfaceObj->updateCoarseItem(m_dataArray, y, x, m_heightNormalizer, + m_axisCacheY.min()); } else { - m_surfaceObj->updateSmoothItem(m_dataArray, y, x, m_heightNormalizer, m_axisCacheY.min()); + m_surfaceObj->updateSmoothItem(m_dataArray, y, x, m_heightNormalizer, + m_axisCacheY.min()); } } } @@ -410,8 +417,10 @@ void Surface3DRenderer::updateSliceDataModel(const QPoint &point) // Make a duplicate, so that we get a little bit depth QSurfaceDataRow *duplicateRow = new QSurfaceDataRow(*sliceRow); - for (int i = 0; i < sliceRow->size(); i++) - (*sliceRow)[i].setPosition(QVector3D(sliceRow->at(i).x(), sliceRow->at(i).y() - stepDown, 1.0f)); + for (int i = 0; i < sliceRow->size(); i++) { + (*sliceRow)[i].setPosition(QVector3D(sliceRow->at(i).x(), sliceRow->at(i).y() - stepDown, + 1.0f)); + } m_sliceDataArray << duplicateRow; @@ -570,7 +579,8 @@ void Surface3DRenderer::drawSlicedScene() // Set up projection matrix QMatrix4x4 projectionMatrix; - GLfloat aspect = (GLfloat)m_secondarySubViewport.width() / (GLfloat)m_secondarySubViewport.height(); + GLfloat aspect = (GLfloat)m_secondarySubViewport.width() + / (GLfloat)m_secondarySubViewport.height(); projectionMatrix.ortho(-sliceUnits * aspect, sliceUnits * aspect, -sliceUnits, sliceUnits, -1.0f, 4.0f); @@ -666,7 +676,8 @@ void Surface3DRenderer::drawSlicedScene() lineShader->setUniformValue(lineShader->lightP(), lightPos); lineShader->setUniformValue(lineShader->view(), viewMatrix); lineShader->setUniformValue(lineShader->color(), lineColor); - lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme->ambientLightStrength() * 2.3f); + lineShader->setUniformValue(lineShader->ambientS(), + m_cachedTheme->ambientLightStrength() * 2.3f); lineShader->setUniformValue(lineShader->lightS(), 0.0f); lineShader->setUniformValue(lineShader->lightColor(), lightColor); @@ -970,21 +981,6 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) // Reset culling to normal glEnable(GL_CULL_FACE); glCullFace(GL_BACK); - -#if 0 // Use this if you want to see what is being drawn to the framebuffer - // You'll also have to comment out GL_COMPARE_R_TO_TEXTURE -line in texturehelper (if using it) - { - m_labelShader->bind(); - glEnable(GL_TEXTURE_2D); - QMatrix4x4 modelMatrix; - QMatrix4x4 viewmatrix; - viewmatrix.lookAt(QVector3D(0.0f, 0.0f, 2.5f), zeroVector, upVector); - QMatrix4x4 MVPMatrix = projectionMatrix * viewmatrix * modelMatrix; - m_labelShader->setUniformValue(m_labelShader->MVP(), MVPMatrix); - m_drawer->drawObject(m_labelShader, m_labelObj, m_depthTexture); - glDisable(GL_TEXTURE_2D); - } -#endif } #endif // Enable texturing diff --git a/src/datavisualization/engine/surface3drenderer_p.h b/src/datavisualization/engine/surface3drenderer_p.h index 3da50d53..890b9aaf 100644 --- a/src/datavisualization/engine/surface3drenderer_p.h +++ b/src/datavisualization/engine/surface3drenderer_p.h @@ -29,28 +29,17 @@ #ifndef SURFACE3DRENDERER_P_H #define SURFACE3DRENDERER_P_H -#include -#include -#include -#include -#include - #include "datavisualizationglobal_p.h" #include "surface3dcontroller_p.h" #include "abstract3drenderer_p.h" #include "scatterrenderitem_p.h" #include "qsurfacedataproxy.h" -class QOpenGLShaderProgram; - QT_BEGIN_NAMESPACE_DATAVISUALIZATION class ShaderHelper; class ObjectHelper; class SurfaceObject; -class TextureHelper; -class Theme; -class Drawer; class Q3DScene; class SelectionPointer; @@ -188,4 +177,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // SURFACE3DRENDERER_P_H +#endif diff --git a/src/datavisualization/input/q3dinputhandler_p.h b/src/datavisualization/input/q3dinputhandler_p.h index 6d93460b..5f0d61a5 100644 --- a/src/datavisualization/input/q3dinputhandler_p.h +++ b/src/datavisualization/input/q3dinputhandler_p.h @@ -47,4 +47,4 @@ public: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // Q3DINPUTHANDLER_P_H +#endif diff --git a/src/datavisualization/input/qabstract3dinputhandler.h b/src/datavisualization/input/qabstract3dinputhandler.h index 94a34475..4824d78a 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.h +++ b/src/datavisualization/input/qabstract3dinputhandler.h @@ -85,4 +85,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QABSTRACT3DINPUTHANDLER_H +#endif diff --git a/src/datavisualization/input/qabstract3dinputhandler_p.h b/src/datavisualization/input/qabstract3dinputhandler_p.h index 4faffc5e..408b0d88 100644 --- a/src/datavisualization/input/qabstract3dinputhandler_p.h +++ b/src/datavisualization/input/qabstract3dinputhandler_p.h @@ -73,4 +73,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QABSTRACT3DINPUTHANDLER_P_H +#endif diff --git a/src/datavisualization/input/qtouch3dinputhandler_p.h b/src/datavisualization/input/qtouch3dinputhandler_p.h index 143c3664..445830a5 100644 --- a/src/datavisualization/input/qtouch3dinputhandler_p.h +++ b/src/datavisualization/input/qtouch3dinputhandler_p.h @@ -49,4 +49,4 @@ public: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QTOUCH3DINPUTHANDLER_H +#endif diff --git a/src/datavisualization/theme/thememanager.cpp b/src/datavisualization/theme/thememanager.cpp index 2d79e239..04821fb6 100644 --- a/src/datavisualization/theme/thememanager.cpp +++ b/src/datavisualization/theme/thememanager.cpp @@ -167,9 +167,9 @@ void ThemeManager::setPredefinedPropertiesToTheme(Q3DTheme *theme, Q3DTheme::The setColorStyle(theme, Q3DTheme::ColorStyleUniform); setBaseGradients(theme, baseGradients); setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0x14aaff)), - defaultColorLevel)); + defaultColorLevel)); setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0x6400aa)), - defaultColorLevel)); + defaultColorLevel)); break; } @@ -206,9 +206,9 @@ void ThemeManager::setPredefinedPropertiesToTheme(Q3DTheme *theme, Q3DTheme::The setColorStyle(theme, Q3DTheme::ColorStyleUniform); setBaseGradients(theme, baseGradients); setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0x27beee)), - defaultColorLevel)); + defaultColorLevel)); setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0xee1414)), - defaultColorLevel)); + defaultColorLevel)); break; } @@ -245,9 +245,9 @@ void ThemeManager::setPredefinedPropertiesToTheme(Q3DTheme *theme, Q3DTheme::The setColorStyle(theme, Q3DTheme::ColorStyleObjectGradient); setBaseGradients(theme, baseGradients); setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0xfa0000)), - defaultBuiltInColorLevel)); + defaultBuiltInColorLevel)); setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0x333333)), - defaultBuiltInColorLevel)); + defaultBuiltInColorLevel)); break; } @@ -284,9 +284,9 @@ void ThemeManager::setPredefinedPropertiesToTheme(Q3DTheme *theme, Q3DTheme::The setColorStyle(theme, Q3DTheme::ColorStyleUniform); setBaseGradients(theme, baseGradients); setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0xfbf6d6)), - defaultColorLevel)); + defaultColorLevel)); setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0x442f20)), - defaultColorLevel)); + defaultColorLevel)); break; } @@ -323,9 +323,9 @@ void ThemeManager::setPredefinedPropertiesToTheme(Q3DTheme *theme, Q3DTheme::The setColorStyle(theme, Q3DTheme::ColorStyleObjectGradient); setBaseGradients(theme, baseGradients); setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0x2aa2f9)), - defaultBuiltInColorLevel)); + defaultBuiltInColorLevel)); setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0x103753)), - defaultBuiltInColorLevel)); + defaultBuiltInColorLevel)); break; } @@ -362,9 +362,9 @@ void ThemeManager::setPredefinedPropertiesToTheme(Q3DTheme *theme, Q3DTheme::The setColorStyle(theme, Q3DTheme::ColorStyleObjectGradient); setBaseGradients(theme, baseGradients); setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0x8ea317)), - defaultBuiltInColorLevel)); + defaultBuiltInColorLevel)); setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0xc25708)), - defaultBuiltInColorLevel)); + defaultBuiltInColorLevel)); break; } @@ -401,9 +401,9 @@ void ThemeManager::setPredefinedPropertiesToTheme(Q3DTheme *theme, Q3DTheme::The setColorStyle(theme, Q3DTheme::ColorStyleUniform); setBaseGradients(theme, baseGradients); setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0xf5dc0d)), - defaultColorLevel)); + defaultColorLevel)); setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0xd72222)), - defaultColorLevel)); + defaultColorLevel)); break; } @@ -440,9 +440,9 @@ void ThemeManager::setPredefinedPropertiesToTheme(Q3DTheme *theme, Q3DTheme::The setColorStyle(theme, Q3DTheme::ColorStyleUniform); setBaseGradients(theme, baseGradients); setSingleHighlightGradient(theme, createGradient(QColor(QRgb(0xfff7cc)), - defaultColorLevel)); + defaultColorLevel)); setMultiHighlightGradient(theme, createGradient(QColor(QRgb(0xde0a0a)), - defaultColorLevel)); + defaultColorLevel)); break; } default: diff --git a/src/datavisualization/utils/abstractobjecthelper_p.h b/src/datavisualization/utils/abstractobjecthelper_p.h index c3bf39a9..82352024 100644 --- a/src/datavisualization/utils/abstractobjecthelper_p.h +++ b/src/datavisualization/utils/abstractobjecthelper_p.h @@ -62,4 +62,4 @@ public: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // ABSTRACTOBJECTHELPER_H +#endif diff --git a/src/datavisualization/utils/camerahelper.cpp b/src/datavisualization/utils/camerahelper.cpp index 7800dfd1..ae134fe0 100644 --- a/src/datavisualization/utils/camerahelper.cpp +++ b/src/datavisualization/utils/camerahelper.cpp @@ -42,8 +42,6 @@ CameraHelper::~CameraHelper() { } - -// FUNCTIONS void CameraHelper::setRotationSpeed(int speed) { // increase for faster rotation @@ -106,7 +104,6 @@ QMatrix4x4 CameraHelper::calculateViewMatrix(const QPoint &mousePos, int zoom, viewMatrix.scale((GLfloat)zoom / 100.0f); // Compensate for translation (if m_target is off origin) viewMatrix.translate(-m_target.x(), -m_target.y(), -m_target.z()); - //qDebug() << m_xRotation << m_yRotation; m_previousMousePos = mousePos; return viewMatrix; @@ -135,7 +132,6 @@ QVector3D CameraHelper::calculateLightPosition(const QVector3D &lightPosition, newLightPosition = QVector3D(-xPos + lightPosition.x(), yPos + lightPosition.y(), zPos + lightPosition.z()); - //qDebug() << newLightPosition << xAngle << yAngle << fixedRotation; return newLightPosition; } @@ -159,122 +155,98 @@ void CameraHelper::setCameraPreset(Q3DCamera::CameraPreset preset) { switch (preset) { case Q3DCamera::CameraPresetFrontLow: { - qDebug("CameraPresetFrontLow"); CameraHelper::setCameraRotation(QPointF(0.0f, 0.0f)); break; } case Q3DCamera::CameraPresetFront: { - qDebug("CameraPresetFront"); CameraHelper::setCameraRotation(QPointF(0.0f, 22.5f)); break; } case Q3DCamera::CameraPresetFrontHigh: { - qDebug("CameraPresetFrontHigh"); CameraHelper::setCameraRotation(QPointF(0.0f, 45.0f)); break; } case Q3DCamera::CameraPresetLeftLow: { - qDebug("CameraPresetLeftLow"); CameraHelper::setCameraRotation(QPointF(90.0f, 0.0f)); break; } case Q3DCamera::CameraPresetLeft: { - qDebug("CameraPresetLeft"); CameraHelper::setCameraRotation(QPointF(90.0f, 22.5f)); break; } case Q3DCamera::CameraPresetLeftHigh: { - qDebug("CameraPresetLeftHigh"); CameraHelper::setCameraRotation(QPointF(90.0f, 45.0f)); break; } case Q3DCamera::CameraPresetRightLow: { - qDebug("CameraPresetRightLow"); CameraHelper::setCameraRotation(QPointF(-90.0f, 0.0f)); break; } case Q3DCamera::CameraPresetRight: { - qDebug("CameraPresetRight"); CameraHelper::setCameraRotation(QPointF(-90.0f, 22.5f)); break; } case Q3DCamera::CameraPresetRightHigh: { - qDebug("CameraPresetRightHigh"); CameraHelper::setCameraRotation(QPointF(-90.0f, 45.0f)); break; } case Q3DCamera::CameraPresetBehindLow: { - qDebug("CameraPresetBehindLow"); CameraHelper::setCameraRotation(QPointF(180.0f, 0.0f)); break; } case Q3DCamera::CameraPresetBehind: { - qDebug("CameraPresetBehind"); CameraHelper::setCameraRotation(QPointF(180.0f, 22.5f)); break; } case Q3DCamera::CameraPresetBehindHigh: { - qDebug("CameraPresetBehindHigh"); CameraHelper::setCameraRotation(QPointF(180.0f, 45.0f)); break; } case Q3DCamera::CameraPresetIsometricLeft: { - qDebug("CameraPresetIsometricLeft"); CameraHelper::setCameraRotation(QPointF(45.0f, 22.5f)); break; } case Q3DCamera::CameraPresetIsometricLeftHigh: { - qDebug("CameraPresetIsometricLeftHigh"); CameraHelper::setCameraRotation(QPointF(45.0f, 45.0f)); break; } case Q3DCamera::CameraPresetIsometricRight: { - qDebug("CameraPresetIsometricRight"); CameraHelper::setCameraRotation(QPointF(-45.0f, 22.5f)); break; } case Q3DCamera::CameraPresetIsometricRightHigh: { - qDebug("CameraPresetIsometricRightHigh"); CameraHelper::setCameraRotation(QPointF(-45.0f, 45.0f)); break; } case Q3DCamera::CameraPresetDirectlyAbove: { - qDebug("CameraPresetDirectlyAbove"); CameraHelper::setCameraRotation(QPointF(0.0f, 90.0f)); break; } case Q3DCamera::CameraPresetDirectlyAboveCW45: { - qDebug("CameraPresetDirectlyAboveCW45"); CameraHelper::setCameraRotation(QPointF(-45.0f, 90.0f)); break; } case Q3DCamera::CameraPresetDirectlyAboveCCW45: { - qDebug("CameraPresetDirectlyAboveCCW45"); CameraHelper::setCameraRotation(QPointF(45.0f, 90.0f)); break; } case Q3DCamera::CameraPresetFrontBelow: { - qDebug("CameraPresetFrontBelow"); CameraHelper::setCameraRotation(QPointF(0.0f, -45.0f)); break; } case Q3DCamera::CameraPresetLeftBelow: { - qDebug("CameraPresetLeftBelow"); CameraHelper::setCameraRotation(QPointF(90.0f, -45.0f)); break; } case Q3DCamera::CameraPresetRightBelow: { - qDebug("CameraPresetRightBelow"); CameraHelper::setCameraRotation(QPointF(-90.0f, -45.0f)); break; } case Q3DCamera::CameraPresetBehindBelow: { - qDebug("CameraPresetBehindBelow"); CameraHelper::setCameraRotation(QPointF(180.0f, -45.0f)); break; } case Q3DCamera::CameraPresetDirectlyBelow: { - qDebug("CameraPresetDirectlyBelow"); CameraHelper::setCameraRotation(QPointF(0.0f, -90.0f)); break; } diff --git a/src/datavisualization/utils/camerahelper_p.h b/src/datavisualization/utils/camerahelper_p.h index f85164f7..9a86dc2d 100644 --- a/src/datavisualization/utils/camerahelper_p.h +++ b/src/datavisualization/utils/camerahelper_p.h @@ -26,8 +26,8 @@ // // We mean it. -#ifndef CAMERAPOSITIONER_P_H -#define CAMERAPOSITIONER_P_H +#ifndef CAMERAHELPER_P_H +#define CAMERAHELPER_P_H #include "datavisualizationglobal_p.h" #include "q3dcamera.h" diff --git a/src/datavisualization/utils/meshloader.cpp b/src/datavisualization/utils/meshloader.cpp index a5fb7880..1d03e77c 100644 --- a/src/datavisualization/utils/meshloader.cpp +++ b/src/datavisualization/utils/meshloader.cpp @@ -24,8 +24,6 @@ #include #include -#include - QT_BEGIN_NAMESPACE_DATAVISUALIZATION QString slashTag = QStringLiteral("/"); @@ -35,8 +33,6 @@ bool MeshLoader::loadOBJ(const QString &path, QVector &out_uvs, QVector &out_normals) { - //qDebug() << "Loading OBJ file" << path; - QVector vertexIndices, uvIndices, normalIndices; QVector temp_vertices; QVector temp_uvs; @@ -96,9 +92,6 @@ bool MeshLoader::loadOBJ(const QString &path, normalIndices.append(normalIndex[1]); normalIndices.append(normalIndex[2]); } - else { - //qWarning("Line did not contain usable data"); - } } // For each vertex of each triangle diff --git a/src/datavisualization/utils/objecthelper.cpp b/src/datavisualization/utils/objecthelper.cpp index 5c1bc43e..63b183f5 100644 --- a/src/datavisualization/utils/objecthelper.cpp +++ b/src/datavisualization/utils/objecthelper.cpp @@ -21,8 +21,6 @@ #include "objecthelper_p.h" #include "abstractobjecthelper_p.h" -#include - QT_BEGIN_NAMESPACE_DATAVISUALIZATION ObjectHelper::ObjectHelper(const QString &objectFile) diff --git a/src/datavisualization/utils/surfaceobject.cpp b/src/datavisualization/utils/surfaceobject.cpp index 790ca3f8..706c42a0 100644 --- a/src/datavisualization/utils/surfaceobject.cpp +++ b/src/datavisualization/utils/surfaceobject.cpp @@ -22,8 +22,6 @@ #include #include -#include - QT_BEGIN_NAMESPACE_DATAVISUALIZATION SurfaceObject::SurfaceObject() @@ -74,7 +72,8 @@ void SurfaceObject::setUpSmoothData(const QSurfaceDataArray &dataArray, const QR float normalizedX = ((data.x() - xMin) / xNormalizer); float normalizedY = ((data.y() - yMin) / yNormalizer); float normalizedZ = ((data.z() - zMin) / zNormalizer); - m_vertices[totalIndex] = QVector3D(normalizedX - 1.0f, normalizedY - 1.0f, normalizedZ + 1.0f); + m_vertices[totalIndex] = QVector3D(normalizedX - 1.0f, normalizedY - 1.0f, + normalizedZ + 1.0f); if (changeGeometry) uvs[totalIndex] = QVector2D(GLfloat(j) * uvX, GLfloat(i) * uvY); totalIndex++; @@ -195,7 +194,8 @@ void SurfaceObject::updateSmoothItem(const QSurfaceDataArray &dataArray, int row float normalizedX = ((data.x() - xMin) / xNormalizer); float normalizedY = ((data.y() - yMin) / yNormalizer); float normalizedZ = ((data.z() - zMin) / zNormalizer); - m_vertices[row * m_columns + column] = QVector3D(normalizedX - 1.0f, normalizedY - 1.0f, normalizedZ + 1.0f); + m_vertices[row * m_columns + column] = QVector3D(normalizedX - 1.0f, normalizedY - 1.0f, + normalizedZ + 1.0f); // Create normals int startRow = row; @@ -354,7 +354,8 @@ void SurfaceObject::setUpData(const QSurfaceDataArray &dataArray, const QRect &s float normalizedX = ((data.x() - xMin) / xNormalizer); float normalizedY = ((data.y() - yMin) / yNormalizer); float normalizedZ = ((data.z() - zMin) / zNormalizer); - m_vertices[totalIndex] = QVector3D(normalizedX - 1.0f, normalizedY - 1.0f, normalizedZ + 1.0f); + m_vertices[totalIndex] = QVector3D(normalizedX - 1.0f, normalizedY - 1.0f, + normalizedZ + 1.0f); if (changeGeometry) uvs[totalIndex] = QVector2D(GLfloat(j) * uvX, GLfloat(i) * uvY); diff --git a/src/datavisualization/utils/surfaceobject_p.h b/src/datavisualization/utils/surfaceobject_p.h index 6abbb8d4..5651a3da 100644 --- a/src/datavisualization/utils/surfaceobject_p.h +++ b/src/datavisualization/utils/surfaceobject_p.h @@ -33,7 +33,6 @@ #include "abstractobjecthelper_p.h" #include "qsurfacedataproxy.h" -#include #include QT_BEGIN_NAMESPACE_DATAVISUALIZATION @@ -87,4 +86,4 @@ private: QT_END_NAMESPACE_DATAVISUALIZATION -#endif // SURFACEOBJECT_P_H +#endif diff --git a/src/datavisualization/utils/utils.cpp b/src/datavisualization/utils/utils.cpp index 30291963..78978c3c 100644 --- a/src/datavisualization/utils/utils.cpp +++ b/src/datavisualization/utils/utils.cpp @@ -74,10 +74,8 @@ QImage Utils::printTextToImage(const QFont &font, const QString &text, const QCo if (maxLabelWidth) valueStrWidth = maxLabelWidth + paddingWidth / 2; labelSize = QSize(valueStrWidth + prePadding, valueStrHeight + prePadding); - //qDebug() << "label size before padding" << text << labelSize; labelSize.setWidth(getNearestPowerOfTwo(labelSize.width(), paddingWidth)); labelSize.setHeight(getNearestPowerOfTwo(labelSize.height(), paddingHeight)); - //qDebug() << "label size after padding" << labelSize << paddingWidth << paddingHeight; #else if (!labelBackground) labelSize = QSize(valueStrWidth, valueStrHeight); @@ -131,30 +129,12 @@ QImage Utils::printTextToImage(const QFont &font, const QString &text, const QCo QVector3D Utils::getSelection(QPoint mousepos, int height) { - //#if defined(QT_OPENGL_ES_2) - // This is the only one that works with ANGLE (ES 2.0) + // This is the only one that works with OpenGL ES 2.0, so we're forced to use it // Item count will be limited to 256*256*256 GLubyte pixel[4] = {255, 255, 255, 0}; glReadPixels(mousepos.x(), height - mousepos.y(), 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, (void *)pixel); - - //qDebug() << "rgba" << pixel[0] << pixel[1] << pixel[2] << pixel[3] << "mousepos:" << mousepos << "height:" << height; - - //#else - // These work with desktop OpenGL - // They offer a lot higher possible object count and a possibility to use object ids - //GLuint pixel[3]; - //glReadPixels(mousepos.x(), height - mousepos.y(), 1, 1, - // GL_RGB, GL_UNSIGNED_INT, (void *)pixel); - //qDebug() << "rgba" << pixel[0] << pixel[1] << pixel[2];// << pixel[3]; - - //GLfloat pixel3[3]; - //glReadPixels(mousepos.x(), height - mousepos.y(), 1, 1, - // GL_RGB, GL_FLOAT, (void *)pixel3); - //qDebug() << "rgba" << pixel3[0] << pixel3[1] << pixel3[2];// << pixel[3]; - //#endif QVector3D selectedColor(pixel[0], pixel[1], pixel[2]); - //qDebug() << selectedColor; return selectedColor; } diff --git a/src/datavisualization/utils/utils_p.h b/src/datavisualization/utils/utils_p.h index 18337e0b..b53a6718 100644 --- a/src/datavisualization/utils/utils_p.h +++ b/src/datavisualization/utils/utils_p.h @@ -30,7 +30,6 @@ #define UTILS_P_H #include "datavisualizationglobal_p.h" -#include "q3dbars.h" class QVector3D; class QColor; diff --git a/src/datavisualization/utils/vertexindexer.cpp b/src/datavisualization/utils/vertexindexer.cpp index cb5d3ffc..ba3d20f9 100644 --- a/src/datavisualization/utils/vertexindexer.cpp +++ b/src/datavisualization/utils/vertexindexer.cpp @@ -18,11 +18,8 @@ #include "vertexindexer_p.h" -#include // for memcmp #include -#include - QT_BEGIN_NAMESPACE_DATAVISUALIZATION int unique_vertices = 0; @@ -33,8 +30,7 @@ bool VertexIndexer::is_near(float v1, float v2) return qAbs(v1 - v2) < 0.01f; } -// Searches through all already exported vertices -// for a similar one. +// Searches through all already exported vertices for a similar one. // Similar = same position + same UVs + same normal bool VertexIndexer::getSimilarVertexIndex(const QVector3D &in_vertex, const QVector2D &in_uv, @@ -44,7 +40,7 @@ bool VertexIndexer::getSimilarVertexIndex(const QVector3D &in_vertex, QVector &out_normals, unsigned short &result) { - // Lame linear search + // Linear search for (int i = 0; i < out_vertices.size(); i++) { if (is_near(in_vertex.x() , out_vertices[i].x()) && is_near(in_vertex.y() , out_vertices[i].y()) @@ -58,8 +54,7 @@ bool VertexIndexer::getSimilarVertexIndex(const QVector3D &in_vertex, return true; } } - // No other vertex could be used instead. - // Looks like we'll have to add it to the VBO. + // No other vertex could be used instead return false; } @@ -107,7 +102,6 @@ void VertexIndexer::indexVBO(const QVector &in_vertices, VertexToOutIndex[packed] = newindex; } } - //qDebug() << "unique vertices" << unique_vertices; } void VertexIndexer::indexVBO_TBN(const QVector &in_vertices, @@ -125,7 +119,6 @@ void VertexIndexer::indexVBO_TBN(const QVector &in_vertices, unique_vertices = 0; // For each input vertex for (int i = 0; i < in_vertices.size(); i++) { - // Try to find a similar vertex in out_XXXX unsigned short index; bool found = getSimilarVertexIndex(in_vertices[i], in_uvs[i], in_normals[i], @@ -133,7 +126,6 @@ void VertexIndexer::indexVBO_TBN(const QVector &in_vertices, if (found) { out_indices.append(index); - // Average the tangents and the bitangents out_tangents[index] += in_tangents[i]; out_bitangents[index] += in_bitangents[i]; @@ -147,7 +139,6 @@ void VertexIndexer::indexVBO_TBN(const QVector &in_vertices, out_indices.append((unsigned short)out_vertices.size() - 1); } } - //qDebug() << "unique vertices" << unique_vertices; } QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/utils/vertexindexer_p.h b/src/datavisualization/utils/vertexindexer_p.h index 250c7a1b..0c5602d5 100644 --- a/src/datavisualization/utils/vertexindexer_p.h +++ b/src/datavisualization/utils/vertexindexer_p.h @@ -39,7 +39,7 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION class VertexIndexer { - public: +public: struct PackedVertex { QVector3D position; QVector2D uv; @@ -69,7 +69,7 @@ class VertexIndexer QVector &out_tangents, QVector &out_bitangents); - private: +private: static bool is_near(float v1, float v2); static bool getSimilarVertexIndex(const QVector3D &in_vertex, const QVector2D &in_uv, -- cgit v1.2.3 From e734bf1d87fcba1efd4a4126a67f52a7481db142 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Wed, 22 Jan 2014 11:02:55 +0200 Subject: Removed accessing series during render Task-number: QTRD-2791 Change-Id: I85ada903072b31829fdd42510029373fcf791a35 Change-Id: I85ada903072b31829fdd42510029373fcf791a35 Reviewed-by: Miikka Heikkinen --- src/datavisualization/engine/scatter3drenderer.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 0edaee60..9cbffcdb 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -469,9 +469,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) ObjectHelper *dotObj = m_visibleSeriesList.at(series).object(); bool drawingPoints = (m_visibleSeriesList.at(series).mesh() == QAbstract3DSeries::MeshPoint); - float itemSize = - static_cast(m_visibleSeriesList.at(series).series())->itemSize() - / itemScaler; + float itemSize = m_cachedItemSize.at(series) / itemScaler; if (itemSize == 0.0f) itemSize = m_dotSizeScale; #if !defined(QT_OPENGL_ES_2) @@ -609,9 +607,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) bool colorStyleIsUniform = (colorStyle == Q3DTheme::ColorStyleUniform); bool useColor = colorStyleIsUniform || drawingPoints; - float itemSize = - static_cast(currentSeries.series())->itemSize() - / itemScaler; + float itemSize = m_cachedItemSize.at(series) / itemScaler; if (itemSize == 0.0f) itemSize = m_dotSizeScale; #if !defined(QT_OPENGL_ES_2) -- cgit v1.2.3 From 733c87119a9f4bd742407905a779d85cf0aa5d67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Thu, 23 Jan 2014 06:57:49 +0200 Subject: Minimal example images updated MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTRD-2732 Change-Id: I0d0bd77609b422105cf1df3c155528e345316f31 Change-Id: I0d0bd77609b422105cf1df3c155528e345316f31 Reviewed-by: Tomi Korpipää --- .../doc/images/q3dbars-minimal.png | Bin 16841 -> 14701 bytes .../doc/images/q3dscatter-minimal.png | Bin 13727 -> 16467 bytes .../doc/images/q3dsurface-minimal.png | Bin 18691 -> 20622 bytes 3 files changed, 0 insertions(+), 0 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/doc/images/q3dbars-minimal.png b/src/datavisualization/doc/images/q3dbars-minimal.png index 21dcf5b3..3e94ccae 100644 Binary files a/src/datavisualization/doc/images/q3dbars-minimal.png and b/src/datavisualization/doc/images/q3dbars-minimal.png differ diff --git a/src/datavisualization/doc/images/q3dscatter-minimal.png b/src/datavisualization/doc/images/q3dscatter-minimal.png index fc5f8c62..d5f8198c 100644 Binary files a/src/datavisualization/doc/images/q3dscatter-minimal.png and b/src/datavisualization/doc/images/q3dscatter-minimal.png differ diff --git a/src/datavisualization/doc/images/q3dsurface-minimal.png b/src/datavisualization/doc/images/q3dsurface-minimal.png index 2ef8b104..af82c9bb 100644 Binary files a/src/datavisualization/doc/images/q3dsurface-minimal.png and b/src/datavisualization/doc/images/q3dsurface-minimal.png differ -- cgit v1.2.3 From 0237941e81d9f6713170c67a8dec6113fec1ef01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Thu, 23 Jan 2014 08:55:21 +0200 Subject: Slice view positioning in qml fixed Task-number: QTRD-2798 Change-Id: I287802424493435eaa54a14cace651b66a0f1a86 Change-Id: I287802424493435eaa54a14cace651b66a0f1a86 Reviewed-by: Miikka Heikkinen --- src/datavisualization/engine/q3dscene.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/q3dscene.cpp b/src/datavisualization/engine/q3dscene.cpp index 19672484..c15610c1 100644 --- a/src/datavisualization/engine/q3dscene.cpp +++ b/src/datavisualization/engine/q3dscene.cpp @@ -633,7 +633,8 @@ void Q3DScenePrivate::updateGLSubViewports() m_glPrimarySubViewport.setWidth(m_primarySubViewport.width() * m_devicePixelRatio); m_glPrimarySubViewport.setHeight(m_primarySubViewport.height() * m_devicePixelRatio); - m_glSecondarySubViewport.setX(m_secondarySubViewport.x() * m_devicePixelRatio); + m_glSecondarySubViewport.setX((m_secondarySubViewport.x() + m_viewport.x()) + * m_devicePixelRatio); m_glSecondarySubViewport.setY((m_windowSize.height() - (m_secondarySubViewport.y() + m_viewport.y() + m_secondarySubViewport.height())) -- cgit v1.2.3 From db4fa86cffefbc34b8da7961103ac97424ff41e9 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 23 Jan 2014 09:03:00 +0200 Subject: Add example for showing graph legend MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit +Fix default theme Task-number: QTRD-2653 Change-Id: Iccf4161cd19a9dfe6226189568efeb4565ba53ed Reviewed-by: Tomi Korpipää --- src/datavisualization/engine/abstract3dcontroller.cpp | 5 ++++- src/datavisualization/theme/q3dtheme.h | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index b7440c84..3426a715 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -29,6 +29,7 @@ #include "qtouch3dinputhandler.h" #include "qabstract3dseries_p.h" #include "thememanager_p.h" +#include "q3dtheme_p.h" #include "q3dscene_p.h" #include "q3dscene.h" @@ -57,7 +58,9 @@ Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scen m_scene = new Q3DScene; // Set initial theme - setActiveTheme(new Q3DTheme(Q3DTheme::ThemeQt)); + Q3DTheme *defaultTheme = new Q3DTheme(Q3DTheme::ThemeQt); + defaultTheme->d_ptr->setDefaultTheme(true); + setActiveTheme(defaultTheme); m_scene->d_ptr->setViewport(initialViewport); diff --git a/src/datavisualization/theme/q3dtheme.h b/src/datavisualization/theme/q3dtheme.h index e023c76e..69b22124 100644 --- a/src/datavisualization/theme/q3dtheme.h +++ b/src/datavisualization/theme/q3dtheme.h @@ -178,6 +178,8 @@ protected: friend class ThemeManager; friend class Abstract3DRenderer; friend class Bars3DController; + friend class AbstractDeclarative; + friend class Abstract3DController; private: Q_DISABLE_COPY(Q3DTheme) -- cgit v1.2.3 From 44df7a357fc3d9f977ed36b4199d996869a396e9 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 23 Jan 2014 11:04:58 +0200 Subject: Move qmlmultigraphs to examples MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit +Fix Q3DScene::isPointInPrimarySubView +Fix Q3DScene::isPointInSecondarySubView +Remove some unnecessary imports from examples Task-number: QTRD-2800 Change-Id: I5a9bc737c5ee92edbb514e76054adbb54076aef8 Reviewed-by: Tomi Korpipää --- src/datavisualization/engine/q3dscene.cpp | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/q3dscene.cpp b/src/datavisualization/engine/q3dscene.cpp index c15610c1..74767762 100644 --- a/src/datavisualization/engine/q3dscene.cpp +++ b/src/datavisualization/engine/q3dscene.cpp @@ -199,8 +199,6 @@ void Q3DScene::setPrimarySubViewport(const QRect &primarySubViewport) /*! * Returns whether the given \a point resides inside the primary subview or not. - * The method takes care of correctly mapping between OpenGL coordinates used in the - * viewport definitions and the Qt event coordinate system used in the input system. * \return \c true if the point is inside the primary subview. */ bool Q3DScene::isPointInPrimarySubView(const QPoint &point) @@ -208,19 +206,15 @@ bool Q3DScene::isPointInPrimarySubView(const QPoint &point) int x = point.x(); int y = point.y(); int areaMinX = d_ptr->m_primarySubViewport.x(); - int areaMaxX = d_ptr->m_viewport.x() + d_ptr->m_primarySubViewport.x() - + d_ptr->m_primarySubViewport.width(); - int areaMaxY = d_ptr->m_viewport.y() + d_ptr->m_primarySubViewport.y() - + d_ptr->m_primarySubViewport.height(); - int areaMinY = d_ptr->m_viewport.y() + d_ptr->m_primarySubViewport.y(); + int areaMaxX = d_ptr->m_primarySubViewport.x() + d_ptr->m_primarySubViewport.width(); + int areaMinY = d_ptr->m_primarySubViewport.y(); + int areaMaxY = d_ptr->m_primarySubViewport.y() + d_ptr->m_primarySubViewport.height(); return ( x > areaMinX && x < areaMaxX && y > areaMinY && y < areaMaxY ); } /*! * Returns whether the given \a point resides inside the secondary subview or not. - * The method takes care of correctly mapping between OpenGL coordinates used in the - * viewport definitions and the Qt event coordinate system used in the input system. * \return \c true if the point is inside the secondary subview. */ bool Q3DScene::isPointInSecondarySubView(const QPoint &point) @@ -228,11 +222,9 @@ bool Q3DScene::isPointInSecondarySubView(const QPoint &point) int x = point.x(); int y = point.y(); int areaMinX = d_ptr->m_secondarySubViewport.x(); - int areaMaxX = d_ptr->m_viewport.x() + d_ptr->m_secondarySubViewport.x() - + d_ptr->m_secondarySubViewport.width(); - int areaMaxY = d_ptr->m_viewport.y() + d_ptr->m_secondarySubViewport.y() - + d_ptr->m_secondarySubViewport.height(); - int areaMinY = d_ptr->m_viewport.y() + d_ptr->m_secondarySubViewport.y(); + int areaMaxX = d_ptr->m_secondarySubViewport.x() + d_ptr->m_secondarySubViewport.width(); + int areaMinY = d_ptr->m_secondarySubViewport.y(); + int areaMaxY = d_ptr->m_secondarySubViewport.y() + d_ptr->m_secondarySubViewport.height(); return ( x > areaMinX && x < areaMaxX && y > areaMinY && y < areaMaxY ); } -- cgit v1.2.3 From 8802cf50ef296ce8cc56a2ba97fa237237f62d15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Fri, 24 Jan 2014 08:26:09 +0200 Subject: Multiseries bars uniform scaling support added Task-number: QTRD-2805 Change-Id: I7172662b2bed0a222ceb7560718450bcabd2879d Reviewed-by: Miikka Heikkinen --- .../doc/src/qtdatavisualization-qml-bars3d.qdoc | 6 +++ src/datavisualization/engine/bars3dcontroller.cpp | 18 +++++++++ src/datavisualization/engine/bars3dcontroller_p.h | 12 ++++-- src/datavisualization/engine/bars3drenderer.cpp | 45 ++++++++++++++++------ src/datavisualization/engine/bars3drenderer_p.h | 5 ++- src/datavisualization/engine/q3dbars.cpp | 22 ++++++++++- src/datavisualization/engine/q3dbars.h | 5 +++ 7 files changed, 96 insertions(+), 17 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc index d61b298a..ee11a9d9 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc @@ -69,6 +69,12 @@ * This temporary axis is destroyed if another axis is explicitly set to same orientation. */ +/*! + * \qmlproperty bool Bars3D::multiSeriesUniform + * This property controls if bars are to be scaled with proportions set to a single series bar even + * if there are multiple series displayed. If set to \c {true}, \l{barSpacing}{bar spacing} will + * affect only X-axis correctly. It is preset to \c false by default. + */ /*! * \qmlproperty real Bars3D::barThickness diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index 95fb36b9..2238fdee 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -83,6 +83,11 @@ void Bars3DController::synchDataToRenderer() Abstract3DController::synchDataToRenderer(); // Notify changes to renderer + if (m_changeTracker.multiSeriesScalingChanged) { + m_renderer->updateMultiSeriesScaling(m_isMultiSeriesUniform); + m_changeTracker.multiSeriesScalingChanged = false; + } + if (m_changeTracker.barSpecsChanged) { m_renderer->updateBarSpecs(m_barThicknessRatio, m_barSpacing, m_isBarSpecRelative); m_changeTracker.barSpecsChanged = false; @@ -378,6 +383,19 @@ void Bars3DController::handleAxisRangeChangedBySender(QObject *sender) setSelectedBar(m_selectedBar, m_selectedBarSeries); } +void Bars3DController::setMultiSeriesScaling(bool uniform) +{ + m_isMultiSeriesUniform = uniform; + + m_changeTracker.multiSeriesScalingChanged = true; + emitNeedRender(); +} + +bool Bars3DController::multiSeriesScaling() const +{ + return m_isMultiSeriesUniform; +} + void Bars3DController::setBarSpecs(GLfloat thicknessRatio, const QSizeF &spacing, bool relative) { m_barThicknessRatio = thicknessRatio; diff --git a/src/datavisualization/engine/bars3dcontroller_p.h b/src/datavisualization/engine/bars3dcontroller_p.h index 191007b7..525f6564 100644 --- a/src/datavisualization/engine/bars3dcontroller_p.h +++ b/src/datavisualization/engine/bars3dcontroller_p.h @@ -38,12 +38,14 @@ class Bars3DRenderer; class QBar3DSeries; struct Bars3DChangeBitField { - bool slicingActiveChanged : 1; - bool barSpecsChanged : 1; - bool selectedBarChanged : 1; + bool slicingActiveChanged : 1; + bool multiSeriesScalingChanged : 1; + bool barSpecsChanged : 1; + bool selectedBarChanged : 1; Bars3DChangeBitField() : slicingActiveChanged(true), + multiSeriesScalingChanged(true), barSpecsChanged(true), selectedBarChanged(true) { @@ -64,6 +66,7 @@ private: QBar3DSeries *m_primarySeries; // Category axis labels are taken from the primary series // Look'n'feel + bool m_isMultiSeriesUniform; bool m_isBarSpecRelative; GLfloat m_barThicknessRatio; QSizeF m_barSpacing; @@ -78,6 +81,9 @@ public: virtual void initializeOpenGL(); virtual void synchDataToRenderer(); + void setMultiSeriesScaling(bool uniform); + bool multiSeriesScaling() const; + // bar thickness, spacing between bars, and is spacing relative to thickness or absolute // y -component sets the thickness/spacing of z -direction // With relative 0.0f means side-to-side, 1.0f = one thickness in between diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index ada9f660..4140f01c 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -89,10 +89,12 @@ Bars3DRenderer::Bars3DRenderer(Bars3DController *controller) m_selectedBarPos(Bars3DController::invalidSelectionPosition()), m_selectedBarSeries(0), m_noZeroInRange(false), - m_seriesScale(0.0f), + m_seriesScaleX(0.0f), + m_seriesScaleZ(0.0f), m_seriesStep(0.0f), m_seriesStart(0.0f), - m_clickedPosition(Bars3DController::invalidSelectionPosition()) + m_clickedPosition(Bars3DController::invalidSelectionPosition()), + m_keepSeriesUniform(false) { initializeOpenGLFunctions(); initializeOpenGL(); @@ -160,11 +162,17 @@ void Bars3DRenderer::updateData() if (m_renderingArrays.size() != seriesCount) { m_renderingArrays.resize(seriesCount); - m_seriesScale = 1.0f / float(seriesCount); + m_seriesScaleX = 1.0f / float(seriesCount); m_seriesStep = 1.0f / float(seriesCount); m_seriesStart = -((float(seriesCount) - 1.0f) / 2.0f) * m_seriesStep; } + + if (m_keepSeriesUniform) + m_seriesScaleZ = m_seriesScaleX; + else + m_seriesScaleZ = 1.0f; + if (m_cachedRowCount != newRows || m_cachedColumnCount != newColumns) { // Force update for selection related items m_sliceCache = 0; @@ -427,11 +435,11 @@ void Bars3DRenderer::drawSlicedScene() } // Draw bars - QVector3D modelMatrixScaler(m_scaleX, 0.0f, m_scaleZ); - if (rowMode) - modelMatrixScaler.setX(m_scaleX * m_seriesScale); - else - modelMatrixScaler.setZ(m_scaleZ * m_seriesScale); + QVector3D modelMatrixScaler(m_scaleX * m_seriesScaleX, 0.0f, m_scaleZ * m_seriesScaleZ); + if (!rowMode) { + modelMatrixScaler.setX(m_scaleZ * m_seriesScaleZ); + modelMatrixScaler.setZ(m_scaleX * m_seriesScaleX); + } // Set common bar shader bindings m_barShader->bind(); @@ -809,7 +817,8 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) depthProjectionViewMatrix = depthProjectionMatrix * depthViewMatrix; // Draw bars to depth buffer - QVector3D shadowScaler(m_scaleX * m_seriesScale * 0.9f, 0.0f, m_scaleZ * 0.9f); + QVector3D shadowScaler(m_scaleX * m_seriesScaleX * 0.9f, 0.0f, + m_scaleZ * m_seriesScaleZ * 0.9f); float seriesPos = m_seriesStart; for (int series = 0; series < seriesCount; series++) { ObjectHelper *barObj = m_visibleSeriesList.at(series).object(); @@ -926,9 +935,9 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) modelMatrix.translate((colPos - m_rowWidth) / m_scaleFactor, item.height(), (m_columnDepth - rowPos) / m_scaleFactor); - modelMatrix.scale(QVector3D(m_scaleX * m_seriesScale, + modelMatrix.scale(QVector3D(m_scaleX * m_seriesScaleX, item.height(), - m_scaleZ)); + m_scaleZ * m_seriesScaleZ)); MVPMatrix = projectionViewMatrix * modelMatrix; @@ -1049,7 +1058,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) QVector3D baseColor; QVector3D barColor; - QVector3D modelScaler(m_scaleX * m_seriesScale, 0.0f, m_scaleZ); + QVector3D modelScaler(m_scaleX * m_seriesScaleX, 0.0f, m_scaleZ * m_seriesScaleZ); bool somethingSelected = (m_visualSelectedBarPos != Bars3DController::invalidSelectionPosition()); float seriesPos = m_seriesStart; for (int series = 0; series < seriesCount; series++) { @@ -1837,6 +1846,18 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) m_selectionDirty = false; } +void Bars3DRenderer::updateMultiSeriesScaling(bool uniform) +{ + m_keepSeriesUniform = uniform; + + // Recalculate scale factors + m_seriesScaleX = 1.0f / float(m_visibleSeriesList.size()); + if (m_keepSeriesUniform) + m_seriesScaleZ = m_seriesScaleX; + else + m_seriesScaleZ = 1.0f; +} + void Bars3DRenderer::updateBarSpecs(GLfloat thicknessRatio, const QSizeF &spacing, bool relative) { // Convert ratio to QSizeF, as we need it in that format for autoscaling calculations diff --git a/src/datavisualization/engine/bars3drenderer_p.h b/src/datavisualization/engine/bars3drenderer_p.h index 353ead44..04e2a1ac 100644 --- a/src/datavisualization/engine/bars3drenderer_p.h +++ b/src/datavisualization/engine/bars3drenderer_p.h @@ -102,10 +102,12 @@ private: BarRenderItem m_dummyBarRenderItem; QVector m_renderingArrays; bool m_noZeroInRange; - float m_seriesScale; + float m_seriesScaleX; + float m_seriesScaleZ; float m_seriesStep; float m_seriesStart; QPoint m_clickedPosition; + bool m_keepSeriesUniform; public: explicit Bars3DRenderer(Bars3DController *controller); @@ -119,6 +121,7 @@ protected: virtual void initializeOpenGL(); public slots: + void updateMultiSeriesScaling(bool uniform); void updateBarSpecs(GLfloat thicknessRatio = 1.0f, const QSizeF &spacing = QSizeF(1.0, 1.0), bool relative = true); diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp index 3cc4de0d..1d86f8f0 100644 --- a/src/datavisualization/engine/q3dbars.cpp +++ b/src/datavisualization/engine/q3dbars.cpp @@ -182,6 +182,26 @@ QList Q3DBars::seriesList() return dptr()->m_shared->barSeriesList(); } +/*! + * \property Q3DBars::multiSeriesUniform + * + * This property controls if bars are to be scaled with proportions set to a single series bar even + * if there are multiple series displayed. If set to \c {true}, \l{barSpacing}{bar spacing} will + * affect only X-axis correctly. It is preset to \c false by default. + */ +void Q3DBars::setMultiSeriesUniform(bool uniform) +{ + if (uniform != isMultiSeriesUniform()) { + dptr()->m_shared->setMultiSeriesScaling(uniform); + emit multiSeriesUniformChanged(uniform); + } +} + +bool Q3DBars::isMultiSeriesUniform() const +{ + return dptrc()->m_shared->multiSeriesScaling(); +} + /*! * \property Q3DBars::barThickness * @@ -208,7 +228,7 @@ float Q3DBars::barThickness() * Bar spacing, which is the empty space between bars, in X and Z dimensions. It is preset to * \c {(1.0, 1.0)} by default. Spacing is affected by barSpacingRelative -property. * - * \sa barSpacingRelative + * \sa barSpacingRelative, multiSeriesUniform */ void Q3DBars::setBarSpacing(QSizeF spacing) { diff --git a/src/datavisualization/engine/q3dbars.h b/src/datavisualization/engine/q3dbars.h index bf973c11..636c5720 100644 --- a/src/datavisualization/engine/q3dbars.h +++ b/src/datavisualization/engine/q3dbars.h @@ -34,6 +34,7 @@ class QBar3DSeries; class QT_DATAVISUALIZATION_EXPORT Q3DBars : public QAbstract3DGraph { Q_OBJECT + Q_PROPERTY(bool multiSeriesUniform READ isMultiSeriesUniform WRITE setMultiSeriesUniform NOTIFY multiSeriesUniformChanged) Q_PROPERTY(float barThickness READ barThickness WRITE setBarThickness NOTIFY barThicknessChanged) Q_PROPERTY(QSizeF barSpacing READ barSpacing WRITE setBarSpacing NOTIFY barSpacingChanged) Q_PROPERTY(bool barSpacingRelative READ isBarSpacingRelative WRITE setBarSpacingRelative NOTIFY barSpacingRelativeChanged) @@ -53,6 +54,9 @@ public: void insertSeries(int index, QBar3DSeries *series); QList seriesList(); + void setMultiSeriesUniform(bool uniform); + bool isMultiSeriesUniform() const; + void setBarThickness(float thicknessRatio); float barThickness(); @@ -73,6 +77,7 @@ public: QList axes() const; signals: + void multiSeriesUniformChanged(bool uniform); void barThicknessChanged(float thicknessRatio); void barSpacingChanged(QSizeF spacing); void barSpacingRelativeChanged(bool relative); -- cgit v1.2.3 From 86cc8bfa76061adfa29b48f80b426c6198de6a53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Mon, 27 Jan 2014 06:50:42 +0200 Subject: iOS fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + texture power-of-two added + input handling changes - surface crashes, will be fixed in separate commit Task-number: QTRD-2802 Change-Id: I1913aec60c4e986b02f307d832dc55dea0be4348 Reviewed-by: Tomi Korpipää --- src/datavisualization/input/q3dinputhandler.cpp | 6 +++--- src/datavisualization/utils/texturehelper.cpp | 2 +- src/datavisualization/utils/utils.cpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/input/q3dinputhandler.cpp b/src/datavisualization/input/q3dinputhandler.cpp index 17f5aee5..dcdb984e 100644 --- a/src/datavisualization/input/q3dinputhandler.cpp +++ b/src/datavisualization/input/q3dinputhandler.cpp @@ -88,7 +88,7 @@ Q3DInputHandler::~Q3DInputHandler() */ void Q3DInputHandler::mousePressEvent(QMouseEvent *event, const QPoint &mousePos) { -#if defined(Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) Q_UNUSED(event); Q_UNUSED(mousePos); #else @@ -128,7 +128,7 @@ void Q3DInputHandler::mousePressEvent(QMouseEvent *event, const QPoint &mousePos void Q3DInputHandler::mouseReleaseEvent(QMouseEvent *event, const QPoint &mousePos) { Q_UNUSED(event); -#if defined (Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) Q_UNUSED(mousePos); #else if (QAbstract3DInputHandlerPrivate::InputStateRotating == d_ptr->m_inputState) { @@ -147,7 +147,7 @@ void Q3DInputHandler::mouseReleaseEvent(QMouseEvent *event, const QPoint &mouseP void Q3DInputHandler::mouseMoveEvent(QMouseEvent *event, const QPoint &mousePos) { Q_UNUSED(event); -#if defined (Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) Q_UNUSED(mousePos); #else if (QAbstract3DInputHandlerPrivate::InputStateRotating == d_ptr->m_inputState) { diff --git a/src/datavisualization/utils/texturehelper.cpp b/src/datavisualization/utils/texturehelper.cpp index 6498fce4..df7ff0c1 100644 --- a/src/datavisualization/utils/texturehelper.cpp +++ b/src/datavisualization/utils/texturehelper.cpp @@ -43,7 +43,7 @@ GLuint TextureHelper::create2DTexture(const QImage &image, bool useTrilinearFilt QImage texImage = image; -#if defined(Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) GLuint temp; //qDebug() << "old size" << image.size(); GLuint imageWidth = Utils::getNearestPowerOfTwo(image.width(), temp); diff --git a/src/datavisualization/utils/utils.cpp b/src/datavisualization/utils/utils.cpp index 78978c3c..83a7f051 100644 --- a/src/datavisualization/utils/utils.cpp +++ b/src/datavisualization/utils/utils.cpp @@ -66,7 +66,7 @@ QImage Utils::printTextToImage(const QFont &font, const QString &text, const QCo valueStrWidth += paddingWidth / 2; // Fix clipping problem with skewed fonts (italic or italic-style) QSize labelSize; -#if defined(Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) // Android can't handle textures with dimensions not in power of 2. Resize labels accordingly. // Add some padding before converting to power of two to avoid too tight fit GLuint prePadding = 5; @@ -95,7 +95,7 @@ QImage Utils::printTextToImage(const QFont &font, const QString &text, const QCo painter.setFont(valueFont); if (!labelBackground) { painter.setPen(txtColor); -#if defined(Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) painter.drawText((labelSize.width() - valueStrWidth) / 2.0f, (labelSize.height() - valueStrHeight) / 2.0f, valueStrWidth, valueStrHeight, -- cgit v1.2.3 From 71b501d31ae7c5d3aab987b54acccecce1136896 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 24 Jan 2014 13:45:18 +0200 Subject: Added series rotation and bar item rotation support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTRD-2654 Change-Id: I864d33bc173b35b8680eddb402bdf1817ecb031f Reviewed-by: Tomi Korpipää --- src/datavisualization/data/barrenderitem.cpp | 3 +- src/datavisualization/data/barrenderitem_p.h | 8 ++- src/datavisualization/data/qabstract3dseries.cpp | 47 ++++++++++++- src/datavisualization/data/qabstract3dseries.h | 6 ++ src/datavisualization/data/qabstract3dseries_p.h | 4 ++ src/datavisualization/data/qbardataitem.cpp | 27 +++++++- src/datavisualization/data/qbardataitem.h | 8 ++- src/datavisualization/data/qscatterdataitem.cpp | 5 ++ src/datavisualization/data/scatterrenderitem.cpp | 1 + src/datavisualization/engine/bars3drenderer.cpp | 78 +++++++++++++++++----- src/datavisualization/engine/bars3drenderer_p.h | 1 + src/datavisualization/engine/engine.qrc | 4 +- src/datavisualization/engine/scatter3drenderer.cpp | 34 ++++++---- src/datavisualization/engine/selectionpointer.cpp | 20 ++++-- src/datavisualization/engine/selectionpointer_p.h | 8 ++- src/datavisualization/engine/seriesrendercache.cpp | 5 ++ src/datavisualization/engine/seriesrendercache_p.h | 3 + src/datavisualization/engine/surface3drenderer.cpp | 6 +- 18 files changed, 221 insertions(+), 47 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/data/barrenderitem.cpp b/src/datavisualization/data/barrenderitem.cpp index 1bb1271d..a558e1fd 100644 --- a/src/datavisualization/data/barrenderitem.cpp +++ b/src/datavisualization/data/barrenderitem.cpp @@ -39,6 +39,7 @@ BarRenderItem::BarRenderItem(const BarRenderItem &other) m_sliceLabel = other.m_sliceLabel; m_sliceLabelItem = 0; m_seriesIndex = other.m_seriesIndex; + m_rotation = other.m_rotation; } BarRenderItem::~BarRenderItem() @@ -60,7 +61,7 @@ void BarRenderItem::setSliceLabel(const QString &label) m_sliceLabel = label; } -QString &BarRenderItem::sliceLabel() +const QString &BarRenderItem::sliceLabel() const { return m_sliceLabel; } diff --git a/src/datavisualization/data/barrenderitem_p.h b/src/datavisualization/data/barrenderitem_p.h index 7704d65e..66c9c460 100644 --- a/src/datavisualization/data/barrenderitem_p.h +++ b/src/datavisualization/data/barrenderitem_p.h @@ -67,12 +67,15 @@ public: // Formatted label for item. void setSliceLabel(const QString &label); - QString &sliceLabel(); // Formats label if not previously formatted + const QString &sliceLabel() const; // Formats label if not previously formatted // Series index in visual series that this item belongs to. // This is only utilized by slicing, so it may not be up to date on all items. inline void setSeriesIndex(int seriesIndex) { m_seriesIndex = seriesIndex; } - inline int seriesIndex() { return m_seriesIndex; } + inline int seriesIndex() const { return m_seriesIndex; } + + inline void setRotation(const QQuaternion &rotation) { m_rotation = rotation; } + inline const QQuaternion &rotation() const { return m_rotation; } protected: float m_value; @@ -81,6 +84,7 @@ protected: QString m_sliceLabel; LabelItem *m_sliceLabelItem; int m_seriesIndex; + QQuaternion m_rotation; friend class QBarDataItem; }; diff --git a/src/datavisualization/data/qabstract3dseries.cpp b/src/datavisualization/data/qabstract3dseries.cpp index a3f766a8..d80879f0 100644 --- a/src/datavisualization/data/qabstract3dseries.cpp +++ b/src/datavisualization/data/qabstract3dseries.cpp @@ -141,6 +141,18 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * Defaults to \c false. */ +/*! + * \qmlproperty quaternion Abstract3DSeries::meshRotation + * + * Sets the mesh \a rotation that is applied to all items of the series. + * The \a rotation should be a normalized quaternion. + * For those series types that support item specific rotation, the rotations are + * multiplied together. + * Bar3DSeries ignores any rotation that is not around Y-axis. + * Surface3DSeries applies the rotation only to the selection pointer. + * Defaults to no rotation. + */ + /*! * \qmlproperty string Abstract3DSeries::userDefinedMesh * @@ -303,7 +315,8 @@ bool QAbstract3DSeries::isVisible() const */ void QAbstract3DSeries::setMesh(QAbstract3DSeries::Mesh mesh) { - if ((mesh == QAbstract3DSeries::MeshPoint || mesh == QAbstract3DSeries::MeshMinimal) + if ((mesh == QAbstract3DSeries::MeshPoint || mesh == QAbstract3DSeries::MeshMinimal + || mesh == QAbstract3DSeries::MeshArrow) && type() != QAbstract3DSeries::SeriesTypeScatter) { qWarning() << "Specified style is only supported for QScatter3DSeries."; } else if (d_ptr->m_mesh != mesh) { @@ -337,6 +350,30 @@ bool QAbstract3DSeries::isMeshSmooth() const return d_ptr->m_meshSmooth; } +/*! + * \property QAbstract3DSeries::meshRotation + * + * Sets the mesh \a rotation that is applied to all items of the series. + * The \a rotation should be a normalized QQuaternion. + * For those series types that support item specific rotation, the rotations are + * multiplied together. + * QBar3DSeries ignores any rotation that is not around Y-axis. + * QSurface3DSeries applies the rotation only to the selection pointer. + * Defaults to no rotation. + */ +void QAbstract3DSeries::setMeshRotation(const QQuaternion &rotation) +{ + if (d_ptr->m_meshRotation != rotation) { + d_ptr->setMeshRotation(rotation); + emit meshRotationChanged(rotation); + } +} + +QQuaternion QAbstract3DSeries::meshRotation() const +{ + return d_ptr->m_meshRotation; +} + /*! * \property QAbstract3DSeries::userDefinedMesh * @@ -608,6 +645,14 @@ void QAbstract3DSeriesPrivate::setMeshSmooth(bool enable) m_controller->markSeriesVisualsDirty(); } +void QAbstract3DSeriesPrivate::setMeshRotation(const QQuaternion &rotation) +{ + m_meshRotation = rotation; + m_changeTracker.meshRotationChanged = true; + if (m_controller) + m_controller->markSeriesVisualsDirty(); +} + void QAbstract3DSeriesPrivate::setUserDefinedMesh(const QString &meshFile) { m_userDefinedMesh = meshFile; diff --git a/src/datavisualization/data/qabstract3dseries.h b/src/datavisualization/data/qabstract3dseries.h index df6dada8..5e7fe016 100644 --- a/src/datavisualization/data/qabstract3dseries.h +++ b/src/datavisualization/data/qabstract3dseries.h @@ -23,6 +23,7 @@ #include #include #include +#include QT_BEGIN_NAMESPACE_DATAVISUALIZATION @@ -38,6 +39,7 @@ class QT_DATAVISUALIZATION_EXPORT QAbstract3DSeries : public QObject Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibilityChanged) Q_PROPERTY(Mesh mesh READ mesh WRITE setMesh NOTIFY meshChanged) Q_PROPERTY(bool meshSmooth READ isMeshSmooth WRITE setMeshSmooth NOTIFY meshSmoothChanged) + Q_PROPERTY(QQuaternion meshRotation READ meshRotation WRITE setMeshRotation NOTIFY meshRotationChanged) Q_PROPERTY(QString userDefinedMesh READ userDefinedMesh WRITE setUserDefinedMesh NOTIFY userDefinedMeshChanged) Q_PROPERTY(QtDataVisualization::Q3DTheme::ColorStyle colorStyle READ colorStyle WRITE setColorStyle NOTIFY colorStyleChanged) Q_PROPERTY(QColor baseColor READ baseColor WRITE setBaseColor NOTIFY baseColorChanged) @@ -91,6 +93,9 @@ public: void setMeshSmooth(bool enable); bool isMeshSmooth() const; + void setMeshRotation(const QQuaternion &rotation); + QQuaternion meshRotation() const; + void setUserDefinedMesh(const QString &fileName); QString userDefinedMesh() const; @@ -117,6 +122,7 @@ signals: void visibilityChanged(bool visible); void meshChanged(Mesh mesh); void meshSmoothChanged(bool enabled); + void meshRotationChanged(QQuaternion rotation); void userDefinedMeshChanged(QString fileName); void colorStyleChanged(Q3DTheme::ColorStyle style); void baseColorChanged(QColor color); diff --git a/src/datavisualization/data/qabstract3dseries_p.h b/src/datavisualization/data/qabstract3dseries_p.h index f1bc1f95..565d35a2 100644 --- a/src/datavisualization/data/qabstract3dseries_p.h +++ b/src/datavisualization/data/qabstract3dseries_p.h @@ -42,6 +42,7 @@ struct QAbstract3DSeriesChangeBitField { bool itemLabelFormatChanged : 1; bool meshChanged : 1; bool meshSmoothChanged : 1; + bool meshRotationChanged : 1; bool userDefinedMeshChanged : 1; bool colorStyleChanged : 1; bool baseColorChanged : 1; @@ -56,6 +57,7 @@ struct QAbstract3DSeriesChangeBitField { : itemLabelFormatChanged(true), meshChanged(true), meshSmoothChanged(true), + meshRotationChanged(true), userDefinedMeshChanged(true), colorStyleChanged(true), baseColorChanged(true), @@ -106,6 +108,7 @@ public: void setVisible(bool visible); void setMesh(QAbstract3DSeries::Mesh mesh); void setMeshSmooth(bool enable); + void setMeshRotation(const QQuaternion &rotation); void setUserDefinedMesh(const QString &meshFile); void setColorStyle(Q3DTheme::ColorStyle style); @@ -129,6 +132,7 @@ public: Abstract3DController *m_controller; QAbstract3DSeries::Mesh m_mesh; bool m_meshSmooth; + QQuaternion m_meshRotation; QString m_userDefinedMesh; Q3DTheme::ColorStyle m_colorStyle; diff --git a/src/datavisualization/data/qbardataitem.cpp b/src/datavisualization/data/qbardataitem.cpp index 3e8ebee2..eb14c7f9 100644 --- a/src/datavisualization/data/qbardataitem.cpp +++ b/src/datavisualization/data/qbardataitem.cpp @@ -37,7 +37,8 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION */ QBarDataItem::QBarDataItem() : d_ptr(0), // private data doesn't exist by default (optimization) - m_value(0.0f) + m_value(0.0f), + m_angle(0.0f) { } @@ -46,7 +47,18 @@ QBarDataItem::QBarDataItem() */ QBarDataItem::QBarDataItem(float value) : d_ptr(0), - m_value(value) + m_value(value), + m_angle(0.0f) +{ +} + +/*! + * Constructs QBarDataItem with \a value and \a angle + */ +QBarDataItem::QBarDataItem(float value, float angle) + : d_ptr(0), + m_value(value), + m_angle(angle) { } @@ -72,6 +84,7 @@ QBarDataItem::~QBarDataItem() QBarDataItem &QBarDataItem::operator=(const QBarDataItem &other) { m_value = other.m_value; + m_angle = other.m_angle; if (other.d_ptr) createExtraData(); else @@ -89,6 +102,16 @@ QBarDataItem &QBarDataItem::operator=(const QBarDataItem &other) * \return value of this data item. */ +/*! + * \fn void QBarDataItem::setRotation(float angle) + * Sets rotation \a angle in degrees for this data item. + */ + +/*! + * \fn float QBarDataItem::rotation() const + * \return rotation angle in degrees for this data item. + */ + /*! * \internal */ diff --git a/src/datavisualization/data/qbardataitem.h b/src/datavisualization/data/qbardataitem.h index 57a14efb..f16a21b7 100644 --- a/src/datavisualization/data/qbardataitem.h +++ b/src/datavisualization/data/qbardataitem.h @@ -30,13 +30,16 @@ class QT_DATAVISUALIZATION_EXPORT QBarDataItem public: QBarDataItem(); QBarDataItem(float value); + QBarDataItem(float value, float angle); QBarDataItem(const QBarDataItem &other); ~QBarDataItem(); QBarDataItem &operator=(const QBarDataItem &other); - void setValue(float value) { m_value = value; } - float value() const { return m_value; } + inline void setValue(float value) { m_value = value; } + inline float value() const { return m_value; } + inline void setRotation(float angle) { m_angle = angle; } + inline float rotation() const { return m_angle; } protected: virtual void createExtraData(); @@ -45,6 +48,7 @@ protected: private: float m_value; + float m_angle; }; QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/data/qscatterdataitem.cpp b/src/datavisualization/data/qscatterdataitem.cpp index d4641c7f..b8b85381 100644 --- a/src/datavisualization/data/qscatterdataitem.cpp +++ b/src/datavisualization/data/qscatterdataitem.cpp @@ -72,6 +72,7 @@ QScatterDataItem::~QScatterDataItem() QScatterDataItem &QScatterDataItem::operator=(const QScatterDataItem &other) { m_position = other.m_position; + m_rotation = other.m_rotation; if (other.d_ptr) createExtraData(); @@ -94,11 +95,15 @@ QScatterDataItem &QScatterDataItem::operator=(const QScatterDataItem &other) /*! * \fn void QScatterDataItem::setRotation(const QQuaternion &rotation) * Sets \a rotation to this data item. + * The \a rotation should be a normalized QQuaternion. + * If the series also has rotation, item and series rotations are multiplied together. + * Defaults to no rotation. */ /*! * \fn QQuaternion QScatterDataItem::rotation() const * \return rotation of this data item. + * \sa setRotation() */ /*! diff --git a/src/datavisualization/data/scatterrenderitem.cpp b/src/datavisualization/data/scatterrenderitem.cpp index 635f11cb..236893a8 100644 --- a/src/datavisualization/data/scatterrenderitem.cpp +++ b/src/datavisualization/data/scatterrenderitem.cpp @@ -33,6 +33,7 @@ ScatterRenderItem::ScatterRenderItem(const ScatterRenderItem &other) m_visible(false) { m_position = other.m_position; + m_rotation = other.m_rotation; } ScatterRenderItem::~ScatterRenderItem() diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 4140f01c..7e727645 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -44,6 +44,7 @@ const GLfloat labelMargin = 0.05f; const GLfloat gridLineWidth = 0.005f; const bool sliceGridLabels = true; +const QQuaternion identityQuaternion; Bars3DRenderer::Bars3DRenderer(Bars3DController *controller) : Abstract3DRenderer(controller), @@ -190,12 +191,13 @@ void Bars3DRenderer::updateData() } for (int series = 0; series < seriesCount; series++) { - if (newRows != m_renderingArrays.at(series).size() - || newColumns != m_renderingArrays.at(series).at(0).size()) { + BarRenderItemArray &renderArray = m_renderingArrays[series]; + if (newRows != renderArray.size() + || newColumns != renderArray.at(0).size()) { // Destroy old render items and reallocate new array - m_renderingArrays[series].resize(newRows); + renderArray.resize(newRows); for (int i = 0; i < newRows; i++) - m_renderingArrays[series][i].resize(newColumns); + renderArray[i].resize(newColumns); } // Update cached data window @@ -208,10 +210,10 @@ void Bars3DRenderer::updateData() GLfloat heightValue = 0.0f; for (int i = 0; i < newRows; i++) { int j = 0; + BarRenderItemRow &renderRow = renderArray[i]; if (dataRowIndex < dataRowCount) { const QBarDataRow *dataRow = dataProxy->rowAt(dataRowIndex); - updateSize = qMin((dataRow->size() - minCol), - m_renderingArrays.at(series).at(i).size()); + updateSize = qMin((dataRow->size() - minCol), renderRow.size()); if (dataRow) { int dataColIndex = minCol; for (; j < updateSize ; j++) { @@ -230,15 +232,24 @@ void Bars3DRenderer::updateData() heightValue = 0.0f; } } - m_renderingArrays[series][i][j].setValue(value); - m_renderingArrays[series][i][j].setHeight(heightValue / m_heightNormalizer); + renderRow[j].setValue(value); + renderRow[j].setHeight(heightValue / m_heightNormalizer); + float angle = dataRow->at(dataColIndex).rotation(); + if (angle) { + renderRow[j].setRotation( + QQuaternion::fromAxisAndAngle( + upVector, angle)); + } else { + renderRow[j].setRotation(identityQuaternion); + } dataColIndex++; } } } for (; j < m_renderingArrays.at(series).at(i).size(); j++) { - m_renderingArrays[series][i][j].setValue(0.0f); - m_renderingArrays[series][i][j].setHeight(0.0f); + renderRow[j].setValue(0.0f); + renderRow[j].setHeight(0.0f); + renderRow[j].setRotation(identityQuaternion); } dataRowIndex++; } @@ -248,6 +259,18 @@ void Bars3DRenderer::updateData() updateSelectedBar(m_selectedBarPos, m_selectedBarSeries); } +void Bars3DRenderer::updateSeries(const QList &seriesList, bool updateVisibility) +{ + Abstract3DRenderer::updateSeries(seriesList, updateVisibility); + + // Fix the series rotations - ignore any rotations that are not along Y-axis + for (int series = 0; series < m_visibleSeriesList.size(); series++) { + QVector3D vector = m_visibleSeriesList.at(series).meshRotation().vector(); + if (vector.x() || vector.z()) + m_visibleSeriesList[series].setMeshRotation(identityQuaternion); + } +} + void Bars3DRenderer::updateScene(Q3DScene *scene) { if (m_hasNegativeValues) @@ -283,6 +306,7 @@ void Bars3DRenderer::drawSlicedScene() GLfloat barPosX = 0; QVector3D lightPos; QVector3D lightColor = Utils::vectorFromColor(m_cachedTheme->lightColor()); + static QQuaternion ninetyDegreeRotation = QQuaternion::fromAxisAndAngle(upVector, 90.0f); // Specify viewport glViewport(m_secondarySubViewport.x(), @@ -479,6 +503,8 @@ void Bars3DRenderer::drawSlicedScene() if (!item) continue; + QQuaternion seriesRotation; + if (item->seriesIndex() != currentSeriesIndex) { currentSeriesIndex = item->seriesIndex(); currentSeries = &(m_visibleSeriesList.at(currentSeriesIndex)); @@ -509,6 +535,7 @@ void Bars3DRenderer::drawSlicedScene() } previousColorStyle = colorStyle; + seriesRotation = currentSeries->meshRotation(); } if (item->height() < 0) @@ -519,20 +546,27 @@ void Bars3DRenderer::drawSlicedScene() QMatrix4x4 MVPMatrix; QMatrix4x4 modelMatrix; QMatrix4x4 itModelMatrix; - GLfloat barRotation = 0.0f; + QQuaternion barRotation = item->rotation(); GLfloat barPosY = item->translation().y() + barPosYAdjustment - zeroPosAdjustment; if (rowMode) { barPosX = item->translation().x(); } else { barPosX = -(item->translation().z()); // flip z; frontmost bar to the left - barRotation = 90.0f; + barRotation *= ninetyDegreeRotation; } modelMatrix.translate(barPosX, barPosY, 0.0f); modelMatrixScaler.setY(item->height()); - modelMatrix.rotate(barRotation, 0.0f, 1.0f, 0.0f); - itModelMatrix.rotate(barRotation, 0.0f, 1.0f, 0.0f); + + if (!seriesRotation.isIdentity()) + barRotation *= seriesRotation; + + if (!barRotation.isIdentity()) { + modelMatrix.rotate(barRotation); + itModelMatrix.rotate(barRotation); + } + modelMatrix.scale(modelMatrixScaler); itModelMatrix.scale(modelMatrixScaler); @@ -822,6 +856,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) float seriesPos = m_seriesStart; for (int series = 0; series < seriesCount; series++) { ObjectHelper *barObj = m_visibleSeriesList.at(series).object(); + QQuaternion seriesRotation(m_visibleSeriesList.at(series).meshRotation()); for (int row = startRow; row != stopRow; row += stepRow) { for (int bar = startBar; bar != stopBar; bar += stepBar) { GLfloat shadowOffset = 0.0f; @@ -853,6 +888,8 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) (m_columnDepth - rowPos) / m_scaleFactor); // Scale the bars down in X and Z to reduce self-shadowing issues shadowScaler.setY(item.height()); + if (!seriesRotation.isIdentity() || !item.rotation().isIdentity()) + modelMatrix.rotate(seriesRotation * item.rotation()); modelMatrix.scale(shadowScaler); MVPMatrix = depthProjectionViewMatrix * modelMatrix; @@ -915,6 +952,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) float seriesPos = m_seriesStart; for (int series = 0; series < seriesCount; series++) { ObjectHelper *barObj = m_visibleSeriesList.at(series).object(); + QQuaternion seriesRotation(m_visibleSeriesList.at(series).meshRotation()); for (int row = startRow; row != stopRow; row += stepRow) { for (int bar = startBar; bar != stopBar; bar += stepBar) { const BarRenderItem &item = m_renderingArrays.at(series).at(row).at(bar); @@ -935,6 +973,8 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) modelMatrix.translate((colPos - m_rowWidth) / m_scaleFactor, item.height(), (m_columnDepth - rowPos) / m_scaleFactor); + if (!seriesRotation.isIdentity() || !item.rotation().isIdentity()) + modelMatrix.rotate(seriesRotation * item.rotation()); modelMatrix.scale(QVector3D(m_scaleX * m_seriesScaleX, item.height(), m_scaleZ * m_seriesScaleZ)); @@ -1063,6 +1103,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) float seriesPos = m_seriesStart; for (int series = 0; series < seriesCount; series++) { const SeriesRenderCache ¤tSeries = m_visibleSeriesList.at(series); + QQuaternion seriesRotation(currentSeries.meshRotation()); ObjectHelper *barObj = currentSeries.object(); Q3DTheme::ColorStyle colorStyle = currentSeries.colorStyle(); bool colorStyleIsUniform = (colorStyle == Q3DTheme::ColorStyleUniform); @@ -1123,6 +1164,11 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) item.height(), (m_columnDepth - rowPos) / m_scaleFactor); modelScaler.setY(item.height()); + if (!seriesRotation.isIdentity() || !item.rotation().isIdentity()) { + QQuaternion totalRotation = seriesRotation * item.rotation(); + modelMatrix.rotate(totalRotation); + itModelMatrix.rotate(totalRotation); + } modelMatrix.scale(modelScaler); itModelMatrix.scale(modelScaler); #ifdef SHOW_DEPTH_TEXTURE_SCENE @@ -1388,7 +1434,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) // Draw grid lines if (m_cachedTheme->isGridEnabled() && m_heightNormalizer) { ShaderHelper *lineShader = m_backgroundShader; - QQuaternion lineRotation = QQuaternion(); + QQuaternion lineRotation; // Bind bar shader lineShader->bind(); @@ -2021,7 +2067,7 @@ void Bars3DRenderer::fixMeshFileName(QString &fileName, QAbstract3DSeries::Mesh { if (!m_cachedTheme->isBackgroundEnabled()) { // Load full version of meshes that have it available - // Note: Minimal and Point not supported in bar charts + // Note: Minimal, Point, and Arrow not supported in bar charts if (mesh != QAbstract3DSeries::MeshSphere) fileName.append(QStringLiteral("Full")); } diff --git a/src/datavisualization/engine/bars3drenderer_p.h b/src/datavisualization/engine/bars3drenderer_p.h index 04e2a1ac..46227aed 100644 --- a/src/datavisualization/engine/bars3drenderer_p.h +++ b/src/datavisualization/engine/bars3drenderer_p.h @@ -114,6 +114,7 @@ public: ~Bars3DRenderer(); void updateData(); + void updateSeries(const QList &seriesList, bool updateVisibility); void updateScene(Q3DScene *scene); void render(GLuint defaultFboHandle = 0); diff --git a/src/datavisualization/engine/engine.qrc b/src/datavisualization/engine/engine.qrc index 073c7450..18cba7fe 100644 --- a/src/datavisualization/engine/engine.qrc +++ b/src/datavisualization/engine/engine.qrc @@ -27,8 +27,8 @@ meshes/backgroundNegatives.obj meshes/minimalFlat.obj meshes/minimalSmooth.obj - meshes/arrowFlat.obj - meshes/arrowSmooth.obj + meshes/arrowFlat.obj + meshes/arrowSmooth.obj shaders/default.frag diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 9cbffcdb..7a2bf568 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -204,15 +204,16 @@ void Scatter3DRenderer::updateData() for (int i = 0; i < dataSize; i++) { QVector3D dotPos = dataArray.at(i).position(); + ScatterRenderItem &renderItem = m_renderingArrays[series][i]; if ((dotPos.x() >= minX && dotPos.x() <= maxX ) && (dotPos.y() >= minY && dotPos.y() <= maxY) && (dotPos.z() >= minZ && dotPos.z() <= maxZ)) { - m_renderingArrays[series][i].setPosition(dotPos); - m_renderingArrays[series][i].setVisible(true); - m_renderingArrays[series][i].setRotation(dataArray.at(i).rotation()); - calculateTranslation(m_renderingArrays[series][i]); + renderItem.setPosition(dotPos); + renderItem.setVisible(true); + renderItem.setRotation(dataArray.at(i).rotation()); + calculateTranslation(renderItem); } else { - m_renderingArrays[series][i].setVisible(false); + renderItem.setVisible(false); } } } @@ -372,6 +373,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) // Draw dots to depth buffer for (int series = 0; series < seriesCount; series++) { ObjectHelper *dotObj = m_visibleSeriesList.at(series).object(); + QQuaternion seriesRotation = m_visibleSeriesList.at(series).meshRotation(); bool drawingPoints = (m_visibleSeriesList.at(series).mesh() == QAbstract3DSeries::MeshPoint); float itemSize = m_cachedItemSize.at(series) / itemScaler; @@ -393,7 +395,8 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) modelMatrix.translate(item.translation()); if (!drawingPoints) { - modelMatrix.rotate(item.rotation()); + if (!seriesRotation.isIdentity() || !item.rotation().isIdentity()) + modelMatrix.rotate(seriesRotation * item.rotation()); modelMatrix.scale(modelScaler); } @@ -467,6 +470,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) bool previousDrawingPoints = (m_visibleSeriesList.at(0).mesh() != QAbstract3DSeries::MeshPoint); for (int series = 0; series < seriesCount; series++) { ObjectHelper *dotObj = m_visibleSeriesList.at(series).object(); + QQuaternion seriesRotation = m_visibleSeriesList.at(series).meshRotation(); bool drawingPoints = (m_visibleSeriesList.at(series).mesh() == QAbstract3DSeries::MeshPoint); float itemSize = m_cachedItemSize.at(series) / itemScaler; @@ -504,7 +508,8 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) modelMatrix.translate(item.translation()); if (!drawingPoints) { - modelMatrix.rotate(item.rotation()); + if (!seriesRotation.isIdentity() || !item.rotation().isIdentity()) + modelMatrix.rotate(seriesRotation * item.rotation()); modelMatrix.scale(modelScaler); } @@ -601,6 +606,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) for (int series = 0; series < seriesCount; series++) { const SeriesRenderCache ¤tSeries = m_visibleSeriesList.at(series); + QQuaternion seriesRotation = currentSeries.meshRotation(); ObjectHelper *dotObj = currentSeries.object(); bool drawingPoints = (currentSeries.mesh() == QAbstract3DSeries::MeshPoint); Q3DTheme::ColorStyle colorStyle = currentSeries.colorStyle(); @@ -662,10 +668,13 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) modelMatrix.translate(item.translation()); if (!drawingPoints) { - modelMatrix.rotate(item.rotation()); + if (!seriesRotation.isIdentity() || !item.rotation().isIdentity()) { + QQuaternion totalRotation = seriesRotation * item.rotation(); + modelMatrix.rotate(totalRotation); + itModelMatrix.rotate(totalRotation); + } modelMatrix.scale(modelScaler); itModelMatrix.scale(modelScaler); - itModelMatrix.rotate(item.rotation()); } #ifdef SHOW_DEPTH_TEXTURE_SCENE MVPMatrix = depthProjectionViewMatrix * modelMatrix; @@ -862,8 +871,8 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) m_cachedTheme->lightStrength() / 2.5f); } - QQuaternion lineYRotation = QQuaternion(); - QQuaternion lineXRotation = QQuaternion(); + QQuaternion lineYRotation; + QQuaternion lineXRotation; if (m_xFlipped) lineYRotation = QQuaternion::fromAxisAndAngle(0.0f, 1.0f, 0.0f, -90.0f); @@ -1618,7 +1627,8 @@ void Scatter3DRenderer::fixMeshFileName(QString &fileName, QAbstract3DSeries::Me // Load full version of meshes that have it available if (mesh != QAbstract3DSeries::MeshSphere && mesh != QAbstract3DSeries::MeshMinimal - && mesh != QAbstract3DSeries::MeshPoint) { + && mesh != QAbstract3DSeries::MeshPoint + && mesh != QAbstract3DSeries::MeshArrow) { fileName.append(QStringLiteral("Full")); } } diff --git a/src/datavisualization/engine/selectionpointer.cpp b/src/datavisualization/engine/selectionpointer.cpp index 85fb2b71..2dd23930 100644 --- a/src/datavisualization/engine/selectionpointer.cpp +++ b/src/datavisualization/engine/selectionpointer.cpp @@ -110,8 +110,15 @@ void SelectionPointer::render(GLuint defaultFboHandle) // Position the pointer ball modelMatrix.translate(m_position); + if (!m_rotation.isIdentity()) { + modelMatrix.rotate(m_rotation); + itModelMatrix.rotate(m_rotation); + } + // Scale the point with fixed values (at this point) - modelMatrix.scale(QVector3D(0.05f, 0.05f, 0.05f)); + QVector3D scaleVector(0.05f, 0.05f, 0.05f); + modelMatrix.scale(scaleVector); + itModelMatrix.scale(scaleVector); MVPMatrix = projectionMatrix * viewMatrix * modelMatrix; @@ -189,7 +196,7 @@ void SelectionPointer::render(GLuint defaultFboHandle) glEnable(GL_DEPTH_TEST); } -void SelectionPointer::setPosition(QVector3D position) +void SelectionPointer::setPosition(const QVector3D &position) { m_position = position; } @@ -200,11 +207,16 @@ void SelectionPointer::updateSliceData(bool sliceActivated, GLfloat autoScaleAdj m_autoScaleAdjustment = autoScaleAdjustment; } -void SelectionPointer::setHighlightColor(QVector3D colorVector) +void SelectionPointer::setHighlightColor(const QVector3D &colorVector) { m_highlightColor = colorVector; } +void SelectionPointer::setRotation(const QQuaternion &rotation) +{ + m_rotation = rotation; +} + void SelectionPointer::setLabel(const QString &label) { m_label = label; @@ -222,7 +234,7 @@ void SelectionPointer::handleDrawerChange() setLabel(m_label); } -void SelectionPointer::updateBoundingRect(QRect rect) +void SelectionPointer::updateBoundingRect(const QRect &rect) { m_mainViewPort = rect; } diff --git a/src/datavisualization/engine/selectionpointer_p.h b/src/datavisualization/engine/selectionpointer_p.h index 12317943..5d901caa 100644 --- a/src/datavisualization/engine/selectionpointer_p.h +++ b/src/datavisualization/engine/selectionpointer_p.h @@ -52,14 +52,15 @@ public: ~SelectionPointer(); void render(GLuint defaultFboHandle = 0); - void setPosition(QVector3D position); + void setPosition(const QVector3D &position); void setLabel(const QString &label); void setPointerObject(ObjectHelper *object); void handleDrawerChange(); - void updateBoundingRect(QRect rect); + void updateBoundingRect(const QRect &rect); void updateScene(Q3DScene *scene); void updateSliceData(bool sliceActivated, GLfloat autoScaleAdjustment); - void setHighlightColor(QVector3D colorVector); + void setHighlightColor(const QVector3D &colorVector); + void setRotation(const QQuaternion &rotation); private: void initializeOpenGL(); @@ -83,6 +84,7 @@ private: bool m_cachedIsSlicingActivated; GLfloat m_autoScaleAdjustment; QVector3D m_highlightColor; + QQuaternion m_rotation; }; QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/engine/seriesrendercache.cpp b/src/datavisualization/engine/seriesrendercache.cpp index f1165cb7..f13fc2ca 100644 --- a/src/datavisualization/engine/seriesrendercache.cpp +++ b/src/datavisualization/engine/seriesrendercache.cpp @@ -126,6 +126,11 @@ void SeriesRenderCache::populate(QAbstract3DSeries *series, Abstract3DRenderer * } } + if (seriesChanged || changeTracker.meshRotationChanged) { + m_meshRotation = series->meshRotation(); + changeTracker.meshRotationChanged = false; + } + if (seriesChanged || changeTracker.colorStyleChanged) { m_colorStyle = series->colorStyle(); changeTracker.colorStyleChanged = false; diff --git a/src/datavisualization/engine/seriesrendercache_p.h b/src/datavisualization/engine/seriesrendercache_p.h index 81eaacbc..ec6ef0ad 100644 --- a/src/datavisualization/engine/seriesrendercache_p.h +++ b/src/datavisualization/engine/seriesrendercache_p.h @@ -53,6 +53,8 @@ public: inline const QString &itemLabelFormat() const { return m_itemLabelFormat; } inline const QAbstract3DSeries::Mesh &mesh() const { return m_mesh; } + inline const QQuaternion &meshRotation() const { return m_meshRotation; } + inline void setMeshRotation(const QQuaternion &rotation) { m_meshRotation = rotation; } inline ObjectHelper *object() const { return m_object; } inline const Q3DTheme::ColorStyle &colorStyle() const { return m_colorStyle; } inline const QVector3D &baseColor() const { return m_baseColor; } @@ -68,6 +70,7 @@ protected: QString m_itemLabelFormat; ObjectHelper *m_object; QAbstract3DSeries::Mesh m_mesh; + QQuaternion m_meshRotation; Q3DTheme::ColorStyle m_colorStyle; QVector3D m_baseColor; diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 286477df..2ef5ea5d 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -301,6 +301,7 @@ void Surface3DRenderer::updateSeries(const QList &seriesLis Utils::vectorFromColor(series->singleHighlightColor())); // Make sure selection pointer object reference is still good m_selectionPointer->setPointerObject(m_visibleSeriesList.at(0).object()); + m_selectionPointer->setRotation(m_visibleSeriesList.at(0).meshRotation()); } } } @@ -1222,8 +1223,8 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) m_cachedTheme->lightStrength() / 2.5f); } - QQuaternion lineYRotation = QQuaternion(); - QQuaternion lineXRotation = QQuaternion(); + QQuaternion lineYRotation; + QQuaternion lineXRotation; if (m_xFlipped) lineYRotation = QQuaternion::fromAxisAndAngle(0.0f, 1.0f, 0.0f, -90.0f); @@ -1934,6 +1935,7 @@ void Surface3DRenderer::surfacePointSelected(const QPoint &point) m_selectionPointer->setPointerObject(m_visibleSeriesList.at(0).object()); m_selectionPointer->setHighlightColor(m_visibleSeriesList.at(0).singleHighlightColor()); m_selectionPointer->updateScene(m_cachedScene); + m_selectionPointer->setRotation(m_visibleSeriesList.at(0).meshRotation()); } // Maps selection Id to surface point in data array -- cgit v1.2.3 From 5e172211056437521ebbe6135661edaa486bee83 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 24 Jan 2014 14:16:12 +0200 Subject: Add missing consts to public apis MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTRD-2807 Change-Id: I74a6735ab37a8b3d97548adba99ca79ce2c7975c Reviewed-by: Tomi Korpipää --- src/datavisualization/axis/qvalue3daxis.h | 7 ++++--- src/datavisualization/engine/q3dbars.cpp | 18 +++++++++--------- src/datavisualization/engine/q3dbars.h | 10 +++++----- src/datavisualization/engine/q3dscatter.cpp | 4 ++-- src/datavisualization/engine/q3dscatter.h | 2 +- src/datavisualization/engine/q3dsurface.cpp | 4 ++-- src/datavisualization/engine/q3dsurface.h | 2 +- .../input/qabstract3dinputhandler.cpp | 2 +- src/datavisualization/input/qabstract3dinputhandler.h | 2 +- 9 files changed, 26 insertions(+), 25 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/axis/qvalue3daxis.h b/src/datavisualization/axis/qvalue3daxis.h index d5d23825..1bb9cea3 100644 --- a/src/datavisualization/axis/qvalue3daxis.h +++ b/src/datavisualization/axis/qvalue3daxis.h @@ -36,13 +36,14 @@ public: explicit QValue3DAxis(QObject *parent = 0); virtual ~QValue3DAxis(); + void setSegmentCount(int count); int segmentCount() const; - int subSegmentCount() const; - QString labelFormat() const; - void setSegmentCount(int count); void setSubSegmentCount(int count); + int subSegmentCount() const; + void setLabelFormat(const QString &format); + QString labelFormat() const; signals: void segmentCountChanged(int count); diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp index 1d86f8f0..8ffa5712 100644 --- a/src/datavisualization/engine/q3dbars.cpp +++ b/src/datavisualization/engine/q3dbars.cpp @@ -177,9 +177,9 @@ void Q3DBars::insertSeries(int index, QBar3DSeries *series) /*! * \return list of series added to this graph. */ -QList Q3DBars::seriesList() +QList Q3DBars::seriesList() const { - return dptr()->m_shared->barSeriesList(); + return dptrc()->m_shared->barSeriesList(); } /*! @@ -217,9 +217,9 @@ void Q3DBars::setBarThickness(float thicknessRatio) } } -float Q3DBars::barThickness() +float Q3DBars::barThickness() const { - return dptr()->m_shared->barThickness(); + return dptrc()->m_shared->barThickness(); } /*! @@ -230,7 +230,7 @@ float Q3DBars::barThickness() * * \sa barSpacingRelative, multiSeriesUniform */ -void Q3DBars::setBarSpacing(QSizeF spacing) +void Q3DBars::setBarSpacing(const QSizeF &spacing) { if (spacing != barSpacing()) { dptr()->m_shared->setBarSpecs(GLfloat(barThickness()), spacing, isBarSpacingRelative()); @@ -238,9 +238,9 @@ void Q3DBars::setBarSpacing(QSizeF spacing) } } -QSizeF Q3DBars::barSpacing() +QSizeF Q3DBars::barSpacing() const { - return dptr()->m_shared->barSpacing(); + return dptrc()->m_shared->barSpacing(); } /*! @@ -258,9 +258,9 @@ void Q3DBars::setBarSpacingRelative(bool relative) } } -bool Q3DBars::isBarSpacingRelative() +bool Q3DBars::isBarSpacingRelative() const { - return dptr()->m_shared->isBarSpecRelative(); + return dptrc()->m_shared->isBarSpecRelative(); } /*! diff --git a/src/datavisualization/engine/q3dbars.h b/src/datavisualization/engine/q3dbars.h index 636c5720..f9303e29 100644 --- a/src/datavisualization/engine/q3dbars.h +++ b/src/datavisualization/engine/q3dbars.h @@ -52,19 +52,19 @@ public: void addSeries(QBar3DSeries *series); void removeSeries(QBar3DSeries *series); void insertSeries(int index, QBar3DSeries *series); - QList seriesList(); + QList seriesList() const; void setMultiSeriesUniform(bool uniform); bool isMultiSeriesUniform() const; void setBarThickness(float thicknessRatio); - float barThickness(); + float barThickness() const; - void setBarSpacing(QSizeF spacing); - QSizeF barSpacing(); + void setBarSpacing(const QSizeF &spacing); + QSizeF barSpacing() const; void setBarSpacingRelative(bool relative); - bool isBarSpacingRelative(); + bool isBarSpacingRelative() const; void setRowAxis(QCategory3DAxis *axis); QCategory3DAxis *rowAxis() const; diff --git a/src/datavisualization/engine/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp index 9af916cb..0279cd67 100644 --- a/src/datavisualization/engine/q3dscatter.cpp +++ b/src/datavisualization/engine/q3dscatter.cpp @@ -117,9 +117,9 @@ void Q3DScatter::removeSeries(QScatter3DSeries *series) /*! * \return list of series added to this graph. */ -QList Q3DScatter::seriesList() +QList Q3DScatter::seriesList() const { - return dptr()->m_shared->scatterSeriesList(); + return dptrc()->m_shared->scatterSeriesList(); } Q3DScatterPrivate *Q3DScatter::dptr() diff --git a/src/datavisualization/engine/q3dscatter.h b/src/datavisualization/engine/q3dscatter.h index f9a67d76..9644c9cd 100644 --- a/src/datavisualization/engine/q3dscatter.h +++ b/src/datavisualization/engine/q3dscatter.h @@ -44,7 +44,7 @@ public: void addSeries(QScatter3DSeries *series); void removeSeries(QScatter3DSeries *series); - QList seriesList(); + QList seriesList() const; void setAxisX(QValue3DAxis *axis); QValue3DAxis *axisX() const; diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp index 8ff46791..b1129320 100644 --- a/src/datavisualization/engine/q3dsurface.cpp +++ b/src/datavisualization/engine/q3dsurface.cpp @@ -132,9 +132,9 @@ void Q3DSurface::removeSeries(QSurface3DSeries *series) * * \note The surface graph currently supports only a single series at a time. */ -QList Q3DSurface::seriesList() +QList Q3DSurface::seriesList() const { - return dptr()->m_shared->surfaceSeriesList(); + return dptrc()->m_shared->surfaceSeriesList(); } Q3DSurfacePrivate *Q3DSurface::dptr() diff --git a/src/datavisualization/engine/q3dsurface.h b/src/datavisualization/engine/q3dsurface.h index 772b0441..01db882b 100644 --- a/src/datavisualization/engine/q3dsurface.h +++ b/src/datavisualization/engine/q3dsurface.h @@ -42,7 +42,7 @@ public: void addSeries(QSurface3DSeries *series); void removeSeries(QSurface3DSeries *series); - QList seriesList(); + QList seriesList() const; // Axes void setAxisX(QValue3DAxis *axis); diff --git a/src/datavisualization/input/qabstract3dinputhandler.cpp b/src/datavisualization/input/qabstract3dinputhandler.cpp index b2d02596..012d975f 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.cpp +++ b/src/datavisualization/input/qabstract3dinputhandler.cpp @@ -140,7 +140,7 @@ void QAbstract3DInputHandler::wheelEvent(QWheelEvent *event) * Current enumerated input view based on the view of the processed input events. * When the view changes inputViewChanged() is emitted. */ -QAbstract3DInputHandler::InputView QAbstract3DInputHandler::inputView() +QAbstract3DInputHandler::InputView QAbstract3DInputHandler::inputView() const { return d_ptr->m_inputView; } diff --git a/src/datavisualization/input/qabstract3dinputhandler.h b/src/datavisualization/input/qabstract3dinputhandler.h index 4824d78a..13ea56e5 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.h +++ b/src/datavisualization/input/qabstract3dinputhandler.h @@ -54,7 +54,7 @@ public: virtual void wheelEvent(QWheelEvent *event); public: - InputView inputView(); + InputView inputView() const; void setInputView(InputView inputView); QPoint inputPosition() const; -- cgit v1.2.3 From 3b57eb8aaef9886a9975b7b861f31bdf8ed15fdb Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 27 Jan 2014 08:18:03 +0200 Subject: Fix copyright year Task-number: QTRD-2803 Change-Id: If670633f52519741a096abe901d55fd084ddc9c5 Reviewed-by: Miikka Heikkinen --- src/datavisualization/axis/qabstract3daxis.cpp | 2 +- src/datavisualization/axis/qabstract3daxis.h | 2 +- src/datavisualization/axis/qabstract3daxis_p.h | 2 +- src/datavisualization/axis/qcategory3daxis.cpp | 2 +- src/datavisualization/axis/qcategory3daxis.h | 2 +- src/datavisualization/axis/qcategory3daxis_p.h | 2 +- src/datavisualization/axis/qvalue3daxis.cpp | 2 +- src/datavisualization/axis/qvalue3daxis.h | 2 +- src/datavisualization/axis/qvalue3daxis_p.h | 2 +- src/datavisualization/data/abstractitemmodelhandler.cpp | 2 +- src/datavisualization/data/abstractitemmodelhandler_p.h | 2 +- src/datavisualization/data/abstractrenderitem.cpp | 2 +- src/datavisualization/data/abstractrenderitem_p.h | 2 +- src/datavisualization/data/baritemmodelhandler.cpp | 2 +- src/datavisualization/data/baritemmodelhandler_p.h | 2 +- src/datavisualization/data/barrenderitem.cpp | 2 +- src/datavisualization/data/barrenderitem_p.h | 2 +- src/datavisualization/data/labelitem.cpp | 2 +- src/datavisualization/data/labelitem_p.h | 2 +- src/datavisualization/data/qabstract3dseries.cpp | 2 +- src/datavisualization/data/qabstract3dseries.h | 2 +- src/datavisualization/data/qabstract3dseries_p.h | 2 +- src/datavisualization/data/qabstractdataproxy.cpp | 2 +- src/datavisualization/data/qabstractdataproxy.h | 2 +- src/datavisualization/data/qabstractdataproxy_p.h | 2 +- src/datavisualization/data/qbar3dseries.cpp | 2 +- src/datavisualization/data/qbar3dseries.h | 2 +- src/datavisualization/data/qbar3dseries_p.h | 2 +- src/datavisualization/data/qbardataitem.cpp | 2 +- src/datavisualization/data/qbardataitem.h | 2 +- src/datavisualization/data/qbardataitem_p.h | 2 +- src/datavisualization/data/qbardataproxy.cpp | 2 +- src/datavisualization/data/qbardataproxy.h | 2 +- src/datavisualization/data/qbardataproxy_p.h | 2 +- src/datavisualization/data/qheightmapsurfacedataproxy.cpp | 2 +- src/datavisualization/data/qheightmapsurfacedataproxy.h | 2 +- src/datavisualization/data/qheightmapsurfacedataproxy_p.h | 2 +- src/datavisualization/data/qitemmodelbardataproxy.cpp | 2 +- src/datavisualization/data/qitemmodelbardataproxy.h | 2 +- src/datavisualization/data/qitemmodelbardataproxy_p.h | 2 +- src/datavisualization/data/qitemmodelscatterdataproxy.cpp | 2 +- src/datavisualization/data/qitemmodelscatterdataproxy.h | 2 +- src/datavisualization/data/qitemmodelscatterdataproxy_p.h | 2 +- src/datavisualization/data/qitemmodelsurfacedataproxy.cpp | 2 +- src/datavisualization/data/qitemmodelsurfacedataproxy.h | 2 +- src/datavisualization/data/qitemmodelsurfacedataproxy_p.h | 2 +- src/datavisualization/data/qscatter3dseries.cpp | 2 +- src/datavisualization/data/qscatter3dseries.h | 2 +- src/datavisualization/data/qscatter3dseries_p.h | 2 +- src/datavisualization/data/qscatterdataitem.cpp | 2 +- src/datavisualization/data/qscatterdataitem.h | 2 +- src/datavisualization/data/qscatterdataitem_p.h | 2 +- src/datavisualization/data/qscatterdataproxy.cpp | 2 +- src/datavisualization/data/qscatterdataproxy.h | 2 +- src/datavisualization/data/qscatterdataproxy_p.h | 2 +- src/datavisualization/data/qsurface3dseries.cpp | 2 +- src/datavisualization/data/qsurface3dseries.h | 2 +- src/datavisualization/data/qsurface3dseries_p.h | 2 +- src/datavisualization/data/qsurfacedataitem.cpp | 2 +- src/datavisualization/data/qsurfacedataitem.h | 2 +- src/datavisualization/data/qsurfacedataitem_p.h | 2 +- src/datavisualization/data/qsurfacedataproxy.cpp | 2 +- src/datavisualization/data/qsurfacedataproxy.h | 2 +- src/datavisualization/data/qsurfacedataproxy_p.h | 2 +- src/datavisualization/data/scatteritemmodelhandler.cpp | 2 +- src/datavisualization/data/scatteritemmodelhandler_p.h | 2 +- src/datavisualization/data/scatterrenderitem.cpp | 2 +- src/datavisualization/data/scatterrenderitem_p.h | 2 +- src/datavisualization/data/surfaceitemmodelhandler.cpp | 2 +- src/datavisualization/data/surfaceitemmodelhandler_p.h | 2 +- src/datavisualization/doc/qtdatavisualization.qdocconf | 2 +- src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp | 2 +- src/datavisualization/doc/snippets/doc_src_q3dscatter_construction.cpp | 2 +- src/datavisualization/doc/snippets/doc_src_q3dsurface_construction.cpp | 2 +- src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp | 2 +- src/datavisualization/doc/snippets/doc_src_qmldatavisualization.cpp | 2 +- src/datavisualization/doc/snippets/doc_src_qtdatavisualization.cpp | 2 +- src/datavisualization/doc/snippets/doc_src_qtdatavisualization.pro | 2 +- src/datavisualization/doc/src/qtdatavisualization-index.qdoc | 2 +- .../doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc | 2 +- src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc | 2 +- .../doc/src/qtdatavisualization-qml-colorgradient.qdoc | 2 +- src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc | 2 +- src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc | 2 +- src/datavisualization/doc/src/qtdatavisualization.qdoc | 2 +- src/datavisualization/engine/abstract3dcontroller.cpp | 2 +- src/datavisualization/engine/abstract3dcontroller_p.h | 2 +- src/datavisualization/engine/abstract3drenderer.cpp | 2 +- src/datavisualization/engine/abstract3drenderer_p.h | 2 +- src/datavisualization/engine/axisrendercache.cpp | 2 +- src/datavisualization/engine/axisrendercache_p.h | 2 +- src/datavisualization/engine/bars3dcontroller.cpp | 2 +- src/datavisualization/engine/bars3dcontroller_p.h | 2 +- src/datavisualization/engine/bars3drenderer.cpp | 2 +- src/datavisualization/engine/bars3drenderer_p.h | 2 +- src/datavisualization/engine/drawer.cpp | 2 +- src/datavisualization/engine/drawer_p.h | 2 +- src/datavisualization/engine/q3dbars.cpp | 2 +- src/datavisualization/engine/q3dbars.h | 2 +- src/datavisualization/engine/q3dbars_p.h | 2 +- src/datavisualization/engine/q3dbox.cpp | 2 +- src/datavisualization/engine/q3dbox.h | 2 +- src/datavisualization/engine/q3dcamera.cpp | 2 +- src/datavisualization/engine/q3dcamera.h | 2 +- src/datavisualization/engine/q3dcamera_p.h | 2 +- src/datavisualization/engine/q3dlight.cpp | 2 +- src/datavisualization/engine/q3dlight.h | 2 +- src/datavisualization/engine/q3dlight_p.h | 2 +- src/datavisualization/engine/q3dobject.cpp | 2 +- src/datavisualization/engine/q3dobject.h | 2 +- src/datavisualization/engine/q3dobject_p.h | 2 +- src/datavisualization/engine/q3dscatter.cpp | 2 +- src/datavisualization/engine/q3dscatter.h | 2 +- src/datavisualization/engine/q3dscatter_p.h | 2 +- src/datavisualization/engine/q3dscene.cpp | 2 +- src/datavisualization/engine/q3dscene.h | 2 +- src/datavisualization/engine/q3dscene_p.h | 2 +- src/datavisualization/engine/q3dsurface.cpp | 2 +- src/datavisualization/engine/q3dsurface.h | 2 +- src/datavisualization/engine/q3dsurface_p.h | 2 +- src/datavisualization/engine/qabstract3dgraph.cpp | 2 +- src/datavisualization/engine/qabstract3dgraph.h | 2 +- src/datavisualization/engine/qabstract3dgraph_p.h | 2 +- src/datavisualization/engine/scatter3dcontroller.cpp | 2 +- src/datavisualization/engine/scatter3dcontroller_p.h | 2 +- src/datavisualization/engine/scatter3drenderer.cpp | 2 +- src/datavisualization/engine/scatter3drenderer_p.h | 2 +- src/datavisualization/engine/selectionpointer.cpp | 2 +- src/datavisualization/engine/selectionpointer_p.h | 2 +- src/datavisualization/engine/seriesrendercache.cpp | 2 +- src/datavisualization/engine/seriesrendercache_p.h | 2 +- src/datavisualization/engine/surface3dcontroller.cpp | 2 +- src/datavisualization/engine/surface3dcontroller_p.h | 2 +- src/datavisualization/engine/surface3drenderer.cpp | 2 +- src/datavisualization/engine/surface3drenderer_p.h | 2 +- src/datavisualization/global/datavisualizationglobal_p.h | 2 +- src/datavisualization/global/qdatavisualizationglobal.h | 2 +- src/datavisualization/input/q3dinputhandler.cpp | 2 +- src/datavisualization/input/q3dinputhandler.h | 2 +- src/datavisualization/input/q3dinputhandler_p.h | 2 +- src/datavisualization/input/qabstract3dinputhandler.cpp | 2 +- src/datavisualization/input/qabstract3dinputhandler.h | 2 +- src/datavisualization/input/qabstract3dinputhandler_p.h | 2 +- src/datavisualization/input/qtouch3dinputhandler.cpp | 2 +- src/datavisualization/input/qtouch3dinputhandler.h | 2 +- src/datavisualization/input/qtouch3dinputhandler_p.h | 2 +- src/datavisualization/theme/q3dtheme.cpp | 2 +- src/datavisualization/theme/q3dtheme.h | 2 +- src/datavisualization/theme/q3dtheme_p.h | 2 +- src/datavisualization/theme/thememanager.cpp | 2 +- src/datavisualization/theme/thememanager_p.h | 2 +- src/datavisualization/utils/abstractobjecthelper.cpp | 2 +- src/datavisualization/utils/abstractobjecthelper_p.h | 2 +- src/datavisualization/utils/camerahelper.cpp | 2 +- src/datavisualization/utils/camerahelper_p.h | 2 +- src/datavisualization/utils/meshloader.cpp | 2 +- src/datavisualization/utils/meshloader_p.h | 2 +- src/datavisualization/utils/objecthelper.cpp | 2 +- src/datavisualization/utils/objecthelper_p.h | 2 +- src/datavisualization/utils/qutils.h | 2 +- src/datavisualization/utils/shaderhelper.cpp | 2 +- src/datavisualization/utils/shaderhelper_p.h | 2 +- src/datavisualization/utils/surfaceobject.cpp | 2 +- src/datavisualization/utils/surfaceobject_p.h | 2 +- src/datavisualization/utils/texturehelper.cpp | 2 +- src/datavisualization/utils/texturehelper_p.h | 2 +- src/datavisualization/utils/utils.cpp | 2 +- src/datavisualization/utils/utils_p.h | 2 +- src/datavisualization/utils/vertexindexer.cpp | 2 +- src/datavisualization/utils/vertexindexer_p.h | 2 +- 170 files changed, 170 insertions(+), 170 deletions(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/axis/qabstract3daxis.cpp b/src/datavisualization/axis/qabstract3daxis.cpp index f9128247..2ee7a25d 100644 --- a/src/datavisualization/axis/qabstract3daxis.cpp +++ b/src/datavisualization/axis/qabstract3daxis.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/axis/qabstract3daxis.h b/src/datavisualization/axis/qabstract3daxis.h index 7cfde83a..28b93f36 100644 --- a/src/datavisualization/axis/qabstract3daxis.h +++ b/src/datavisualization/axis/qabstract3daxis.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/axis/qabstract3daxis_p.h b/src/datavisualization/axis/qabstract3daxis_p.h index cca31fa4..4eb8de68 100644 --- a/src/datavisualization/axis/qabstract3daxis_p.h +++ b/src/datavisualization/axis/qabstract3daxis_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/axis/qcategory3daxis.cpp b/src/datavisualization/axis/qcategory3daxis.cpp index 0ef59b59..c1d5777a 100644 --- a/src/datavisualization/axis/qcategory3daxis.cpp +++ b/src/datavisualization/axis/qcategory3daxis.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/axis/qcategory3daxis.h b/src/datavisualization/axis/qcategory3daxis.h index d16eac2a..b16d0444 100644 --- a/src/datavisualization/axis/qcategory3daxis.h +++ b/src/datavisualization/axis/qcategory3daxis.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/axis/qcategory3daxis_p.h b/src/datavisualization/axis/qcategory3daxis_p.h index f7a16161..1ba5ccb0 100644 --- a/src/datavisualization/axis/qcategory3daxis_p.h +++ b/src/datavisualization/axis/qcategory3daxis_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/axis/qvalue3daxis.cpp b/src/datavisualization/axis/qvalue3daxis.cpp index 609e3b86..52f1e599 100644 --- a/src/datavisualization/axis/qvalue3daxis.cpp +++ b/src/datavisualization/axis/qvalue3daxis.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/axis/qvalue3daxis.h b/src/datavisualization/axis/qvalue3daxis.h index 1bb9cea3..c930c700 100644 --- a/src/datavisualization/axis/qvalue3daxis.h +++ b/src/datavisualization/axis/qvalue3daxis.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/axis/qvalue3daxis_p.h b/src/datavisualization/axis/qvalue3daxis_p.h index b1b65fd7..21fd78ab 100644 --- a/src/datavisualization/axis/qvalue3daxis_p.h +++ b/src/datavisualization/axis/qvalue3daxis_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/abstractitemmodelhandler.cpp b/src/datavisualization/data/abstractitemmodelhandler.cpp index 879ce086..63eb7e45 100644 --- a/src/datavisualization/data/abstractitemmodelhandler.cpp +++ b/src/datavisualization/data/abstractitemmodelhandler.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/abstractitemmodelhandler_p.h b/src/datavisualization/data/abstractitemmodelhandler_p.h index daaf9906..c238a63b 100644 --- a/src/datavisualization/data/abstractitemmodelhandler_p.h +++ b/src/datavisualization/data/abstractitemmodelhandler_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/abstractrenderitem.cpp b/src/datavisualization/data/abstractrenderitem.cpp index 8ca33231..522fd144 100644 --- a/src/datavisualization/data/abstractrenderitem.cpp +++ b/src/datavisualization/data/abstractrenderitem.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/abstractrenderitem_p.h b/src/datavisualization/data/abstractrenderitem_p.h index 6209f640..fa06db54 100644 --- a/src/datavisualization/data/abstractrenderitem_p.h +++ b/src/datavisualization/data/abstractrenderitem_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/baritemmodelhandler.cpp b/src/datavisualization/data/baritemmodelhandler.cpp index d24bb4a0..611fbcb9 100644 --- a/src/datavisualization/data/baritemmodelhandler.cpp +++ b/src/datavisualization/data/baritemmodelhandler.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/baritemmodelhandler_p.h b/src/datavisualization/data/baritemmodelhandler_p.h index 6c60102d..7bf7b0a1 100644 --- a/src/datavisualization/data/baritemmodelhandler_p.h +++ b/src/datavisualization/data/baritemmodelhandler_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/barrenderitem.cpp b/src/datavisualization/data/barrenderitem.cpp index a558e1fd..915f3f78 100644 --- a/src/datavisualization/data/barrenderitem.cpp +++ b/src/datavisualization/data/barrenderitem.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/barrenderitem_p.h b/src/datavisualization/data/barrenderitem_p.h index 66c9c460..e1062969 100644 --- a/src/datavisualization/data/barrenderitem_p.h +++ b/src/datavisualization/data/barrenderitem_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/labelitem.cpp b/src/datavisualization/data/labelitem.cpp index 7e893f1f..859b0550 100644 --- a/src/datavisualization/data/labelitem.cpp +++ b/src/datavisualization/data/labelitem.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/labelitem_p.h b/src/datavisualization/data/labelitem_p.h index 9ed8f3ff..ca60f742 100644 --- a/src/datavisualization/data/labelitem_p.h +++ b/src/datavisualization/data/labelitem_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qabstract3dseries.cpp b/src/datavisualization/data/qabstract3dseries.cpp index d80879f0..dc241fdb 100644 --- a/src/datavisualization/data/qabstract3dseries.cpp +++ b/src/datavisualization/data/qabstract3dseries.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qabstract3dseries.h b/src/datavisualization/data/qabstract3dseries.h index 5e7fe016..ebb22b7f 100644 --- a/src/datavisualization/data/qabstract3dseries.h +++ b/src/datavisualization/data/qabstract3dseries.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qabstract3dseries_p.h b/src/datavisualization/data/qabstract3dseries_p.h index 565d35a2..6fbabd3d 100644 --- a/src/datavisualization/data/qabstract3dseries_p.h +++ b/src/datavisualization/data/qabstract3dseries_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qabstractdataproxy.cpp b/src/datavisualization/data/qabstractdataproxy.cpp index 0dc247ec..9870dfbe 100644 --- a/src/datavisualization/data/qabstractdataproxy.cpp +++ b/src/datavisualization/data/qabstractdataproxy.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qabstractdataproxy.h b/src/datavisualization/data/qabstractdataproxy.h index ae21e1dc..52c2e2c6 100644 --- a/src/datavisualization/data/qabstractdataproxy.h +++ b/src/datavisualization/data/qabstractdataproxy.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qabstractdataproxy_p.h b/src/datavisualization/data/qabstractdataproxy_p.h index 2e90696a..093629d5 100644 --- a/src/datavisualization/data/qabstractdataproxy_p.h +++ b/src/datavisualization/data/qabstractdataproxy_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qbar3dseries.cpp b/src/datavisualization/data/qbar3dseries.cpp index e7c2e125..1440476b 100644 --- a/src/datavisualization/data/qbar3dseries.cpp +++ b/src/datavisualization/data/qbar3dseries.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qbar3dseries.h b/src/datavisualization/data/qbar3dseries.h index dff60c24..be748516 100644 --- a/src/datavisualization/data/qbar3dseries.h +++ b/src/datavisualization/data/qbar3dseries.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qbar3dseries_p.h b/src/datavisualization/data/qbar3dseries_p.h index a99d146a..173f1cd9 100644 --- a/src/datavisualization/data/qbar3dseries_p.h +++ b/src/datavisualization/data/qbar3dseries_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qbardataitem.cpp b/src/datavisualization/data/qbardataitem.cpp index eb14c7f9..37c2033f 100644 --- a/src/datavisualization/data/qbardataitem.cpp +++ b/src/datavisualization/data/qbardataitem.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qbardataitem.h b/src/datavisualization/data/qbardataitem.h index f16a21b7..84e7cd92 100644 --- a/src/datavisualization/data/qbardataitem.h +++ b/src/datavisualization/data/qbardataitem.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qbardataitem_p.h b/src/datavisualization/data/qbardataitem_p.h index 39ccf8c3..c06ddea9 100644 --- a/src/datavisualization/data/qbardataitem_p.h +++ b/src/datavisualization/data/qbardataitem_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qbardataproxy.cpp b/src/datavisualization/data/qbardataproxy.cpp index 9957e8af..a26e446e 100644 --- a/src/datavisualization/data/qbardataproxy.cpp +++ b/src/datavisualization/data/qbardataproxy.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qbardataproxy.h b/src/datavisualization/data/qbardataproxy.h index d4fbdb2d..0ad71365 100644 --- a/src/datavisualization/data/qbardataproxy.h +++ b/src/datavisualization/data/qbardataproxy.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qbardataproxy_p.h b/src/datavisualization/data/qbardataproxy_p.h index cc19cbbd..eb0a0873 100644 --- a/src/datavisualization/data/qbardataproxy_p.h +++ b/src/datavisualization/data/qbardataproxy_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qheightmapsurfacedataproxy.cpp b/src/datavisualization/data/qheightmapsurfacedataproxy.cpp index d71f65a4..9ac5c90f 100644 --- a/src/datavisualization/data/qheightmapsurfacedataproxy.cpp +++ b/src/datavisualization/data/qheightmapsurfacedataproxy.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qheightmapsurfacedataproxy.h b/src/datavisualization/data/qheightmapsurfacedataproxy.h index 07f9ce43..d506d4e8 100644 --- a/src/datavisualization/data/qheightmapsurfacedataproxy.h +++ b/src/datavisualization/data/qheightmapsurfacedataproxy.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qheightmapsurfacedataproxy_p.h b/src/datavisualization/data/qheightmapsurfacedataproxy_p.h index b2450d27..0e947666 100644 --- a/src/datavisualization/data/qheightmapsurfacedataproxy_p.h +++ b/src/datavisualization/data/qheightmapsurfacedataproxy_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qitemmodelbardataproxy.cpp b/src/datavisualization/data/qitemmodelbardataproxy.cpp index c1b05371..97289da1 100644 --- a/src/datavisualization/data/qitemmodelbardataproxy.cpp +++ b/src/datavisualization/data/qitemmodelbardataproxy.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qitemmodelbardataproxy.h b/src/datavisualization/data/qitemmodelbardataproxy.h index 94ac9083..4e62b4c3 100644 --- a/src/datavisualization/data/qitemmodelbardataproxy.h +++ b/src/datavisualization/data/qitemmodelbardataproxy.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qitemmodelbardataproxy_p.h b/src/datavisualization/data/qitemmodelbardataproxy_p.h index 90132264..0c987a00 100644 --- a/src/datavisualization/data/qitemmodelbardataproxy_p.h +++ b/src/datavisualization/data/qitemmodelbardataproxy_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qitemmodelscatterdataproxy.cpp b/src/datavisualization/data/qitemmodelscatterdataproxy.cpp index 16a7c8f7..1edee53c 100644 --- a/src/datavisualization/data/qitemmodelscatterdataproxy.cpp +++ b/src/datavisualization/data/qitemmodelscatterdataproxy.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qitemmodelscatterdataproxy.h b/src/datavisualization/data/qitemmodelscatterdataproxy.h index 17077e8d..0f69afa7 100644 --- a/src/datavisualization/data/qitemmodelscatterdataproxy.h +++ b/src/datavisualization/data/qitemmodelscatterdataproxy.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qitemmodelscatterdataproxy_p.h b/src/datavisualization/data/qitemmodelscatterdataproxy_p.h index 37d7d23f..b8804c5c 100644 --- a/src/datavisualization/data/qitemmodelscatterdataproxy_p.h +++ b/src/datavisualization/data/qitemmodelscatterdataproxy_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp index fd21414a..0c206b81 100644 --- a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp +++ b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qitemmodelsurfacedataproxy.h b/src/datavisualization/data/qitemmodelsurfacedataproxy.h index fcd2b52b..d1e0f2b8 100644 --- a/src/datavisualization/data/qitemmodelsurfacedataproxy.h +++ b/src/datavisualization/data/qitemmodelsurfacedataproxy.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qitemmodelsurfacedataproxy_p.h b/src/datavisualization/data/qitemmodelsurfacedataproxy_p.h index 2f538a87..5049a25e 100644 --- a/src/datavisualization/data/qitemmodelsurfacedataproxy_p.h +++ b/src/datavisualization/data/qitemmodelsurfacedataproxy_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qscatter3dseries.cpp b/src/datavisualization/data/qscatter3dseries.cpp index 2dd5fd3a..43bde4dd 100644 --- a/src/datavisualization/data/qscatter3dseries.cpp +++ b/src/datavisualization/data/qscatter3dseries.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qscatter3dseries.h b/src/datavisualization/data/qscatter3dseries.h index e5ce6fd3..437c7fd1 100644 --- a/src/datavisualization/data/qscatter3dseries.h +++ b/src/datavisualization/data/qscatter3dseries.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qscatter3dseries_p.h b/src/datavisualization/data/qscatter3dseries_p.h index 585887cb..1abbd406 100644 --- a/src/datavisualization/data/qscatter3dseries_p.h +++ b/src/datavisualization/data/qscatter3dseries_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qscatterdataitem.cpp b/src/datavisualization/data/qscatterdataitem.cpp index b8b85381..33f8bed0 100644 --- a/src/datavisualization/data/qscatterdataitem.cpp +++ b/src/datavisualization/data/qscatterdataitem.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qscatterdataitem.h b/src/datavisualization/data/qscatterdataitem.h index 7c7fe20c..d2ef3bcc 100644 --- a/src/datavisualization/data/qscatterdataitem.h +++ b/src/datavisualization/data/qscatterdataitem.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qscatterdataitem_p.h b/src/datavisualization/data/qscatterdataitem_p.h index 730c8f89..efb1cc5c 100644 --- a/src/datavisualization/data/qscatterdataitem_p.h +++ b/src/datavisualization/data/qscatterdataitem_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qscatterdataproxy.cpp b/src/datavisualization/data/qscatterdataproxy.cpp index 2a5ccbdb..b5e3863d 100644 --- a/src/datavisualization/data/qscatterdataproxy.cpp +++ b/src/datavisualization/data/qscatterdataproxy.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qscatterdataproxy.h b/src/datavisualization/data/qscatterdataproxy.h index 7c25440d..b8179166 100644 --- a/src/datavisualization/data/qscatterdataproxy.h +++ b/src/datavisualization/data/qscatterdataproxy.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qscatterdataproxy_p.h b/src/datavisualization/data/qscatterdataproxy_p.h index 2acf7ec5..ccd37bda 100644 --- a/src/datavisualization/data/qscatterdataproxy_p.h +++ b/src/datavisualization/data/qscatterdataproxy_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qsurface3dseries.cpp b/src/datavisualization/data/qsurface3dseries.cpp index 85f43dad..e5f06cc6 100644 --- a/src/datavisualization/data/qsurface3dseries.cpp +++ b/src/datavisualization/data/qsurface3dseries.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qsurface3dseries.h b/src/datavisualization/data/qsurface3dseries.h index fae841fc..b8a1a62b 100644 --- a/src/datavisualization/data/qsurface3dseries.h +++ b/src/datavisualization/data/qsurface3dseries.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qsurface3dseries_p.h b/src/datavisualization/data/qsurface3dseries_p.h index af3eac93..bc8157bd 100644 --- a/src/datavisualization/data/qsurface3dseries_p.h +++ b/src/datavisualization/data/qsurface3dseries_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qsurfacedataitem.cpp b/src/datavisualization/data/qsurfacedataitem.cpp index 23f27478..c8a76a67 100644 --- a/src/datavisualization/data/qsurfacedataitem.cpp +++ b/src/datavisualization/data/qsurfacedataitem.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qsurfacedataitem.h b/src/datavisualization/data/qsurfacedataitem.h index c31bb93f..f305952b 100644 --- a/src/datavisualization/data/qsurfacedataitem.h +++ b/src/datavisualization/data/qsurfacedataitem.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qsurfacedataitem_p.h b/src/datavisualization/data/qsurfacedataitem_p.h index fda3a114..0cec7eab 100644 --- a/src/datavisualization/data/qsurfacedataitem_p.h +++ b/src/datavisualization/data/qsurfacedataitem_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qsurfacedataproxy.cpp b/src/datavisualization/data/qsurfacedataproxy.cpp index ec28d491..43ce40eb 100644 --- a/src/datavisualization/data/qsurfacedataproxy.cpp +++ b/src/datavisualization/data/qsurfacedataproxy.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qsurfacedataproxy.h b/src/datavisualization/data/qsurfacedataproxy.h index 8c366dfa..0933faf6 100644 --- a/src/datavisualization/data/qsurfacedataproxy.h +++ b/src/datavisualization/data/qsurfacedataproxy.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/qsurfacedataproxy_p.h b/src/datavisualization/data/qsurfacedataproxy_p.h index 42c633fb..658abe32 100644 --- a/src/datavisualization/data/qsurfacedataproxy_p.h +++ b/src/datavisualization/data/qsurfacedataproxy_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/scatteritemmodelhandler.cpp b/src/datavisualization/data/scatteritemmodelhandler.cpp index c9e5e867..1c936d08 100644 --- a/src/datavisualization/data/scatteritemmodelhandler.cpp +++ b/src/datavisualization/data/scatteritemmodelhandler.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/scatteritemmodelhandler_p.h b/src/datavisualization/data/scatteritemmodelhandler_p.h index 06927509..f0e4fa84 100644 --- a/src/datavisualization/data/scatteritemmodelhandler_p.h +++ b/src/datavisualization/data/scatteritemmodelhandler_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/scatterrenderitem.cpp b/src/datavisualization/data/scatterrenderitem.cpp index 236893a8..d39af816 100644 --- a/src/datavisualization/data/scatterrenderitem.cpp +++ b/src/datavisualization/data/scatterrenderitem.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/scatterrenderitem_p.h b/src/datavisualization/data/scatterrenderitem_p.h index 1c88cbbd..45066dd8 100644 --- a/src/datavisualization/data/scatterrenderitem_p.h +++ b/src/datavisualization/data/scatterrenderitem_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/surfaceitemmodelhandler.cpp b/src/datavisualization/data/surfaceitemmodelhandler.cpp index d3e0f893..767425e9 100644 --- a/src/datavisualization/data/surfaceitemmodelhandler.cpp +++ b/src/datavisualization/data/surfaceitemmodelhandler.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/data/surfaceitemmodelhandler_p.h b/src/datavisualization/data/surfaceitemmodelhandler_p.h index 2f1a23ae..ae426433 100644 --- a/src/datavisualization/data/surfaceitemmodelhandler_p.h +++ b/src/datavisualization/data/surfaceitemmodelhandler_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/doc/qtdatavisualization.qdocconf b/src/datavisualization/doc/qtdatavisualization.qdocconf index 7ec7ac1e..81922313 100644 --- a/src/datavisualization/doc/qtdatavisualization.qdocconf +++ b/src/datavisualization/doc/qtdatavisualization.qdocconf @@ -48,7 +48,7 @@ qhp.qtdatavisualization.subprojects.types.sortPages = true HTML.footer = \ "
\n" \ "

\n" \ - " © 2013 Digia. Qt and Qt logos are\n" \ + " © 2014 Digia. Qt and Qt logos are\n" \ " trademarks of of Digia Corporation in Finland and/or other countries worldwide.\n" \ "

\n" \ " All other trademarks are property of their respective owners.\n" \ diff --git a/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp b/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp index 2b4a0aed..64757d58 100644 --- a/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp +++ b/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/doc/snippets/doc_src_q3dscatter_construction.cpp b/src/datavisualization/doc/snippets/doc_src_q3dscatter_construction.cpp index 15820bf1..531ce242 100644 --- a/src/datavisualization/doc/snippets/doc_src_q3dscatter_construction.cpp +++ b/src/datavisualization/doc/snippets/doc_src_q3dscatter_construction.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/doc/snippets/doc_src_q3dsurface_construction.cpp b/src/datavisualization/doc/snippets/doc_src_q3dsurface_construction.cpp index 245be2f4..92dd34ed 100644 --- a/src/datavisualization/doc/snippets/doc_src_q3dsurface_construction.cpp +++ b/src/datavisualization/doc/snippets/doc_src_q3dsurface_construction.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp b/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp index ba3577cd..9a2d1b3d 100644 --- a/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp +++ b/src/datavisualization/doc/snippets/doc_src_q3dtheme.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/doc/snippets/doc_src_qmldatavisualization.cpp b/src/datavisualization/doc/snippets/doc_src_qmldatavisualization.cpp index 623f7f6f..8c38ca82 100644 --- a/src/datavisualization/doc/snippets/doc_src_qmldatavisualization.cpp +++ b/src/datavisualization/doc/snippets/doc_src_qmldatavisualization.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.cpp b/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.cpp index 6a336422..458eeb45 100644 --- a/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.cpp +++ b/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.pro b/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.pro index 81555f88..15ae2f65 100644 --- a/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.pro +++ b/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.pro @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/doc/src/qtdatavisualization-index.qdoc b/src/datavisualization/doc/src/qtdatavisualization-index.qdoc index e7bcc3d2..d20bb636 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-index.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-index.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc index 6b53cde4..df503eb4 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc index ee11a9d9..aaafe217 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-colorgradient.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-colorgradient.qdoc index b6f0781f..d0ef5747 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-colorgradient.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-colorgradient.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc index 6d113654..b969c536 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc index d2a3a71b..3011336b 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/doc/src/qtdatavisualization.qdoc b/src/datavisualization/doc/src/qtdatavisualization.qdoc index dbfb1754..c85b9dbb 100644 --- a/src/datavisualization/doc/src/qtdatavisualization.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 3426a715..4989ddb5 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index d0d2ea96..cac46ddf 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 50ae097b..7824000e 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/abstract3drenderer_p.h b/src/datavisualization/engine/abstract3drenderer_p.h index 87c31dae..e7591a10 100644 --- a/src/datavisualization/engine/abstract3drenderer_p.h +++ b/src/datavisualization/engine/abstract3drenderer_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/axisrendercache.cpp b/src/datavisualization/engine/axisrendercache.cpp index acc59906..c1c2d5bd 100644 --- a/src/datavisualization/engine/axisrendercache.cpp +++ b/src/datavisualization/engine/axisrendercache.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/axisrendercache_p.h b/src/datavisualization/engine/axisrendercache_p.h index c4576be5..e1c51e7c 100644 --- a/src/datavisualization/engine/axisrendercache_p.h +++ b/src/datavisualization/engine/axisrendercache_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index 2238fdee..54a57114 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/bars3dcontroller_p.h b/src/datavisualization/engine/bars3dcontroller_p.h index 525f6564..e704aea1 100644 --- a/src/datavisualization/engine/bars3dcontroller_p.h +++ b/src/datavisualization/engine/bars3dcontroller_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 7e727645..664dbabd 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/bars3drenderer_p.h b/src/datavisualization/engine/bars3drenderer_p.h index 46227aed..e53f9bc5 100644 --- a/src/datavisualization/engine/bars3drenderer_p.h +++ b/src/datavisualization/engine/bars3drenderer_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index 4cb614a7..dd82eadc 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/drawer_p.h b/src/datavisualization/engine/drawer_p.h index d91c48fa..35a0a7ff 100644 --- a/src/datavisualization/engine/drawer_p.h +++ b/src/datavisualization/engine/drawer_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp index 8ffa5712..787033ad 100644 --- a/src/datavisualization/engine/q3dbars.cpp +++ b/src/datavisualization/engine/q3dbars.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dbars.h b/src/datavisualization/engine/q3dbars.h index f9303e29..06dcfedb 100644 --- a/src/datavisualization/engine/q3dbars.h +++ b/src/datavisualization/engine/q3dbars.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dbars_p.h b/src/datavisualization/engine/q3dbars_p.h index dbe4ce2d..578ec57e 100644 --- a/src/datavisualization/engine/q3dbars_p.h +++ b/src/datavisualization/engine/q3dbars_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dbox.cpp b/src/datavisualization/engine/q3dbox.cpp index 3be7dc7b..c5caea75 100644 --- a/src/datavisualization/engine/q3dbox.cpp +++ b/src/datavisualization/engine/q3dbox.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dbox.h b/src/datavisualization/engine/q3dbox.h index 4fd4b8f3..6dbaefa1 100644 --- a/src/datavisualization/engine/q3dbox.h +++ b/src/datavisualization/engine/q3dbox.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dcamera.cpp b/src/datavisualization/engine/q3dcamera.cpp index b135d12f..426fa51d 100644 --- a/src/datavisualization/engine/q3dcamera.cpp +++ b/src/datavisualization/engine/q3dcamera.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dcamera.h b/src/datavisualization/engine/q3dcamera.h index eb65b52d..1a3a3284 100644 --- a/src/datavisualization/engine/q3dcamera.h +++ b/src/datavisualization/engine/q3dcamera.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dcamera_p.h b/src/datavisualization/engine/q3dcamera_p.h index 5b67af66..b55010c8 100644 --- a/src/datavisualization/engine/q3dcamera_p.h +++ b/src/datavisualization/engine/q3dcamera_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dlight.cpp b/src/datavisualization/engine/q3dlight.cpp index 25dbc79e..8ac9e3a0 100644 --- a/src/datavisualization/engine/q3dlight.cpp +++ b/src/datavisualization/engine/q3dlight.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dlight.h b/src/datavisualization/engine/q3dlight.h index 31c9d6a5..876601a7 100644 --- a/src/datavisualization/engine/q3dlight.h +++ b/src/datavisualization/engine/q3dlight.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dlight_p.h b/src/datavisualization/engine/q3dlight_p.h index b6c1937a..5cf979f0 100644 --- a/src/datavisualization/engine/q3dlight_p.h +++ b/src/datavisualization/engine/q3dlight_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dobject.cpp b/src/datavisualization/engine/q3dobject.cpp index f81b7f91..cda4a370 100644 --- a/src/datavisualization/engine/q3dobject.cpp +++ b/src/datavisualization/engine/q3dobject.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dobject.h b/src/datavisualization/engine/q3dobject.h index 5ad45640..07506f63 100644 --- a/src/datavisualization/engine/q3dobject.h +++ b/src/datavisualization/engine/q3dobject.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dobject_p.h b/src/datavisualization/engine/q3dobject_p.h index 37229a14..6c4809fd 100644 --- a/src/datavisualization/engine/q3dobject_p.h +++ b/src/datavisualization/engine/q3dobject_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp index 0279cd67..db7d2491 100644 --- a/src/datavisualization/engine/q3dscatter.cpp +++ b/src/datavisualization/engine/q3dscatter.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dscatter.h b/src/datavisualization/engine/q3dscatter.h index 9644c9cd..55158537 100644 --- a/src/datavisualization/engine/q3dscatter.h +++ b/src/datavisualization/engine/q3dscatter.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dscatter_p.h b/src/datavisualization/engine/q3dscatter_p.h index 66f6fd7b..0703220b 100644 --- a/src/datavisualization/engine/q3dscatter_p.h +++ b/src/datavisualization/engine/q3dscatter_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dscene.cpp b/src/datavisualization/engine/q3dscene.cpp index 74767762..6ee4e275 100644 --- a/src/datavisualization/engine/q3dscene.cpp +++ b/src/datavisualization/engine/q3dscene.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dscene.h b/src/datavisualization/engine/q3dscene.h index c181e18a..61a18c9d 100644 --- a/src/datavisualization/engine/q3dscene.h +++ b/src/datavisualization/engine/q3dscene.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dscene_p.h b/src/datavisualization/engine/q3dscene_p.h index 2201049a..be0d3dc5 100644 --- a/src/datavisualization/engine/q3dscene_p.h +++ b/src/datavisualization/engine/q3dscene_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp index b1129320..a8a8235e 100644 --- a/src/datavisualization/engine/q3dsurface.cpp +++ b/src/datavisualization/engine/q3dsurface.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dsurface.h b/src/datavisualization/engine/q3dsurface.h index 01db882b..7fb6e58a 100644 --- a/src/datavisualization/engine/q3dsurface.h +++ b/src/datavisualization/engine/q3dsurface.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/q3dsurface_p.h b/src/datavisualization/engine/q3dsurface_p.h index 5275020b..540956b6 100644 --- a/src/datavisualization/engine/q3dsurface_p.h +++ b/src/datavisualization/engine/q3dsurface_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index 860df145..5fc63fcf 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/qabstract3dgraph.h b/src/datavisualization/engine/qabstract3dgraph.h index e4cec5e2..9534ce5c 100644 --- a/src/datavisualization/engine/qabstract3dgraph.h +++ b/src/datavisualization/engine/qabstract3dgraph.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/qabstract3dgraph_p.h b/src/datavisualization/engine/qabstract3dgraph_p.h index a7e49ecd..a353797b 100644 --- a/src/datavisualization/engine/qabstract3dgraph_p.h +++ b/src/datavisualization/engine/qabstract3dgraph_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp index 8a57af26..a1850a3c 100644 --- a/src/datavisualization/engine/scatter3dcontroller.cpp +++ b/src/datavisualization/engine/scatter3dcontroller.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/scatter3dcontroller_p.h b/src/datavisualization/engine/scatter3dcontroller_p.h index f484f830..173d4e05 100644 --- a/src/datavisualization/engine/scatter3dcontroller_p.h +++ b/src/datavisualization/engine/scatter3dcontroller_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 7a2bf568..cf9dbefe 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/scatter3drenderer_p.h b/src/datavisualization/engine/scatter3drenderer_p.h index d2b52a56..d7a880f9 100644 --- a/src/datavisualization/engine/scatter3drenderer_p.h +++ b/src/datavisualization/engine/scatter3drenderer_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/selectionpointer.cpp b/src/datavisualization/engine/selectionpointer.cpp index 2dd23930..4f5e2114 100644 --- a/src/datavisualization/engine/selectionpointer.cpp +++ b/src/datavisualization/engine/selectionpointer.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/selectionpointer_p.h b/src/datavisualization/engine/selectionpointer_p.h index 5d901caa..c72b3510 100644 --- a/src/datavisualization/engine/selectionpointer_p.h +++ b/src/datavisualization/engine/selectionpointer_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/seriesrendercache.cpp b/src/datavisualization/engine/seriesrendercache.cpp index f13fc2ca..fe2db319 100644 --- a/src/datavisualization/engine/seriesrendercache.cpp +++ b/src/datavisualization/engine/seriesrendercache.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/seriesrendercache_p.h b/src/datavisualization/engine/seriesrendercache_p.h index ec6ef0ad..82f69ccd 100644 --- a/src/datavisualization/engine/seriesrendercache_p.h +++ b/src/datavisualization/engine/seriesrendercache_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index 89357e41..0eb66d0e 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/surface3dcontroller_p.h b/src/datavisualization/engine/surface3dcontroller_p.h index e98fd906..624bea47 100644 --- a/src/datavisualization/engine/surface3dcontroller_p.h +++ b/src/datavisualization/engine/surface3dcontroller_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 2ef5ea5d..4846870a 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/engine/surface3drenderer_p.h b/src/datavisualization/engine/surface3drenderer_p.h index 890b9aaf..06973f43 100644 --- a/src/datavisualization/engine/surface3drenderer_p.h +++ b/src/datavisualization/engine/surface3drenderer_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/global/datavisualizationglobal_p.h b/src/datavisualization/global/datavisualizationglobal_p.h index 410cc296..83af408a 100644 --- a/src/datavisualization/global/datavisualizationglobal_p.h +++ b/src/datavisualization/global/datavisualizationglobal_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/global/qdatavisualizationglobal.h b/src/datavisualization/global/qdatavisualizationglobal.h index 946abfa1..d7e71265 100644 --- a/src/datavisualization/global/qdatavisualizationglobal.h +++ b/src/datavisualization/global/qdatavisualizationglobal.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/input/q3dinputhandler.cpp b/src/datavisualization/input/q3dinputhandler.cpp index dcdb984e..1a197418 100644 --- a/src/datavisualization/input/q3dinputhandler.cpp +++ b/src/datavisualization/input/q3dinputhandler.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/input/q3dinputhandler.h b/src/datavisualization/input/q3dinputhandler.h index 535d08bf..49471d72 100644 --- a/src/datavisualization/input/q3dinputhandler.h +++ b/src/datavisualization/input/q3dinputhandler.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/input/q3dinputhandler_p.h b/src/datavisualization/input/q3dinputhandler_p.h index 5f0d61a5..a9b27307 100644 --- a/src/datavisualization/input/q3dinputhandler_p.h +++ b/src/datavisualization/input/q3dinputhandler_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/input/qabstract3dinputhandler.cpp b/src/datavisualization/input/qabstract3dinputhandler.cpp index 012d975f..f786d466 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.cpp +++ b/src/datavisualization/input/qabstract3dinputhandler.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/input/qabstract3dinputhandler.h b/src/datavisualization/input/qabstract3dinputhandler.h index 13ea56e5..803517ed 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.h +++ b/src/datavisualization/input/qabstract3dinputhandler.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/input/qabstract3dinputhandler_p.h b/src/datavisualization/input/qabstract3dinputhandler_p.h index 408b0d88..52b1a5f6 100644 --- a/src/datavisualization/input/qabstract3dinputhandler_p.h +++ b/src/datavisualization/input/qabstract3dinputhandler_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/input/qtouch3dinputhandler.cpp b/src/datavisualization/input/qtouch3dinputhandler.cpp index d0b57aee..76b5721b 100644 --- a/src/datavisualization/input/qtouch3dinputhandler.cpp +++ b/src/datavisualization/input/qtouch3dinputhandler.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/input/qtouch3dinputhandler.h b/src/datavisualization/input/qtouch3dinputhandler.h index 41670cec..70521d19 100644 --- a/src/datavisualization/input/qtouch3dinputhandler.h +++ b/src/datavisualization/input/qtouch3dinputhandler.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/input/qtouch3dinputhandler_p.h b/src/datavisualization/input/qtouch3dinputhandler_p.h index 445830a5..19c30142 100644 --- a/src/datavisualization/input/qtouch3dinputhandler_p.h +++ b/src/datavisualization/input/qtouch3dinputhandler_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/theme/q3dtheme.cpp b/src/datavisualization/theme/q3dtheme.cpp index 1f9155b7..a3703779 100644 --- a/src/datavisualization/theme/q3dtheme.cpp +++ b/src/datavisualization/theme/q3dtheme.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/theme/q3dtheme.h b/src/datavisualization/theme/q3dtheme.h index 69b22124..91c5bb6f 100644 --- a/src/datavisualization/theme/q3dtheme.h +++ b/src/datavisualization/theme/q3dtheme.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/theme/q3dtheme_p.h b/src/datavisualization/theme/q3dtheme_p.h index 6307d44d..c378a504 100644 --- a/src/datavisualization/theme/q3dtheme_p.h +++ b/src/datavisualization/theme/q3dtheme_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/theme/thememanager.cpp b/src/datavisualization/theme/thememanager.cpp index 04821fb6..bef2eca1 100644 --- a/src/datavisualization/theme/thememanager.cpp +++ b/src/datavisualization/theme/thememanager.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/theme/thememanager_p.h b/src/datavisualization/theme/thememanager_p.h index fce2cf49..473c2ed7 100644 --- a/src/datavisualization/theme/thememanager_p.h +++ b/src/datavisualization/theme/thememanager_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/abstractobjecthelper.cpp b/src/datavisualization/utils/abstractobjecthelper.cpp index 21ebc826..9ced43a1 100644 --- a/src/datavisualization/utils/abstractobjecthelper.cpp +++ b/src/datavisualization/utils/abstractobjecthelper.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/abstractobjecthelper_p.h b/src/datavisualization/utils/abstractobjecthelper_p.h index 82352024..5ec34318 100644 --- a/src/datavisualization/utils/abstractobjecthelper_p.h +++ b/src/datavisualization/utils/abstractobjecthelper_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/camerahelper.cpp b/src/datavisualization/utils/camerahelper.cpp index ae134fe0..220c49db 100644 --- a/src/datavisualization/utils/camerahelper.cpp +++ b/src/datavisualization/utils/camerahelper.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/camerahelper_p.h b/src/datavisualization/utils/camerahelper_p.h index 9a86dc2d..e78bc24c 100644 --- a/src/datavisualization/utils/camerahelper_p.h +++ b/src/datavisualization/utils/camerahelper_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/meshloader.cpp b/src/datavisualization/utils/meshloader.cpp index 1d03e77c..49bdf710 100644 --- a/src/datavisualization/utils/meshloader.cpp +++ b/src/datavisualization/utils/meshloader.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/meshloader_p.h b/src/datavisualization/utils/meshloader_p.h index be88dbdb..e7425ae6 100644 --- a/src/datavisualization/utils/meshloader_p.h +++ b/src/datavisualization/utils/meshloader_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/objecthelper.cpp b/src/datavisualization/utils/objecthelper.cpp index 63b183f5..97695193 100644 --- a/src/datavisualization/utils/objecthelper.cpp +++ b/src/datavisualization/utils/objecthelper.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/objecthelper_p.h b/src/datavisualization/utils/objecthelper_p.h index d448c8c8..f96fc87d 100644 --- a/src/datavisualization/utils/objecthelper_p.h +++ b/src/datavisualization/utils/objecthelper_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/qutils.h b/src/datavisualization/utils/qutils.h index 9ae66e6b..43375a9c 100644 --- a/src/datavisualization/utils/qutils.h +++ b/src/datavisualization/utils/qutils.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/shaderhelper.cpp b/src/datavisualization/utils/shaderhelper.cpp index 37027e6f..d4df11b4 100644 --- a/src/datavisualization/utils/shaderhelper.cpp +++ b/src/datavisualization/utils/shaderhelper.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/shaderhelper_p.h b/src/datavisualization/utils/shaderhelper_p.h index 2984f7d6..34bbf39e 100644 --- a/src/datavisualization/utils/shaderhelper_p.h +++ b/src/datavisualization/utils/shaderhelper_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/surfaceobject.cpp b/src/datavisualization/utils/surfaceobject.cpp index 706c42a0..b0cd6c82 100644 --- a/src/datavisualization/utils/surfaceobject.cpp +++ b/src/datavisualization/utils/surfaceobject.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/surfaceobject_p.h b/src/datavisualization/utils/surfaceobject_p.h index 5651a3da..ec1a30bd 100644 --- a/src/datavisualization/utils/surfaceobject_p.h +++ b/src/datavisualization/utils/surfaceobject_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/texturehelper.cpp b/src/datavisualization/utils/texturehelper.cpp index df7ff0c1..b5079f1b 100644 --- a/src/datavisualization/utils/texturehelper.cpp +++ b/src/datavisualization/utils/texturehelper.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/texturehelper_p.h b/src/datavisualization/utils/texturehelper_p.h index bc69786a..17553f30 100644 --- a/src/datavisualization/utils/texturehelper_p.h +++ b/src/datavisualization/utils/texturehelper_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/utils.cpp b/src/datavisualization/utils/utils.cpp index 83a7f051..482fc831 100644 --- a/src/datavisualization/utils/utils.cpp +++ b/src/datavisualization/utils/utils.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/utils_p.h b/src/datavisualization/utils/utils_p.h index b53a6718..7288419b 100644 --- a/src/datavisualization/utils/utils_p.h +++ b/src/datavisualization/utils/utils_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/vertexindexer.cpp b/src/datavisualization/utils/vertexindexer.cpp index ba3d20f9..f089ce6e 100644 --- a/src/datavisualization/utils/vertexindexer.cpp +++ b/src/datavisualization/utils/vertexindexer.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** diff --git a/src/datavisualization/utils/vertexindexer_p.h b/src/datavisualization/utils/vertexindexer_p.h index 0c5602d5..fe100e21 100644 --- a/src/datavisualization/utils/vertexindexer_p.h +++ b/src/datavisualization/utils/vertexindexer_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** -- cgit v1.2.3 From 27e56759c1210a36abb2877afd9d9d70ba058281 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Mon, 27 Jan 2014 09:26:41 +0200 Subject: iOS: Fixed crashes Added registering ShadowQuality metatype for C++ and QML Task-number: QTRD-2802 Change-Id: I794071dfe65bbae6f668306e78c6d1cd68684751 Reviewed-by: Miikka Heikkinen --- src/datavisualization/engine/qabstract3dgraph.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/datavisualization') diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index 5fc63fcf..d8146149 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -120,6 +120,8 @@ QAbstract3DGraph::QAbstract3DGraph(QAbstract3DGraphPrivate *d, const QSurfaceFor : QWindow(parent), d_ptr(d) { + qRegisterMetaType("QAbstract3DGraph::ShadowQuality"); + // Default to frameless window, as typically graphs are not toplevel setFlags(flags() | Qt::FramelessWindowHint); -- cgit v1.2.3 From 31d0b8bb9b8bc1afd9ec0766651f122420cda933 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 27 Jan 2014 11:17:01 +0200 Subject: Valground beta MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I05867a256caea389fb1d2c19bccbf244732343a2 Reviewed-by: Tomi Korpipää --- src/datavisualization/data/qabstractdataproxy.cpp | 2 +- src/datavisualization/engine/bars3dcontroller.cpp | 1 + src/datavisualization/engine/surface3drenderer.cpp | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/data/qabstractdataproxy.cpp b/src/datavisualization/data/qabstractdataproxy.cpp index 9870dfbe..18d88971 100644 --- a/src/datavisualization/data/qabstractdataproxy.cpp +++ b/src/datavisualization/data/qabstractdataproxy.cpp @@ -110,7 +110,7 @@ QAbstractDataProxyPrivate::~QAbstractDataProxyPrivate() void QAbstractDataProxyPrivate::setSeries(QAbstract3DSeries *series) { - setParent(series); + q_ptr->setParent(series); m_series = series; } diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index 54a57114..5bd37ccf 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -37,6 +37,7 @@ Bars3DController::Bars3DController(QRect boundRect, Q3DScene *scene) m_selectedBar(invalidSelectionPosition()), m_selectedBarSeries(0), m_primarySeries(0), + m_isMultiSeriesUniform(false), m_isBarSpecRelative(true), m_barThicknessRatio(1.0f), m_barSpacing(QSizeF(1.0, 1.0)), diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 4846870a..82f9eae1 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -86,6 +86,7 @@ Surface3DRenderer::Surface3DRenderer(Surface3DController *controller) m_surfaceObj(0), m_sliceSurfaceObj(0), m_depthTexture(0), + m_depthModelTexture(0), m_depthFrameBuffer(0), m_selectionFrameBuffer(0), m_selectionDepthBuffer(0), -- cgit v1.2.3 From e0233b142f8ab225185e20609a90ea79b02dbc39 Mon Sep 17 00:00:00 2001 From: Jerome Pasion Date: Thu, 23 Jan 2014 17:18:39 +0100 Subject: Doc: Renamed landing page filename to index.html MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -convention for the web is index.html. This facilitates redirects. Change-Id: Ib74a949e5a0f0a6559af7f9daf30831bb9457bfb Reviewed-by: Tomi Korpipää Reviewed-by: Miikka Heikkinen --- src/datavisualization/doc/src/qtdatavisualization-index.qdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/datavisualization') diff --git a/src/datavisualization/doc/src/qtdatavisualization-index.qdoc b/src/datavisualization/doc/src/qtdatavisualization-index.qdoc index d20bb636..d593c1e9 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-index.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-index.qdoc @@ -18,7 +18,7 @@ /*! \title Qt Data Visualization - \page qtdatavisualization-index.html + \page index.html \brief Provides functionality for 3D visualization. Qt Data Visualization module provides a way to visualize data in 3D. -- cgit v1.2.3