diff options
Diffstat (limited to 'src/datavisualizationqml2')
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" |