diff options
Diffstat (limited to 'src/datavisualization')
5 files changed, 60 insertions, 31 deletions
diff --git a/src/datavisualization/data/qabstractdataproxy.cpp b/src/datavisualization/data/qabstractdataproxy.cpp index 4a2f4ee5..b44f365e 100644 --- a/src/datavisualization/data/qabstractdataproxy.cpp +++ b/src/datavisualization/data/qabstractdataproxy.cpp @@ -108,8 +108,10 @@ QAbstractDataProxy::DataType QAbstractDataProxy::type() const */ void QAbstractDataProxy::setItemLabelFormat(const QString &format) { - d_ptr->setItemLabelFormat(format); - emit itemLabelFormatChanged(); + if (format != itemLabelFormat()) { + d_ptr->setItemLabelFormat(format); + emit itemLabelFormatChanged(format); + } } /*! @@ -121,7 +123,7 @@ QString QAbstractDataProxy::itemLabelFormat() const } /*! - * \fn void QAbstractDataProxy::itemLabelFormatChanged() + * \fn void QAbstractDataProxy::itemLabelFormatChanged(QString format) * * Emitted when label format changes. */ diff --git a/src/datavisualization/data/qabstractdataproxy.h b/src/datavisualization/data/qabstractdataproxy.h index db0e0863..d7793824 100644 --- a/src/datavisualization/data/qabstractdataproxy.h +++ b/src/datavisualization/data/qabstractdataproxy.h @@ -54,7 +54,7 @@ public: QString itemLabelFormat() const; signals: - void itemLabelFormatChanged(); + void itemLabelFormatChanged(QString format); protected: QScopedPointer<QAbstractDataProxyPrivate> d_ptr; diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index ee3e47e4..8d870716 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -693,10 +693,12 @@ QColor Abstract3DController::objectColor() const void Abstract3DController::setTheme(QDataVis::Theme theme) { - m_theme.useTheme(theme); - - m_changeTracker.themeChanged = true; - emitNeedRender(); + if (theme != m_theme.theme()) { + m_theme.useTheme(theme); + m_changeTracker.themeChanged = true; + emit themeChanged(theme); + emitNeedRender(); + } } Theme Abstract3DController::theme() @@ -706,10 +708,12 @@ Theme Abstract3DController::theme() void Abstract3DController::setFont(const QFont &font) { - m_font = font; - - m_changeTracker.fontChanged = true; - emitNeedRender(); + if (font != m_font) { + m_font = font; + m_changeTracker.fontChanged = true; + emit fontChanged(font); + emitNeedRender(); + } } QFont Abstract3DController::font() @@ -722,6 +726,7 @@ void Abstract3DController::setSelectionMode(QDataVis::SelectionFlags mode) if (mode != m_selectionMode) { m_selectionMode = mode; m_changeTracker.selectionModeChanged = true; + emit selectionModeChanged(mode); emitNeedRender(); } } @@ -733,11 +738,12 @@ QDataVis::SelectionFlags Abstract3DController::selectionMode() void Abstract3DController::setShadowQuality(QDataVis::ShadowQuality quality) { - m_shadowQuality = quality; - - m_changeTracker.shadowQualityChanged = true; - emit shadowQualityChanged(m_shadowQuality); - emitNeedRender(); + if (quality != m_shadowQuality) { + m_shadowQuality = quality; + m_changeTracker.shadowQualityChanged = true; + emit shadowQualityChanged(m_shadowQuality); + emitNeedRender(); + } } QDataVis::ShadowQuality Abstract3DController::shadowQuality() @@ -747,10 +753,12 @@ QDataVis::ShadowQuality Abstract3DController::shadowQuality() void Abstract3DController::setLabelStyle(QDataVis::LabelStyle style) { - m_labelStyle = style; - - m_changeTracker.labelStyleChanged = true; - emitNeedRender(); + if (style != m_labelStyle) { + m_labelStyle = style; + m_changeTracker.labelStyleChanged = true; + emit labelStyleChanged(style); + emitNeedRender(); + } } QDataVis::LabelStyle Abstract3DController::labelStyle() @@ -760,9 +768,12 @@ QDataVis::LabelStyle Abstract3DController::labelStyle() void Abstract3DController::setBackgroundEnabled(bool enable) { - m_isBackgroundEnabled = enable; - m_changeTracker.backgroundEnabledChanged = true; - emitNeedRender(); + if (enable != m_isBackgroundEnabled) { + m_isBackgroundEnabled = enable; + m_changeTracker.backgroundEnabledChanged = true; + emit backgroundVisibleChanged(enable); + emitNeedRender(); + } } bool Abstract3DController::backgroundEnabled() @@ -772,9 +783,12 @@ bool Abstract3DController::backgroundEnabled() void Abstract3DController::setGridEnabled(bool enable) { - m_isGridEnabled = enable; - m_changeTracker.gridEnabledChanged = true; - emitNeedRender(); + if (enable != m_isGridEnabled) { + m_isGridEnabled = enable; + m_changeTracker.gridEnabledChanged = true; + emit gridVisibleChanged(enable); + emitNeedRender(); + } } bool Abstract3DController::gridEnabled() @@ -811,9 +825,12 @@ QPoint Abstract3DController::inputPosition() void Abstract3DController::setMeshFileName(const QString &fileName) { - m_objFile = fileName; - m_changeTracker.objFileChanged = true; - emitNeedRender(); + if (fileName != m_objFile) { + m_objFile = fileName; + m_changeTracker.objFileChanged = true; + emit meshFileNameChanged(fileName); + emitNeedRender(); + } } QString Abstract3DController::meshFileName() diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index 450153a0..7dc5d8bc 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -323,6 +323,13 @@ public slots: signals: void shadowQualityChanged(QDataVis::ShadowQuality quality); void activeInputHandlerChanged(QAbstract3DInputHandler *inputHandler); + void themeChanged(QDataVis::Theme theme); + void fontChanged(QFont font); + void selectionModeChanged(QDataVis::SelectionFlags mode); + void labelStyleChanged(QDataVis::LabelStyle style); + void backgroundVisibleChanged(bool visible); + void gridVisibleChanged(bool visible); + void meshFileNameChanged(QString filename); void needRender(); protected: diff --git a/src/datavisualization/input/qabstract3dinputhandler.cpp b/src/datavisualization/input/qabstract3dinputhandler.cpp index b84711a4..8a8313ef 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.cpp +++ b/src/datavisualization/input/qabstract3dinputhandler.cpp @@ -173,7 +173,10 @@ Q3DScene *QAbstract3DInputHandler::scene() const void QAbstract3DInputHandler::setScene(Q3DScene *scene) { - d_ptr->m_scene = scene; + if (scene != d_ptr->m_scene) { + d_ptr->m_scene = scene; + emit sceneChanged(scene); + } } /*! |