summaryrefslogtreecommitdiffstats
path: root/src/datavisualizationqml2
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualizationqml2')
-rw-r--r--src/datavisualizationqml2/abstractdeclarative.cpp202
-rw-r--r--src/datavisualizationqml2/abstractdeclarative_p.h40
-rw-r--r--src/datavisualizationqml2/datavisualizationqml2.pro1
-rw-r--r--src/datavisualizationqml2/datavisualizationqml2_plugin.cpp18
-rw-r--r--src/datavisualizationqml2/datavisualizationqml2_plugin.h7
-rw-r--r--src/datavisualizationqml2/declarativebars.cpp13
-rw-r--r--src/datavisualizationqml2/declarativebars_p.h5
-rw-r--r--src/datavisualizationqml2/declarativesurface.cpp12
-rw-r--r--src/datavisualizationqml2/declarativesurface_p.h4
-rw-r--r--src/datavisualizationqml2/designer/Bars3DSpecifics.qml86
-rw-r--r--src/datavisualizationqml2/designer/Scatter3DSpecifics.qml72
-rw-r--r--src/datavisualizationqml2/designer/Surface3DSpecifics.qml70
-rw-r--r--src/datavisualizationqml2/designer/default/Bars3D.qml2
-rw-r--r--src/datavisualizationqml2/designer/default/Scatter3D.qml2
-rw-r--r--src/datavisualizationqml2/designer/default/Surface3D.qml2
-rw-r--r--src/datavisualizationqml2/plugins.qmltypes334
16 files changed, 774 insertions, 96 deletions
diff --git a/src/datavisualizationqml2/abstractdeclarative.cpp b/src/datavisualizationqml2/abstractdeclarative.cpp
index f7ccbf21..51c254ec 100644
--- a/src/datavisualizationqml2/abstractdeclarative.cpp
+++ b/src/datavisualizationqml2/abstractdeclarative.cpp
@@ -19,11 +19,13 @@
#include "abstractdeclarative_p.h"
#include "declarativetheme_p.h"
#include "declarativerendernode_p.h"
-
#include <QtGui/QGuiApplication>
#if defined(Q_OS_IOS)
#include <QtCore/QTimer>
#endif
+#if defined(Q_OS_OSX)
+#include <qpa/qplatformnativeinterface.h>
+#endif
QT_BEGIN_NAMESPACE_DATAVISUALIZATION
@@ -36,11 +38,7 @@ AbstractDeclarative::AbstractDeclarative(QQuickItem *parent) :
m_controller(0),
m_contextWindow(0),
m_renderMode(RenderIndirect),
- #if defined(QT_OPENGL_ES_2)
m_samples(0),
- #else
- m_samples(4),
- #endif
m_windowSamples(0),
m_initialisedSize(0, 0),
#ifdef USE_SHARED_CONTEXT
@@ -53,7 +51,6 @@ AbstractDeclarative::AbstractDeclarative(QQuickItem *parent) :
m_contextThread(0)
{
connect(this, &QQuickItem::windowChanged, this, &AbstractDeclarative::handleWindowChanged);
- setAntialiasing(m_samples > 0);
// Set contents to false in case we are in qml designer to make component look nice
m_runningInDesigner = QGuiApplication::applicationDisplayName() == "Qml2Puppet";
@@ -62,24 +59,7 @@ AbstractDeclarative::AbstractDeclarative(QQuickItem *parent) :
AbstractDeclarative::~AbstractDeclarative()
{
-#ifdef USE_SHARED_CONTEXT
- // Context can be in another thread, don't delete it directly in that case
- if (m_contextThread && m_contextThread != m_mainThread) {
- if (m_context)
- m_context->deleteLater();
- m_context = 0;
- } else {
- delete m_context;
- }
-#else
- if (m_contextThread && m_contextThread != m_mainThread) {
- if (m_stateStore)
- m_stateStore->deleteLater();
- m_stateStore = 0;
- } else {
- delete m_stateStore;
- }
-#endif
+ destroyContext();
disconnect(this, 0, this, 0);
checkWindowList(0);
@@ -293,6 +273,10 @@ void AbstractDeclarative::setSharedController(Abstract3DController *controller)
Q_ASSERT(controller);
m_controller = controller;
+ if (!m_controller->isOpenGLES())
+ m_samples = 4;
+ setAntialiasing(m_samples > 0);
+
// Reset default theme, as the default C++ theme is Q3DTheme, not DeclarativeTheme3D.
DeclarativeTheme3D *defaultTheme = new DeclarativeTheme3D;
defaultTheme->d_ptr->setDefaultTheme(true);
@@ -329,6 +313,22 @@ void AbstractDeclarative::setSharedController(Abstract3DController *controller)
&AbstractDeclarative::aspectRatioChanged);
QObject::connect(m_controller.data(), &Abstract3DController::optimizationHintsChanged, this,
&AbstractDeclarative::handleOptimizationHintChange);
+ QObject::connect(m_controller.data(), &Abstract3DController::polarChanged, this,
+ &AbstractDeclarative::polarChanged);
+ QObject::connect(m_controller.data(), &Abstract3DController::radialLabelOffsetChanged, this,
+ &AbstractDeclarative::radialLabelOffsetChanged);
+ QObject::connect(m_controller.data(), &Abstract3DController::horizontalAspectRatioChanged, this,
+ &AbstractDeclarative::horizontalAspectRatioChanged);
+ QObject::connect(m_controller.data(), &Abstract3DController::reflectionChanged, this,
+ &AbstractDeclarative::reflectionChanged);
+ QObject::connect(m_controller.data(), &Abstract3DController::reflectivityChanged, this,
+ &AbstractDeclarative::reflectivityChanged);
+ QObject::connect(m_controller.data(), &Abstract3DController::localeChanged, this,
+ &AbstractDeclarative::localeChanged);
+ QObject::connect(m_controller.data(), &Abstract3DController::queriedGraphPositionChanged, this,
+ &AbstractDeclarative::queriedGraphPositionChanged);
+ QObject::connect(m_controller.data(), &Abstract3DController::marginChanged, this,
+ &AbstractDeclarative::marginChanged);
}
void AbstractDeclarative::activateOpenGLContext(QQuickWindow *window)
@@ -347,7 +347,6 @@ void AbstractDeclarative::activateOpenGLContext(QQuickWindow *window)
m_contextThread = QThread::currentThread();
m_contextWindow = window;
m_qtContext = currentContext;
-
m_context = new QOpenGLContext();
m_context->setFormat(m_qtContext->format());
m_context->setShareContext(m_qtContext);
@@ -355,6 +354,10 @@ void AbstractDeclarative::activateOpenGLContext(QQuickWindow *window)
m_context->makeCurrent(window);
m_controller->initializeOpenGL();
+
+ // Make sure context gets deleted.
+ QObject::connect(m_contextThread, &QThread::finished, this,
+ &AbstractDeclarative::destroyContext, Qt::DirectConnection);
} else {
m_context->makeCurrent(window);
}
@@ -376,6 +379,10 @@ void AbstractDeclarative::activateOpenGLContext(QQuickWindow *window)
m_stateStore->storeGLState();
m_controller->initializeOpenGL();
+
+ // Make sure state store gets deleted.
+ QObject::connect(m_contextThread, &QThread::finished, this,
+ &AbstractDeclarative::destroyContext, Qt::DirectConnection);
} else {
m_stateStore->storeGLState();
}
@@ -416,17 +423,15 @@ void AbstractDeclarative::setMsaaSamples(int samples)
if (m_renderMode != RenderIndirect) {
qWarning("Multisampling cannot be adjusted in this render mode");
} else {
-#if defined(QT_OPENGL_ES_2)
- if (samples > 0)
- qWarning("Multisampling is not supported in OpenGL ES2");
-#else
- if (m_samples != samples) {
+ if (m_controller->isOpenGLES()) {
+ if (samples > 0)
+ qWarning("Multisampling is not supported in OpenGL ES2");
+ } else if (m_samples != samples) {
m_samples = samples;
setAntialiasing(m_samples > 0);
emit msaaSamplesChanged(samples);
update();
}
-#endif
}
}
@@ -437,6 +442,18 @@ void AbstractDeclarative::handleWindowChanged(QQuickWindow *window)
if (!window)
return;
+#if defined(Q_OS_OSX)
+ bool previousVisibility = window->isVisible();
+ // Enable touch events for Mac touchpads
+ window->setVisible(true);
+ typedef void * (*EnableTouch)(QWindow*, bool);
+ EnableTouch enableTouch =
+ (EnableTouch)QGuiApplication::platformNativeInterface()->nativeResourceFunctionForIntegration("registertouchwindow");
+ if (enableTouch)
+ enableTouch(window, true);
+ window->setVisible(previousVisibility);
+#endif
+
connect(window, &QObject::destroyed, this, &AbstractDeclarative::windowDestroyed);
int oldWindowSamples = m_windowSamples;
@@ -556,24 +573,25 @@ void AbstractDeclarative::render()
// Clear the background once per window as that is not done by default
QQuickWindow *win = window();
activateOpenGLContext(win);
+ QOpenGLFunctions *funcs = QOpenGLContext::currentContext()->functions();
if (m_renderMode == RenderDirectToBackground && !clearList.contains(win)) {
clearList.append(win);
QColor clearColor = win->color();
- glClearColor(clearColor.redF(), clearColor.greenF(), clearColor.blueF(), 1.0f);
- glClear(GL_COLOR_BUFFER_BIT);
+ funcs->glClearColor(clearColor.redF(), clearColor.greenF(), clearColor.blueF(), 1.0f);
+ funcs->glClear(GL_COLOR_BUFFER_BIT);
}
if (isVisible()) {
- glDepthMask(GL_TRUE);
- glEnable(GL_DEPTH_TEST);
- glDepthFunc(GL_LESS);
- glEnable(GL_CULL_FACE);
- glCullFace(GL_BACK);
- glDisable(GL_BLEND);
+ funcs->glDepthMask(GL_TRUE);
+ funcs->glEnable(GL_DEPTH_TEST);
+ funcs->glDepthFunc(GL_LESS);
+ funcs->glEnable(GL_CULL_FACE);
+ funcs->glCullFace(GL_BACK);
+ funcs->glDisable(GL_BLEND);
m_controller->render();
- glEnable(GL_BLEND);
+ funcs->glEnable(GL_BLEND);
}
doneOpenGLContext(win);
}
@@ -704,7 +722,7 @@ AbstractDeclarative::ElementType AbstractDeclarative::selectedElement() const
void AbstractDeclarative::setAspectRatio(qreal ratio)
{
- m_controller->setAspectRatio(float(ratio));
+ m_controller->setAspectRatio(ratio);
}
qreal AbstractDeclarative::aspectRatio() const
@@ -724,6 +742,81 @@ AbstractDeclarative::OptimizationHints AbstractDeclarative::optimizationHints()
return OptimizationHints(intmode);
}
+void AbstractDeclarative::setPolar(bool enable)
+{
+ m_controller->setPolar(enable);
+}
+
+bool AbstractDeclarative::isPolar() const
+{
+ return m_controller->isPolar();
+}
+
+void AbstractDeclarative::setRadialLabelOffset(float offset)
+{
+ m_controller->setRadialLabelOffset(offset);
+}
+
+float AbstractDeclarative::radialLabelOffset() const
+{
+ return m_controller->radialLabelOffset();
+}
+
+void AbstractDeclarative::setHorizontalAspectRatio(qreal ratio)
+{
+ m_controller->setHorizontalAspectRatio(ratio);
+}
+
+qreal AbstractDeclarative::horizontalAspectRatio() const
+{
+ return m_controller->horizontalAspectRatio();
+}
+
+void AbstractDeclarative::setReflection(bool enable)
+{
+ m_controller->setReflection(enable);
+}
+
+bool AbstractDeclarative::isReflection() const
+{
+ return m_controller->reflection();
+}
+
+void AbstractDeclarative::setReflectivity(qreal reflectivity)
+{
+ m_controller->setReflectivity(reflectivity);
+}
+
+qreal AbstractDeclarative::reflectivity() const
+{
+ return m_controller->reflectivity();
+}
+
+void AbstractDeclarative::setLocale(const QLocale &locale)
+{
+ m_controller->setLocale(locale);
+}
+
+QLocale AbstractDeclarative::locale() const
+{
+ return m_controller->locale();
+}
+
+QVector3D AbstractDeclarative::queriedGraphPosition() const
+{
+ return m_controller->queriedGraphPosition();
+}
+
+void AbstractDeclarative::setMargin(qreal margin)
+{
+ m_controller->setMargin(margin);
+}
+
+qreal AbstractDeclarative::margin() const
+{
+ return m_controller->margin();
+}
+
void AbstractDeclarative::windowDestroyed(QObject *obj)
{
// Remove destroyed window from window lists
@@ -736,4 +829,31 @@ void AbstractDeclarative::windowDestroyed(QObject *obj)
windowClearList.remove(win);
}
+void AbstractDeclarative::destroyContext()
+{
+#ifdef USE_SHARED_CONTEXT
+ // Context can be in another thread, don't delete it directly in that case
+ if (m_contextThread && m_contextThread != m_mainThread) {
+ if (m_context)
+ m_context->deleteLater();
+ } else {
+ delete m_context;
+ }
+ m_context = 0;
+#else
+ if (m_contextThread && m_contextThread != m_mainThread) {
+ if (m_stateStore)
+ m_stateStore->deleteLater();
+ } else {
+ delete m_stateStore;
+ }
+ m_stateStore = 0;
+#endif
+ if (m_contextThread) {
+ QObject::disconnect(m_contextThread, &QThread::finished, this,
+ &AbstractDeclarative::destroyContext);
+ m_contextThread = 0;
+ }
+}
+
QT_END_NAMESPACE_DATAVISUALIZATION
diff --git a/src/datavisualizationqml2/abstractdeclarative_p.h b/src/datavisualizationqml2/abstractdeclarative_p.h
index dfcd9537..0c32a4a5 100644
--- a/src/datavisualizationqml2/abstractdeclarative_p.h
+++ b/src/datavisualizationqml2/abstractdeclarative_p.h
@@ -72,6 +72,14 @@ class AbstractDeclarative : public QQuickItem
Q_PROPERTY(ElementType selectedElement READ selectedElement NOTIFY selectedElementChanged REVISION 1)
Q_PROPERTY(qreal aspectRatio READ aspectRatio WRITE setAspectRatio NOTIFY aspectRatioChanged REVISION 1)
Q_PROPERTY(OptimizationHints optimizationHints READ optimizationHints WRITE setOptimizationHints NOTIFY optimizationHintsChanged REVISION 1)
+ Q_PROPERTY(bool polar READ isPolar WRITE setPolar NOTIFY polarChanged REVISION 2)
+ Q_PROPERTY(float radialLabelOffset READ radialLabelOffset WRITE setRadialLabelOffset NOTIFY radialLabelOffsetChanged REVISION 2)
+ Q_PROPERTY(qreal horizontalAspectRatio READ horizontalAspectRatio WRITE setHorizontalAspectRatio NOTIFY horizontalAspectRatioChanged REVISION 2)
+ Q_PROPERTY(bool reflection READ isReflection WRITE setReflection NOTIFY reflectionChanged REVISION 2)
+ Q_PROPERTY(qreal reflectivity READ reflectivity WRITE setReflectivity NOTIFY reflectivityChanged REVISION 2)
+ Q_PROPERTY(QLocale locale READ locale WRITE setLocale NOTIFY localeChanged REVISION 2)
+ Q_PROPERTY(QVector3D queriedGraphPosition READ queriedGraphPosition NOTIFY queriedGraphPositionChanged REVISION 2)
+ Q_PROPERTY(qreal margin READ margin WRITE setMargin NOTIFY marginChanged REVISION 2)
public:
enum SelectionFlag {
@@ -193,11 +201,35 @@ public:
void setOptimizationHints(OptimizationHints hints);
OptimizationHints optimizationHints() const;
+ void setPolar(bool enable);
+ bool isPolar() const;
+
+ void setRadialLabelOffset(float offset);
+ float radialLabelOffset() const;
+
+ void setHorizontalAspectRatio(qreal ratio);
+ qreal horizontalAspectRatio() const;
+
+ void setReflection(bool enable);
+ bool isReflection() const;
+
+ void setReflectivity(qreal reflectivity);
+ qreal reflectivity() const;
+
+ void setLocale(const QLocale &locale);
+ QLocale locale() const;
+
+ QVector3D queriedGraphPosition() const;
+
+ void setMargin(qreal margin);
+ qreal margin() const;
+
public slots:
virtual void handleAxisXChanged(QAbstract3DAxis *axis) = 0;
virtual void handleAxisYChanged(QAbstract3DAxis *axis) = 0;
virtual void handleAxisZChanged(QAbstract3DAxis *axis) = 0;
void windowDestroyed(QObject *obj);
+ void destroyContext();
protected:
virtual void mouseDoubleClickEvent(QMouseEvent *event);
@@ -230,6 +262,14 @@ signals:
Q_REVISION(1) void orthoProjectionChanged(bool enabled);
Q_REVISION(1) void aspectRatioChanged(qreal ratio);
Q_REVISION(1) void optimizationHintsChanged(AbstractDeclarative::OptimizationHints hints);
+ Q_REVISION(2) void polarChanged(bool enabled);
+ Q_REVISION(2) void radialLabelOffsetChanged(float offset);
+ Q_REVISION(2) void horizontalAspectRatioChanged(qreal ratio);
+ Q_REVISION(2) void reflectionChanged(bool enabled);
+ Q_REVISION(2) void reflectivityChanged(qreal reflectivity);
+ Q_REVISION(2) void localeChanged(const QLocale &locale);
+ Q_REVISION(2) void queriedGraphPositionChanged(const QVector3D &data);
+ Q_REVISION(2) void marginChanged(qreal margin);
private:
QPointer<Abstract3DController> m_controller;
diff --git a/src/datavisualizationqml2/datavisualizationqml2.pro b/src/datavisualizationqml2/datavisualizationqml2.pro
index 7c65d69e..87376e70 100644
--- a/src/datavisualizationqml2/datavisualizationqml2.pro
+++ b/src/datavisualizationqml2/datavisualizationqml2.pro
@@ -1,5 +1,6 @@
TARGET = datavisualizationqml2
QT += qml quick datavisualization
+osx: QT += gui-private
TARGETPATH = QtDataVisualization
IMPORT_VERSION = $$MODULE_VERSION
diff --git a/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp b/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp
index 09780dc5..5aaebf03 100644
--- a/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp
+++ b/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp
@@ -93,6 +93,7 @@ void QtDataVisualizationQml2Plugin::registerTypes(const char *uri)
QLatin1String("Trying to create uncreatable: Abstract3DSeries."));
qmlRegisterUncreatableType<AbstractDeclarative, 1>(uri, 1, 1, "AbstractGraph3D",
QLatin1String("Trying to create uncreatable: AbstractGraph3D."));
+
qmlRegisterType<QValue3DAxis, 1>(uri, 1, 1, "ValueAxis3D");
qmlRegisterType<QItemModelBarDataProxy, 1>(uri, 1, 1, "ItemModelBarDataProxy");
qmlRegisterType<QItemModelSurfaceDataProxy, 1>(uri, 1, 1, "ItemModelSurfaceDataProxy");
@@ -106,6 +107,23 @@ void QtDataVisualizationQml2Plugin::registerTypes(const char *uri)
// New metatypes
qRegisterMetaType<QAbstract3DGraph::ElementType>("QAbstract3DGraph::ElementType");
+
+ // QtDataVisualization 1.2
+
+ // New revisions
+ qmlRegisterUncreatableType<AbstractDeclarative, 2>(uri, 1, 2, "AbstractGraph3D",
+ QLatin1String("Trying to create uncreatable: AbstractGraph3D."));
+ qmlRegisterUncreatableType<Declarative3DScene, 1>(uri, 1, 2, "Scene3D",
+ QLatin1String("Trying to create uncreatable: Scene3D."));
+ qmlRegisterType<DeclarativeSurface, 1>(uri, 1, 2, "Surface3D");
+ qmlRegisterType<Q3DCamera, 1>(uri, 1, 2, "Camera3D");
+ qmlRegisterType<QCustom3DItem, 1>(uri, 1, 2, "Custom3DItem");
+ qmlRegisterType<DeclarativeBars, 1>(uri, 1, 2, "Bars3D");
+
+ // New types
+ qmlRegisterType<Q3DInputHandler>(uri, 1, 2, "InputHandler3D");
+ qmlRegisterType<QTouch3DInputHandler>(uri, 1, 2, "TouchInputHandler3D");
+ qmlRegisterType<QCustom3DVolume>(uri, 1, 2, "Custom3DVolume");
}
QT_END_NAMESPACE_DATAVISUALIZATION
diff --git a/src/datavisualizationqml2/datavisualizationqml2_plugin.h b/src/datavisualizationqml2/datavisualizationqml2_plugin.h
index 21ef85b8..8ece1c15 100644
--- a/src/datavisualizationqml2/datavisualizationqml2_plugin.h
+++ b/src/datavisualizationqml2/datavisualizationqml2_plugin.h
@@ -42,11 +42,13 @@
#include "declarativeseries_p.h"
#include "q3dtheme.h"
#include "declarativetheme_p.h"
-#include "qabstract3dinputhandler.h"
+#include "q3dinputhandler.h"
+#include "qtouch3dinputhandler.h"
#include "declarativecolor_p.h"
#include "declarativescene_p.h"
#include "qcustom3ditem.h"
#include "qcustom3dlabel.h"
+#include "qcustom3dvolume.h"
#include <QtQml/QQmlExtensionPlugin>
@@ -97,9 +99,12 @@ QML_DECLARE_TYPE(Q3DTheme)
QML_DECLARE_TYPE(DeclarativeTheme3D)
QML_DECLARE_TYPE(QAbstract3DInputHandler)
+QML_DECLARE_TYPE(Q3DInputHandler)
+QML_DECLARE_TYPE(QTouch3DInputHandler)
QML_DECLARE_TYPE(QCustom3DItem)
QML_DECLARE_TYPE(QCustom3DLabel)
+QML_DECLARE_TYPE(QCustom3DVolume)
QT_BEGIN_NAMESPACE_DATAVISUALIZATION
diff --git a/src/datavisualizationqml2/declarativebars.cpp b/src/datavisualizationqml2/declarativebars.cpp
index 9670a7db..61e6aafb 100644
--- a/src/datavisualizationqml2/declarativebars.cpp
+++ b/src/datavisualizationqml2/declarativebars.cpp
@@ -129,6 +129,19 @@ QBar3DSeries *DeclarativeBars::selectedSeries() const
return m_barsController->selectedSeries();
}
+void DeclarativeBars::setFloorLevel(float level)
+{
+ if (level != floorLevel()) {
+ m_barsController->setFloorLevel(level);
+ emit floorLevelChanged(level);
+ }
+}
+
+float DeclarativeBars::floorLevel() const
+{
+ return m_barsController->floorLevel();
+}
+
QQmlListProperty<QBar3DSeries> DeclarativeBars::seriesList()
{
return QQmlListProperty<QBar3DSeries>(this, this,
diff --git a/src/datavisualizationqml2/declarativebars_p.h b/src/datavisualizationqml2/declarativebars_p.h
index 52690813..05d66cdc 100644
--- a/src/datavisualizationqml2/declarativebars_p.h
+++ b/src/datavisualizationqml2/declarativebars_p.h
@@ -48,6 +48,7 @@ class DeclarativeBars : public AbstractDeclarative
Q_PROPERTY(QQmlListProperty<QBar3DSeries> seriesList READ seriesList)
Q_PROPERTY(QBar3DSeries *selectedSeries READ selectedSeries NOTIFY selectedSeriesChanged)
Q_PROPERTY(QBar3DSeries *primarySeries READ primarySeries WRITE setPrimarySeries NOTIFY primarySeriesChanged)
+ Q_PROPERTY(float floorLevel READ floorLevel WRITE setFloorLevel NOTIFY floorLevelChanged REVISION 1)
Q_CLASSINFO("DefaultProperty", "seriesList")
public:
@@ -85,6 +86,9 @@ public:
QBar3DSeries *primarySeries() const;
QBar3DSeries *selectedSeries() const;
+ void setFloorLevel(float level);
+ float floorLevel() const;
+
public slots:
void handleAxisXChanged(QAbstract3DAxis *axis);
void handleAxisYChanged(QAbstract3DAxis *axis);
@@ -101,6 +105,7 @@ signals:
void meshFileNameChanged(QString filename);
void primarySeriesChanged(QBar3DSeries *series);
void selectedSeriesChanged(QBar3DSeries *series);
+ Q_REVISION(1) void floorLevelChanged(float level);
private:
Bars3DController *m_barsController;
diff --git a/src/datavisualizationqml2/declarativesurface.cpp b/src/datavisualizationqml2/declarativesurface.cpp
index 3075d207..ec520459 100644
--- a/src/datavisualizationqml2/declarativesurface.cpp
+++ b/src/datavisualizationqml2/declarativesurface.cpp
@@ -32,6 +32,8 @@ DeclarativeSurface::DeclarativeSurface(QQuickItem *parent)
QObject::connect(m_surfaceController, &Surface3DController::selectedSeriesChanged,
this, &DeclarativeSurface::selectedSeriesChanged);
+ QObject::connect(m_surfaceController, &Surface3DController::flipHorizontalGridChanged,
+ this, &DeclarativeSurface::flipHorizontalGridChanged);
}
DeclarativeSurface::~DeclarativeSurface()
@@ -74,6 +76,16 @@ QSurface3DSeries *DeclarativeSurface::selectedSeries() const
return m_surfaceController->selectedSeries();
}
+void DeclarativeSurface::setFlipHorizontalGrid(bool flip)
+{
+ m_surfaceController->setFlipHorizontalGrid(flip);
+}
+
+bool DeclarativeSurface::flipHorizontalGrid() const
+{
+ return m_surfaceController->flipHorizontalGrid();
+}
+
QQmlListProperty<QSurface3DSeries> DeclarativeSurface::seriesList()
{
return QQmlListProperty<QSurface3DSeries>(this, this,
diff --git a/src/datavisualizationqml2/declarativesurface_p.h b/src/datavisualizationqml2/declarativesurface_p.h
index 6fe800ba..ff6e4d70 100644
--- a/src/datavisualizationqml2/declarativesurface_p.h
+++ b/src/datavisualizationqml2/declarativesurface_p.h
@@ -44,6 +44,7 @@ class DeclarativeSurface : public AbstractDeclarative
Q_PROPERTY(QValue3DAxis *axisZ READ axisZ WRITE setAxisZ NOTIFY axisZChanged)
Q_PROPERTY(QSurface3DSeries *selectedSeries READ selectedSeries NOTIFY selectedSeriesChanged)
Q_PROPERTY(QQmlListProperty<QSurface3DSeries> seriesList READ seriesList)
+ Q_PROPERTY(bool flipHorizontalGrid READ flipHorizontalGrid WRITE setFlipHorizontalGrid NOTIFY flipHorizontalGridChanged REVISION 1)
Q_CLASSINFO("DefaultProperty", "seriesList")
public:
@@ -66,6 +67,8 @@ public:
Q_INVOKABLE void removeSeries(QSurface3DSeries *series);
QSurface3DSeries *selectedSeries() const;
+ void setFlipHorizontalGrid(bool flip);
+ bool flipHorizontalGrid() const;
public slots:
void handleAxisXChanged(QAbstract3DAxis *axis);
@@ -77,6 +80,7 @@ signals:
void axisYChanged(QValue3DAxis *axis);
void axisZChanged(QValue3DAxis *axis);
void selectedSeriesChanged(QSurface3DSeries *series);
+ Q_REVISION(1) void flipHorizontalGridChanged(bool flip);
private:
Surface3DController *m_surfaceController;
diff --git a/src/datavisualizationqml2/designer/Bars3DSpecifics.qml b/src/datavisualizationqml2/designer/Bars3DSpecifics.qml
index cb5fb4a0..bd32d383 100644
--- a/src/datavisualizationqml2/designer/Bars3DSpecifics.qml
+++ b/src/datavisualizationqml2/designer/Bars3DSpecifics.qml
@@ -288,6 +288,92 @@ Column {
Layout.fillWidth: true
}
}
+ Label {
+ text: qsTr("aspectRatio")
+ toolTip: qsTr("Aspect Ratio")
+ Layout.fillWidth: true
+ }
+ SecondColumnLayout {
+ SpinBox {
+ backendValue: backendValues.aspectRatio
+ minimumValue: 0.01
+ maximumValue: 100.0
+ stepSize: 0.01
+ decimals: 2
+ Layout.fillWidth: true
+ }
+ }
+ Label {
+ text: qsTr("floorLevel")
+ toolTip: qsTr("Floor Level")
+ Layout.fillWidth: true
+ }
+ SecondColumnLayout {
+ LineEdit {
+ backendValue: backendValues.floorLevel
+ inputMethodHints: Qt.ImhFormattedNumbersOnly
+ Layout.fillWidth: true
+ }
+ }
+ Label {
+ text: qsTr("horizontalAspectRatio")
+ toolTip: qsTr("Horizontal Aspect Ratio")
+ Layout.fillWidth: true
+ }
+ SecondColumnLayout {
+ SpinBox {
+ backendValue: backendValues.horizontalAspectRatio
+ minimumValue: 0.0
+ maximumValue: 100.0
+ stepSize: 0.01
+ decimals: 2
+ Layout.fillWidth: true
+ }
+ }
+ Label {
+ text: qsTr("reflection")
+ toolTip: qsTr("Reflection")
+ Layout.fillWidth: true
+ }
+ SecondColumnLayout {
+ CheckBox {
+ id: reflectionCheckbox
+ backendValue: backendValues.reflection
+ Layout.fillWidth: true
+ }
+ }
+ Label {
+ text: qsTr("reflectivity")
+ toolTip: qsTr("Reflectivity")
+ Layout.fillWidth: true
+ visible: reflectionCheckbox.checked
+ }
+ SecondColumnLayout {
+ visible: reflectionCheckbox.checked
+ SpinBox {
+ backendValue: backendValues.reflectivity
+ minimumValue: 0.0
+ maximumValue: 1.0
+ stepSize: 0.01
+ decimals: 1
+ Layout.fillWidth: true
+ }
+ }
+ Label {
+ text: qsTr("margin")
+ toolTip: qsTr("Graph Margin")
+ Layout.fillWidth: true
+ }
+ SecondColumnLayout {
+ SpinBox {
+ backendValue: backendValues.margin
+ minimumValue: -1.0
+ maximumValue: 100.0
+ stepSize: 0.1
+ decimals: 1
+ Layout.fillWidth: true
+ }
+ }
// Kept for debugging
Label { }
diff --git a/src/datavisualizationqml2/designer/Scatter3DSpecifics.qml b/src/datavisualizationqml2/designer/Scatter3DSpecifics.qml
index 1e2556ec..131f71fd 100644
--- a/src/datavisualizationqml2/designer/Scatter3DSpecifics.qml
+++ b/src/datavisualizationqml2/designer/Scatter3DSpecifics.qml
@@ -121,6 +121,78 @@ Column {
Layout.fillWidth: true
}
}
+ Label {
+ text: qsTr("optimizationHints")
+ toolTip: qsTr("Optimization Hints")
+ Layout.fillWidth: true
+ }
+ SecondColumnLayout {
+ ComboBox {
+ backendValue: backendValues.optimizationHints
+ model: ["OptimizationDefault", "OptimizationStatic"]
+ Layout.fillWidth: true
+ scope: "AbstractGraph3D"
+ }
+ }
+ Label {
+ text: qsTr("polar")
+ toolTip: qsTr("Use Polar Coordinates")
+ Layout.fillWidth: true
+ }
+ SecondColumnLayout {
+ CheckBox {
+ id: polarCheckbox
+ backendValue: backendValues.polar
+ Layout.fillWidth: true
+ }
+ }
+ Label {
+ text: qsTr("radialLabelOffset")
+ toolTip: qsTr("Radial Label Offset")
+ Layout.fillWidth: true
+ visible: polarCheckbox.checked
+ }
+ SecondColumnLayout {
+ visible: polarCheckbox.checked
+ SpinBox {
+ backendValue: backendValues.radialLabelOffset
+ minimumValue: 0.0
+ maximumValue: 1.0
+ stepSize: 0.01
+ decimals: 1
+ Layout.fillWidth: true
+ }
+ }
+ Label {
+ text: qsTr("horizontalAspectRatio")
+ toolTip: qsTr("Horizontal Aspect Ratio")
+ Layout.fillWidth: true
+ }
+ SecondColumnLayout {
+ SpinBox {
+ backendValue: backendValues.horizontalAspectRatio
+ minimumValue: 0.0
+ maximumValue: 100.0
+ stepSize: 0.01
+ decimals: 2
+ Layout.fillWidth: true
+ }
+ }
+ Label {
+ text: qsTr("margin")
+ toolTip: qsTr("Graph Margin")
+ Layout.fillWidth: true
+ }
+ SecondColumnLayout {
+ SpinBox {
+ backendValue: backendValues.margin
+ minimumValue: -1.0
+ maximumValue: 100.0
+ stepSize: 0.1
+ decimals: 1
+ Layout.fillWidth: true
+ }
+ }
}
}
}
diff --git a/src/datavisualizationqml2/designer/Surface3DSpecifics.qml b/src/datavisualizationqml2/designer/Surface3DSpecifics.qml
index 65a65d37..a834f677 100644
--- a/src/datavisualizationqml2/designer/Surface3DSpecifics.qml
+++ b/src/datavisualizationqml2/designer/Surface3DSpecifics.qml
@@ -241,6 +241,76 @@ Column {
Layout.fillWidth: true
}
}
+ Label {
+ text: qsTr("flipHorizontalGrid")
+ toolTip: qsTr("Flip Horizontal Grid")
+ Layout.fillWidth: true
+ }
+ SecondColumnLayout {
+ CheckBox {
+ backendValue: backendValues.flipHorizontalGrid
+ Layout.fillWidth: true
+ }
+ }
+ Label {
+ text: qsTr("polar")
+ toolTip: qsTr("Use Polar Coordinates")
+ Layout.fillWidth: true
+ }
+ SecondColumnLayout {
+ CheckBox {
+ id: polarCheckbox
+ backendValue: backendValues.polar
+ Layout.fillWidth: true
+ }
+ }
+ Label {
+ text: qsTr("radialLabelOffset")
+ toolTip: qsTr("Radial Label Offset")
+ Layout.fillWidth: true
+ visible: polarCheckbox.checked
+ }
+ SecondColumnLayout {
+ visible: polarCheckbox.checked
+ SpinBox {
+ backendValue: backendValues.radialLabelOffset
+ minimumValue: 0.0
+ maximumValue: 1.0
+ stepSize: 0.01
+ decimals: 1
+ Layout.fillWidth: true
+ }
+ }
+ Label {
+ text: qsTr("horizontalAspectRatio")
+ toolTip: qsTr("Horizontal Aspect Ratio")
+ Layout.fillWidth: true
+ }
+ SecondColumnLayout {
+ SpinBox {
+ backendValue: backendValues.horizontalAspectRatio
+ minimumValue: 0.0
+ maximumValue: 100.0
+ stepSize: 0.01
+ decimals: 2
+ Layout.fillWidth: true
+ }
+ }
+ Label {
+ text: qsTr("margin")
+ toolTip: qsTr("Graph Margin")
+ Layout.fillWidth: true
+ }
+ SecondColumnLayout {
+ SpinBox {
+ backendValue: backendValues.margin
+ minimumValue: -1.0
+ maximumValue: 100.0
+ stepSize: 0.1
+ decimals: 1
+ Layout.fillWidth: true
+ }
+ }
// Kept for debugging
Label { }
diff --git a/src/datavisualizationqml2/designer/default/Bars3D.qml b/src/datavisualizationqml2/designer/default/Bars3D.qml
index 10fefe53..c85c0e94 100644
--- a/src/datavisualizationqml2/designer/default/Bars3D.qml
+++ b/src/datavisualizationqml2/designer/default/Bars3D.qml
@@ -17,7 +17,7 @@
****************************************************************************/
import QtQuick 2.0
-import QtDataVisualization 1.1
+import QtDataVisualization 1.2
Bars3D {
width: 300
diff --git a/src/datavisualizationqml2/designer/default/Scatter3D.qml b/src/datavisualizationqml2/designer/default/Scatter3D.qml
index b08d4e24..0bd6cac2 100644
--- a/src/datavisualizationqml2/designer/default/Scatter3D.qml
+++ b/src/datavisualizationqml2/designer/default/Scatter3D.qml
@@ -17,7 +17,7 @@
****************************************************************************/
import QtQuick 2.0
-import QtDataVisualization 1.1
+import QtDataVisualization 1.2
Scatter3D {
width: 300
diff --git a/src/datavisualizationqml2/designer/default/Surface3D.qml b/src/datavisualizationqml2/designer/default/Surface3D.qml
index 77ee476e..f9de62a1 100644
--- a/src/datavisualizationqml2/designer/default/Surface3D.qml
+++ b/src/datavisualizationqml2/designer/default/Surface3D.qml
@@ -17,7 +17,7 @@
****************************************************************************/
import QtQuick 2.0
-import QtDataVisualization 1.1
+import QtDataVisualization 1.2
Surface3D {
width: 300
diff --git a/src/datavisualizationqml2/plugins.qmltypes b/src/datavisualizationqml2/plugins.qmltypes
index 6a580536..956100ed 100644
--- a/src/datavisualizationqml2/plugins.qmltypes
+++ b/src/datavisualizationqml2/plugins.qmltypes
@@ -4,7 +4,7 @@ import QtQuick.tooling 1.1
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable QtDataVisualization 1.1'
+// 'qmlplugindump.exe -nonrelocatable QtDataVisualization 1.2'
Module {
Component {
@@ -13,10 +13,11 @@ Module {
prototype: "QQuickItem"
exports: [
"QtDataVisualization/AbstractGraph3D 1.0",
- "QtDataVisualization/AbstractGraph3D 1.1"
+ "QtDataVisualization/AbstractGraph3D 1.1",
+ "QtDataVisualization/AbstractGraph3D 1.2"
]
isCreatable: false
- exportMetaObjectRevisions: [0, 1]
+ exportMetaObjectRevisions: [0, 1, 2]
Enum {
name: "SelectionFlag"
values: {
@@ -113,6 +114,14 @@ Module {
Property { name: "selectedElement"; revision: 1; type: "ElementType"; isReadonly: true }
Property { name: "aspectRatio"; revision: 1; type: "double" }
Property { name: "optimizationHints"; revision: 1; type: "OptimizationHints" }
+ Property { name: "polar"; revision: 2; type: "bool" }
+ Property { name: "radialLabelOffset"; revision: 2; type: "float" }
+ Property { name: "horizontalAspectRatio"; revision: 2; type: "double" }
+ Property { name: "reflection"; revision: 2; type: "bool" }
+ Property { name: "reflectivity"; revision: 2; type: "double" }
+ Property { name: "locale"; revision: 2; type: "QLocale" }
+ Property { name: "queriedGraphPosition"; revision: 2; type: "QVector3D"; isReadonly: true }
+ Property { name: "margin"; revision: 2; type: "double" }
Signal {
name: "selectionModeChanged"
Parameter { name: "mode"; type: "AbstractDeclarative::SelectionFlags" }
@@ -175,6 +184,46 @@ Module {
revision: 1
Parameter { name: "hints"; type: "AbstractDeclarative::OptimizationHints" }
}
+ Signal {
+ name: "polarChanged"
+ revision: 2
+ Parameter { name: "enabled"; type: "bool" }
+ }
+ Signal {
+ name: "radialLabelOffsetChanged"
+ revision: 2
+ Parameter { name: "offset"; type: "float" }
+ }
+ Signal {
+ name: "horizontalAspectRatioChanged"
+ revision: 2
+ Parameter { name: "ratio"; type: "double" }
+ }
+ Signal {
+ name: "reflectionChanged"
+ revision: 2
+ Parameter { name: "enabled"; type: "bool" }
+ }
+ Signal {
+ name: "reflectivityChanged"
+ revision: 2
+ Parameter { name: "reflectivity"; type: "double" }
+ }
+ Signal {
+ name: "localeChanged"
+ revision: 2
+ Parameter { name: "locale"; type: "QLocale" }
+ }
+ Signal {
+ name: "queriedGraphPositionChanged"
+ revision: 2
+ Parameter { name: "data"; type: "QVector3D" }
+ }
+ Signal {
+ name: "marginChanged"
+ revision: 2
+ Parameter { name: "margin"; type: "double" }
+ }
Method {
name: "handleAxisXChanged"
Parameter { name: "axis"; type: "QAbstract3DAxis"; isPointer: true }
@@ -191,6 +240,7 @@ Module {
name: "windowDestroyed"
Parameter { name: "obj"; type: "QObject"; isPointer: true }
}
+ Method { name: "destroyContext" }
Method { name: "clearSelection" }
Method {
name: "addCustomItem"
@@ -247,9 +297,12 @@ Module {
Component {
name: "QtDataVisualization::Declarative3DScene"
prototype: "QtDataVisualization::Q3DScene"
- exports: ["QtDataVisualization/Scene3D 1.0"]
+ exports: [
+ "QtDataVisualization/Scene3D 1.0",
+ "QtDataVisualization/Scene3D 1.2"
+ ]
isCreatable: false
- exportMetaObjectRevisions: [0]
+ exportMetaObjectRevisions: [0, 1]
Property { name: "selectionQueryPosition"; type: "QPointF" }
Property { name: "invalidSelectionPoint"; type: "QPoint"; isReadonly: true }
Signal {
@@ -293,18 +346,22 @@ Module {
name: "QtDataVisualization::DeclarativeBars"
defaultProperty: "seriesList"
prototype: "QtDataVisualization::AbstractDeclarative"
- exports: ["QtDataVisualization/Bars3D 1.0"]
- exportMetaObjectRevisions: [0]
+ exports: [
+ "QtDataVisualization/Bars3D 1.0",
+ "QtDataVisualization/Bars3D 1.2"
+ ]
+ exportMetaObjectRevisions: [0, 1]
Property { name: "rowAxis"; type: "QCategory3DAxis"; isPointer: true }
Property { name: "valueAxis"; type: "QValue3DAxis"; isPointer: true }
Property { name: "columnAxis"; type: "QCategory3DAxis"; isPointer: true }
Property { name: "multiSeriesUniform"; type: "bool" }
- Property { name: "barThickness"; type: "double" }
+ Property { name: "barThickness"; type: "float" }
Property { name: "barSpacing"; type: "QSizeF" }
Property { name: "barSpacingRelative"; type: "bool" }
Property { name: "seriesList"; type: "QBar3DSeries"; isList: true; isReadonly: true }
Property { name: "selectedSeries"; type: "QBar3DSeries"; isReadonly: true; isPointer: true }
Property { name: "primarySeries"; type: "QBar3DSeries"; isPointer: true }
+ Property { name: "floorLevel"; revision: 1; type: "float" }
Signal {
name: "rowAxisChanged"
Parameter { name: "axis"; type: "QCategory3DAxis"; isPointer: true }
@@ -323,7 +380,7 @@ Module {
}
Signal {
name: "barThicknessChanged"
- Parameter { name: "thicknessRatio"; type: "double" }
+ Parameter { name: "thicknessRatio"; type: "float" }
}
Signal {
name: "barSpacingChanged"
@@ -345,6 +402,11 @@ Module {
name: "selectedSeriesChanged"
Parameter { name: "series"; type: "QBar3DSeries"; isPointer: true }
}
+ Signal {
+ name: "floorLevelChanged"
+ revision: 1
+ Parameter { name: "level"; type: "float" }
+ }
Method {
name: "handleAxisXChanged"
Parameter { name: "axis"; type: "QAbstract3DAxis"; isPointer: true }
@@ -461,13 +523,17 @@ Module {
name: "QtDataVisualization::DeclarativeSurface"
defaultProperty: "seriesList"
prototype: "QtDataVisualization::AbstractDeclarative"
- exports: ["QtDataVisualization/Surface3D 1.0"]
- exportMetaObjectRevisions: [0]
+ exports: [
+ "QtDataVisualization/Surface3D 1.0",
+ "QtDataVisualization/Surface3D 1.2"
+ ]
+ exportMetaObjectRevisions: [0, 1]
Property { name: "axisX"; type: "QValue3DAxis"; isPointer: true }
Property { name: "axisY"; type: "QValue3DAxis"; isPointer: true }
Property { name: "axisZ"; type: "QValue3DAxis"; isPointer: true }
Property { name: "selectedSeries"; type: "QSurface3DSeries"; isReadonly: true; isPointer: true }
Property { name: "seriesList"; type: "QSurface3DSeries"; isList: true; isReadonly: true }
+ Property { name: "flipHorizontalGrid"; revision: 1; type: "bool" }
Signal {
name: "axisXChanged"
Parameter { name: "axis"; type: "QValue3DAxis"; isPointer: true }
@@ -484,6 +550,11 @@ Module {
name: "selectedSeriesChanged"
Parameter { name: "series"; type: "QSurface3DSeries"; isPointer: true }
}
+ Signal {
+ name: "flipHorizontalGridChanged"
+ revision: 1
+ Parameter { name: "flip"; type: "bool" }
+ }
Method {
name: "handleAxisXChanged"
Parameter { name: "axis"; type: "QAbstract3DAxis"; isPointer: true }
@@ -560,8 +631,11 @@ Module {
Component {
name: "QtDataVisualization::Q3DCamera"
prototype: "QtDataVisualization::Q3DObject"
- exports: ["QtDataVisualization/Camera3D 1.0"]
- exportMetaObjectRevisions: [0]
+ exports: [
+ "QtDataVisualization/Camera3D 1.0",
+ "QtDataVisualization/Camera3D 1.2"
+ ]
+ exportMetaObjectRevisions: [0, 1]
Enum {
name: "CameraPreset"
values: {
@@ -592,23 +666,26 @@ Module {
"CameraPresetDirectlyBelow": 23
}
}
- Property { name: "xRotation"; type: "double" }
- Property { name: "yRotation"; type: "double" }
- Property { name: "zoomLevel"; type: "double" }
+ Property { name: "xRotation"; type: "float" }
+ Property { name: "yRotation"; type: "float" }
+ Property { name: "zoomLevel"; type: "float" }
Property { name: "cameraPreset"; type: "CameraPreset" }
Property { name: "wrapXRotation"; type: "bool" }
Property { name: "wrapYRotation"; type: "bool" }
+ Property { name: "target"; revision: 1; type: "QVector3D" }
+ Property { name: "minZoomLevel"; revision: 1; type: "float" }
+ Property { name: "maxZoomLevel"; revision: 1; type: "float" }
Signal {
name: "xRotationChanged"
- Parameter { name: "rotation"; type: "double" }
+ Parameter { name: "rotation"; type: "float" }
}
Signal {
name: "yRotationChanged"
- Parameter { name: "rotation"; type: "double" }
+ Parameter { name: "rotation"; type: "float" }
}
Signal {
name: "zoomLevelChanged"
- Parameter { name: "zoomLevel"; type: "double" }
+ Parameter { name: "zoomLevel"; type: "float" }
}
Signal {
name: "cameraPresetChanged"
@@ -622,10 +699,47 @@ Module {
name: "wrapYRotationChanged"
Parameter { name: "isEnabled"; type: "bool" }
}
+ Signal {
+ name: "targetChanged"
+ revision: 1
+ Parameter { name: "target"; type: "QVector3D" }
+ }
+ Signal {
+ name: "minZoomLevelChanged"
+ revision: 1
+ Parameter { name: "zoomLevel"; type: "float" }
+ }
+ Signal {
+ name: "maxZoomLevelChanged"
+ revision: 1
+ Parameter { name: "zoomLevel"; type: "float" }
+ }
}
Component {
name: "QtDataVisualization::Q3DInputHandler"
prototype: "QtDataVisualization::QAbstract3DInputHandler"
+ exports: ["QtDataVisualization/InputHandler3D 1.2"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "rotationEnabled"; type: "bool" }
+ Property { name: "zoomEnabled"; type: "bool" }
+ Property { name: "selectionEnabled"; type: "bool" }
+ Property { name: "zoomAtTargetEnabled"; type: "bool" }
+ Signal {
+ name: "rotationEnabledChanged"
+ Parameter { name: "enable"; type: "bool" }
+ }
+ Signal {
+ name: "zoomEnabledChanged"
+ Parameter { name: "enable"; type: "bool" }
+ }
+ Signal {
+ name: "selectionEnabledChanged"
+ Parameter { name: "enable"; type: "bool" }
+ }
+ Signal {
+ name: "zoomAtTargetEnabledChanged"
+ Parameter { name: "enable"; type: "bool" }
+ }
}
Component {
name: "QtDataVisualization::Q3DLight"
@@ -654,7 +768,8 @@ Module {
Property { name: "slicingActive"; type: "bool" }
Property { name: "activeCamera"; type: "Q3DCamera"; isPointer: true }
Property { name: "activeLight"; type: "Q3DLight"; isPointer: true }
- Property { name: "devicePixelRatio"; type: "double" }
+ Property { name: "devicePixelRatio"; type: "float" }
+ Property { name: "graphPositionQuery"; revision: 1; type: "QPoint" }
Signal {
name: "viewportChanged"
Parameter { name: "viewport"; type: "QRect" }
@@ -685,12 +800,17 @@ Module {
}
Signal {
name: "devicePixelRatioChanged"
- Parameter { name: "pixelRatio"; type: "double" }
+ Parameter { name: "pixelRatio"; type: "float" }
}
Signal {
name: "selectionQueryPositionChanged"
Parameter { name: "position"; type: "QPoint" }
}
+ Signal {
+ name: "graphPositionQueryChanged"
+ revision: 1
+ Parameter { name: "position"; type: "QPoint" }
+ }
}
Component {
name: "QtDataVisualization::Q3DTheme"
@@ -733,9 +853,9 @@ Module {
Property { name: "baseGradients"; type: "QList<QLinearGradient>" }
Property { name: "singleHighlightGradient"; type: "QLinearGradient" }
Property { name: "multiHighlightGradient"; type: "QLinearGradient" }
- Property { name: "lightStrength"; type: "double" }
- Property { name: "ambientLightStrength"; type: "double" }
- Property { name: "highlightLightStrength"; type: "double" }
+ Property { name: "lightStrength"; type: "float" }
+ Property { name: "ambientLightStrength"; type: "float" }
+ Property { name: "highlightLightStrength"; type: "float" }
Property { name: "labelBorderEnabled"; type: "bool" }
Property { name: "font"; type: "QFont" }
Property { name: "backgroundEnabled"; type: "bool" }
@@ -796,15 +916,15 @@ Module {
}
Signal {
name: "lightStrengthChanged"
- Parameter { name: "strength"; type: "double" }
+ Parameter { name: "strength"; type: "float" }
}
Signal {
name: "ambientLightStrengthChanged"
- Parameter { name: "strength"; type: "double" }
+ Parameter { name: "strength"; type: "float" }
}
Signal {
name: "highlightLightStrengthChanged"
- Parameter { name: "strength"; type: "double" }
+ Parameter { name: "strength"; type: "float" }
}
Signal {
name: "labelBorderEnabledChanged"
@@ -861,10 +981,10 @@ Module {
Property { name: "labels"; type: "QStringList" }
Property { name: "orientation"; type: "AxisOrientation"; isReadonly: true }
Property { name: "type"; type: "AxisType"; isReadonly: true }
- Property { name: "min"; type: "double" }
- Property { name: "max"; type: "double" }
+ Property { name: "min"; type: "float" }
+ Property { name: "max"; type: "float" }
Property { name: "autoAdjustRange"; type: "bool" }
- Property { name: "labelAutoRotation"; revision: 1; type: "double" }
+ Property { name: "labelAutoRotation"; revision: 1; type: "float" }
Property { name: "titleVisible"; revision: 1; type: "bool" }
Property { name: "titleFixed"; revision: 1; type: "bool" }
Signal {
@@ -877,16 +997,16 @@ Module {
}
Signal {
name: "minChanged"
- Parameter { name: "value"; type: "double" }
+ Parameter { name: "value"; type: "float" }
}
Signal {
name: "maxChanged"
- Parameter { name: "value"; type: "double" }
+ Parameter { name: "value"; type: "float" }
}
Signal {
name: "rangeChanged"
- Parameter { name: "min"; type: "double" }
- Parameter { name: "max"; type: "double" }
+ Parameter { name: "min"; type: "float" }
+ Parameter { name: "max"; type: "float" }
}
Signal {
name: "autoAdjustRangeChanged"
@@ -895,7 +1015,7 @@ Module {
Signal {
name: "labelAutoRotationChanged"
revision: 1
- Parameter { name: "angle"; type: "double" }
+ Parameter { name: "angle"; type: "float" }
}
Signal {
name: "titleVisibilityChanged"
@@ -1059,7 +1179,7 @@ Module {
Method {
name: "setMeshAxisAndAngle"
Parameter { name: "axis"; type: "QVector3D" }
- Parameter { name: "angle"; type: "double" }
+ Parameter { name: "angle"; type: "float" }
}
}
Component {
@@ -1087,7 +1207,7 @@ Module {
exportMetaObjectRevisions: [0]
Property { name: "dataProxy"; type: "QBarDataProxy"; isPointer: true }
Property { name: "selectedBar"; type: "QPoint" }
- Property { name: "meshAngle"; type: "double" }
+ Property { name: "meshAngle"; type: "float" }
Signal {
name: "dataProxyChanged"
Parameter { name: "proxy"; type: "QBarDataProxy"; isPointer: true }
@@ -1098,7 +1218,7 @@ Module {
}
Signal {
name: "meshAngleChanged"
- Parameter { name: "angle"; type: "double" }
+ Parameter { name: "angle"; type: "float" }
}
}
Component {
@@ -1156,8 +1276,11 @@ Module {
Component {
name: "QtDataVisualization::QCustom3DItem"
prototype: "QObject"
- exports: ["QtDataVisualization/Custom3DItem 1.1"]
- exportMetaObjectRevisions: [0]
+ exports: [
+ "QtDataVisualization/Custom3DItem 1.1",
+ "QtDataVisualization/Custom3DItem 1.2"
+ ]
+ exportMetaObjectRevisions: [0, 1]
Property { name: "meshFile"; type: "string" }
Property { name: "textureFile"; type: "string" }
Property { name: "position"; type: "QVector3D" }
@@ -1166,6 +1289,7 @@ Module {
Property { name: "rotation"; type: "QQuaternion" }
Property { name: "visible"; type: "bool" }
Property { name: "shadowCasting"; type: "bool" }
+ Property { name: "scalingAbsolute"; revision: 1; type: "bool" }
Signal {
name: "meshFileChanged"
Parameter { name: "meshFile"; type: "string" }
@@ -1198,10 +1322,15 @@ Module {
name: "shadowCastingChanged"
Parameter { name: "shadowCasting"; type: "bool" }
}
+ Signal {
+ name: "scalingAbsoluteChanged"
+ revision: 1
+ Parameter { name: "scalingAbsolute"; type: "bool" }
+ }
Method {
name: "setRotationAxisAndAngle"
Parameter { name: "axis"; type: "QVector3D" }
- Parameter { name: "angle"; type: "double" }
+ Parameter { name: "angle"; type: "float" }
}
}
Component {
@@ -1246,16 +1375,107 @@ Module {
}
}
Component {
+ name: "QtDataVisualization::QCustom3DVolume"
+ prototype: "QtDataVisualization::QCustom3DItem"
+ exports: ["QtDataVisualization/Custom3DVolume 1.2"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "textureWidth"; type: "int" }
+ Property { name: "textureHeight"; type: "int" }
+ Property { name: "textureDepth"; type: "int" }
+ Property { name: "sliceIndexX"; type: "int" }
+ Property { name: "sliceIndexY"; type: "int" }
+ Property { name: "sliceIndexZ"; type: "int" }
+ Property { name: "colorTable"; type: "QVector<QRgb>" }
+ Property { name: "textureData"; type: "QVector<uchar>"; isPointer: true }
+ Property { name: "alphaMultiplier"; type: "float" }
+ Property { name: "preserveOpacity"; type: "bool" }
+ Property { name: "useHighDefShader"; type: "bool" }
+ Property { name: "drawSlices"; type: "bool" }
+ Property { name: "drawSliceFrames"; type: "bool" }
+ Property { name: "sliceFrameColor"; type: "QColor" }
+ Property { name: "sliceFrameWidths"; type: "QVector3D" }
+ Property { name: "sliceFrameGaps"; type: "QVector3D" }
+ Property { name: "sliceFrameThicknesses"; type: "QVector3D" }
+ Signal {
+ name: "textureWidthChanged"
+ Parameter { name: "value"; type: "int" }
+ }
+ Signal {
+ name: "textureHeightChanged"
+ Parameter { name: "value"; type: "int" }
+ }
+ Signal {
+ name: "textureDepthChanged"
+ Parameter { name: "value"; type: "int" }
+ }
+ Signal {
+ name: "sliceIndexXChanged"
+ Parameter { name: "value"; type: "int" }
+ }
+ Signal {
+ name: "sliceIndexYChanged"
+ Parameter { name: "value"; type: "int" }
+ }
+ Signal {
+ name: "sliceIndexZChanged"
+ Parameter { name: "value"; type: "int" }
+ }
+ Signal {
+ name: "textureDataChanged"
+ Parameter { name: "data"; type: "QVector<uchar>"; isPointer: true }
+ }
+ Signal {
+ name: "textureFormatChanged"
+ Parameter { name: "format"; type: "QImage::Format" }
+ }
+ Signal {
+ name: "alphaMultiplierChanged"
+ Parameter { name: "mult"; type: "float" }
+ }
+ Signal {
+ name: "preserveOpacityChanged"
+ Parameter { name: "enabled"; type: "bool" }
+ }
+ Signal {
+ name: "useHighDefShaderChanged"
+ Parameter { name: "enabled"; type: "bool" }
+ }
+ Signal {
+ name: "drawSlicesChanged"
+ Parameter { name: "enabled"; type: "bool" }
+ }
+ Signal {
+ name: "drawSliceFramesChanged"
+ Parameter { name: "enabled"; type: "bool" }
+ }
+ Signal {
+ name: "sliceFrameColorChanged"
+ Parameter { name: "color"; type: "QColor" }
+ }
+ Signal {
+ name: "sliceFrameWidthsChanged"
+ Parameter { name: "values"; type: "QVector3D" }
+ }
+ Signal {
+ name: "sliceFrameGapsChanged"
+ Parameter { name: "values"; type: "QVector3D" }
+ }
+ Signal {
+ name: "sliceFrameThicknessesChanged"
+ Parameter { name: "values"; type: "QVector3D" }
+ }
+ }
+ Component {
name: "QtDataVisualization::QHeightMapSurfaceDataProxy"
prototype: "QtDataVisualization::QSurfaceDataProxy"
exports: ["QtDataVisualization/HeightMapSurfaceDataProxy 1.0"]
exportMetaObjectRevisions: [0]
Property { name: "heightMap"; type: "QImage" }
Property { name: "heightMapFile"; type: "string" }
- Property { name: "minXValue"; type: "double" }
- Property { name: "maxXValue"; type: "double" }
- Property { name: "minZValue"; type: "double" }
- Property { name: "maxZValue"; type: "double" }
+ Property { name: "minXValue"; type: "float" }
+ Property { name: "maxXValue"; type: "float" }
+ Property { name: "minZValue"; type: "float" }
+ Property { name: "maxZValue"; type: "float" }
Signal {
name: "heightMapChanged"
Parameter { name: "image"; type: "QImage" }
@@ -1266,19 +1486,19 @@ Module {
}
Signal {
name: "minXValueChanged"
- Parameter { name: "value"; type: "double" }
+ Parameter { name: "value"; type: "float" }
}
Signal {
name: "maxXValueChanged"
- Parameter { name: "value"; type: "double" }
+ Parameter { name: "value"; type: "float" }
}
Signal {
name: "minZValueChanged"
- Parameter { name: "value"; type: "double" }
+ Parameter { name: "value"; type: "float" }
}
Signal {
name: "maxZValueChanged"
- Parameter { name: "value"; type: "double" }
+ Parameter { name: "value"; type: "float" }
}
}
Component {
@@ -1657,7 +1877,7 @@ Module {
exportMetaObjectRevisions: [0]
Property { name: "dataProxy"; type: "QScatterDataProxy"; isPointer: true }
Property { name: "selectedItem"; type: "int" }
- Property { name: "itemSize"; type: "double" }
+ Property { name: "itemSize"; type: "float" }
Signal {
name: "dataProxyChanged"
Parameter { name: "proxy"; type: "QScatterDataProxy"; isPointer: true }
@@ -1668,7 +1888,7 @@ Module {
}
Signal {
name: "itemSizeChanged"
- Parameter { name: "size"; type: "double" }
+ Parameter { name: "size"; type: "float" }
}
}
Component {
@@ -1736,6 +1956,8 @@ Module {
Property { name: "flatShadingEnabled"; type: "bool" }
Property { name: "flatShadingSupported"; type: "bool"; isReadonly: true }
Property { name: "drawMode"; type: "DrawFlags" }
+ Property { name: "texture"; type: "QImage" }
+ Property { name: "textureFile"; type: "string" }
Signal {
name: "dataProxyChanged"
Parameter { name: "proxy"; type: "QSurfaceDataProxy"; isPointer: true }
@@ -1756,6 +1978,14 @@ Module {
name: "drawModeChanged"
Parameter { name: "mode"; type: "QSurface3DSeries::DrawFlags" }
}
+ Signal {
+ name: "textureChanged"
+ Parameter { name: "image"; type: "QImage" }
+ }
+ Signal {
+ name: "textureFileChanged"
+ Parameter { name: "filename"; type: "string" }
+ }
}
Component {
name: "QtDataVisualization::QSurfaceDataProxy"
@@ -1808,6 +2038,8 @@ Module {
Component {
name: "QtDataVisualization::QTouch3DInputHandler"
prototype: "QtDataVisualization::Q3DInputHandler"
+ exports: ["QtDataVisualization/TouchInputHandler3D 1.2"]
+ exportMetaObjectRevisions: [0]
}
Component {
name: "QtDataVisualization::QValue3DAxis"