summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/data/qscatter3dseries.cpp
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-12-04 06:47:31 +0200
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-12-04 08:12:42 +0200
commitf272b13f025897e157480b9bc3e5b6f1163c6125 (patch)
tree7d5637ce1d88b0ba621fbeaeef93f21939c0f533 /src/datavisualization/data/qscatter3dseries.cpp
parent344870fb79e647b87aa79b9433eef8237c901e10 (diff)
Item size per series for scatter
Task-number: QTRD-2568 Change-Id: Ic137185304a5cc5ad16699cbb127035db86196cb Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualization/data/qscatter3dseries.cpp')
-rw-r--r--src/datavisualization/data/qscatter3dseries.cpp40
1 files changed, 39 insertions, 1 deletions
diff --git a/src/datavisualization/data/qscatter3dseries.cpp b/src/datavisualization/data/qscatter3dseries.cpp
index 25e32ffe..4c2f368a 100644
--- a/src/datavisualization/data/qscatter3dseries.cpp
+++ b/src/datavisualization/data/qscatter3dseries.cpp
@@ -95,6 +95,14 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
*/
/*!
+ * \qmlproperty float Scatter3DSeries::itemSize
+ *
+ * Set item size for the series. Size must be between 0.0 and 1.0. Setting the size to 0.0
+ * causes item size to be automatically scaled based on combined item count in all the series for
+ * the graph. Preset default is \c 0.0.
+ */
+
+/*!
* \qmlmethod int Scatter3DSeries::invalidSelectionIndex()
* \return an invalid index for selection. Set this index to selectedItem property if you
* want to clear the selection.
@@ -176,6 +184,28 @@ int QScatter3DSeries::selectedItem() const
}
/*!
+ * \property QScatter3DSeries::selectedItem
+ *
+ * Set item \a size for the series. Size must be between 0.0f and 1.0f. Setting the size to 0.0f
+ * causes item size to be automatically scaled based on combined item count in all the series for
+ * the graph. Preset default is \c 0.0f.
+ */
+void QScatter3DSeries::setItemSize(float size)
+{
+ if (size < 0.0f || size > 1.0f) {
+ qWarning("Invalid size. Valid range for itemSize is 0.0f...1.0f");
+ } else if (size != dptr()->m_itemSize) {
+ dptr()->setItemSize(size);
+ emit itemSizeChanged(size);
+ }
+}
+
+float QScatter3DSeries::itemSize() const
+{
+ return dptrc()->m_itemSize;
+}
+
+/*!
* \return an invalid index for selection. Set this index to selectedItem property if you
* want to clear the selection.
*/
@@ -204,7 +234,8 @@ const QScatter3DSeriesPrivate *QScatter3DSeries::dptrc() const
QScatter3DSeriesPrivate::QScatter3DSeriesPrivate(QScatter3DSeries *q)
: QAbstract3DSeriesPrivate(q, QAbstract3DSeries::SeriesTypeScatter),
- m_selectedItem(Scatter3DController::invalidSelectionIndex())
+ m_selectedItem(Scatter3DController::invalidSelectionIndex()),
+ m_itemSize(0.0f)
{
m_itemLabelFormat = QStringLiteral("@valueTitle: @valueLabel");
m_mesh = QAbstract3DSeries::MeshSphere;
@@ -261,4 +292,11 @@ void QScatter3DSeriesPrivate::setSelectedItem(int index)
}
}
+void QScatter3DSeriesPrivate::setItemSize(float size)
+{
+ m_itemSize = size;
+ if (m_controller)
+ m_controller->markSeriesVisualsDirty();
+}
+
QT_DATAVISUALIZATION_END_NAMESPACE