summaryrefslogtreecommitdiffstats
path: root/src/datavisualizationqml2
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualizationqml2')
-rw-r--r--src/datavisualizationqml2/declarativebars.cpp12
-rw-r--r--src/datavisualizationqml2/declarativebars_p.h5
-rw-r--r--src/datavisualizationqml2/declarativeseries.cpp12
-rw-r--r--src/datavisualizationqml2/declarativeseries_p.h9
4 files changed, 21 insertions, 17 deletions
diff --git a/src/datavisualizationqml2/declarativebars.cpp b/src/datavisualizationqml2/declarativebars.cpp
index cf74d444..55c02cce 100644
--- a/src/datavisualizationqml2/declarativebars.cpp
+++ b/src/datavisualizationqml2/declarativebars.cpp
@@ -41,8 +41,6 @@ DeclarativeBars::DeclarativeBars(QQuickItem *parent)
// Create the shared component on the main GUI thread.
m_shared = new Bars3DController(boundingRect().toRect());
AbstractDeclarative::setSharedController(m_shared);
- QObject::connect(m_shared, &Bars3DController::selectedBarChanged, this,
- &DeclarativeBars::selectedBarChanged);
QObject::connect(m_shared, &Abstract3DController::meshFileNameChanged, this,
&DeclarativeBars::meshFileNameChanged);
}
@@ -198,16 +196,6 @@ QString DeclarativeBars::meshFileName() const
return m_shared->meshFileName();
}
-void DeclarativeBars::setSelectedBar(const QPointF &position)
-{
- m_shared->setSelectedBar(position.toPoint());
-}
-
-QPointF DeclarativeBars::selectedBar() const
-{
- return QPointF(m_shared->selectedBar());
-}
-
QQmlListProperty<QBar3DSeries> DeclarativeBars::seriesList()
{
return QQmlListProperty<QBar3DSeries>(this, this,
diff --git a/src/datavisualizationqml2/declarativebars_p.h b/src/datavisualizationqml2/declarativebars_p.h
index a54e5ff7..86cd993e 100644
--- a/src/datavisualizationqml2/declarativebars_p.h
+++ b/src/datavisualizationqml2/declarativebars_p.h
@@ -57,7 +57,6 @@ class DeclarativeBars : public AbstractDeclarative
Q_PROPERTY(bool barSpacingRelative READ isBarSpacingRelative WRITE setBarSpacingRelative NOTIFY barSpacingRelativeChanged)
Q_PROPERTY(bool barSmoothingEnabled READ isBarSmoothingEnabled WRITE setBarSmoothingEnabled NOTIFY meshFileNameChanged)
Q_PROPERTY(QString meshFileName READ meshFileName WRITE setMeshFileName NOTIFY meshFileNameChanged)
- Q_PROPERTY(QPointF selectedBar READ selectedBar WRITE setSelectedBar NOTIFY selectedBarChanged)
Q_PROPERTY(QQmlListProperty<QBar3DSeries> seriesList READ seriesList)
Q_CLASSINFO("DefaultProperty", "seriesList")
@@ -92,9 +91,6 @@ public:
void setMeshFileName(const QString &objFileName);
QString meshFileName() const;
- void setSelectedBar(const QPointF &position);
- QPointF selectedBar() const;
-
QQmlListProperty<QBar3DSeries> seriesList();
static void appendSeriesFunc(QQmlListProperty<QBar3DSeries> *list, QBar3DSeries *series);
static int countSeriesFunc(QQmlListProperty<QBar3DSeries> *list);
@@ -104,7 +100,6 @@ public:
Q_INVOKABLE void removeSeries(QBar3DSeries *series);
signals:
- void selectedBarChanged(const QPointF &position);
void barThicknessChanged(qreal thicknessRatio);
void barSpacingChanged(QSizeF spacing);
void barSpacingRelativeChanged(bool relative);
diff --git a/src/datavisualizationqml2/declarativeseries.cpp b/src/datavisualizationqml2/declarativeseries.cpp
index 81bbb649..8b7c0584 100644
--- a/src/datavisualizationqml2/declarativeseries.cpp
+++ b/src/datavisualizationqml2/declarativeseries.cpp
@@ -26,6 +26,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
DeclarativeBar3DSeries::DeclarativeBar3DSeries(QObject *parent)
: QBar3DSeries(parent)
{
+ QObject::connect(this, &QBar3DSeries::selectedBarChanged, this,
+ &DeclarativeBar3DSeries::selectedBarChanged);
}
DeclarativeBar3DSeries::~DeclarativeBar3DSeries()
@@ -45,6 +47,16 @@ void DeclarativeBar3DSeries::appendSeriesChildren(QQmlListProperty<QObject> *lis
reinterpret_cast<DeclarativeBar3DSeries *>(list->data)->setDataProxy(proxy);
}
+void DeclarativeBar3DSeries::setSelectedBar(const QPointF &position)
+{
+ QBar3DSeries::setSelectedBar(position.toPoint());
+}
+
+QPointF DeclarativeBar3DSeries::selectedBar() const
+{
+ return QBar3DSeries::selectedBar();
+}
+
DeclarativeScatter3DSeries::DeclarativeScatter3DSeries(QObject *parent)
: QScatter3DSeries(parent)
{
diff --git a/src/datavisualizationqml2/declarativeseries_p.h b/src/datavisualizationqml2/declarativeseries_p.h
index cb6b76c2..ac45ec3e 100644
--- a/src/datavisualizationqml2/declarativeseries_p.h
+++ b/src/datavisualizationqml2/declarativeseries_p.h
@@ -41,6 +41,9 @@ class DeclarativeBar3DSeries : public QBar3DSeries
{
Q_OBJECT
Q_PROPERTY(QQmlListProperty<QObject> seriesChildren READ seriesChildren)
+ // selectedBar property is overloaded to use QPointF instead of QPoint to work around qml bug
+ // where Qt.point(0, 0) can't be assigned due to error "Cannot assign QPointF to QPoint".
+ Q_PROPERTY(QPointF selectedBar READ selectedBar WRITE setSelectedBar NOTIFY selectedBarChanged)
Q_CLASSINFO("DefaultProperty", "seriesChildren")
public:
DeclarativeBar3DSeries(QObject *parent = 0);
@@ -48,6 +51,12 @@ public:
QQmlListProperty<QObject> seriesChildren();
static void appendSeriesChildren(QQmlListProperty<QObject> *list, QObject *element);
+
+ void setSelectedBar(const QPointF &position);
+ QPointF selectedBar() const;
+
+signals:
+ void selectedBarChanged(QPointF position);
};
class DeclarativeScatter3DSeries : public QScatter3DSeries