summaryrefslogtreecommitdiffstats
path: root/src/datavisualization
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualization')
-rw-r--r--src/datavisualization/data/qabstractdataproxy.cpp8
-rw-r--r--src/datavisualization/data/qabstractdataproxy.h2
-rw-r--r--src/datavisualization/engine/abstract3dcontroller.cpp69
-rw-r--r--src/datavisualization/engine/abstract3dcontroller_p.h7
-rw-r--r--src/datavisualization/input/qabstract3dinputhandler.cpp5
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);
+ }
}
/*!