summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/data
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-02-04 14:48:34 +0200
committerTomi Korpipää <tomi.korpipaa@digia.com>2014-02-05 10:26:36 +0200
commit79f3a4d7aa2fcbdc5df133ede88a367aa5870bd3 (patch)
treea66a16e576a4918f20b1a388d8fd3c5150603e57 /src/datavisualization/data
parent81234154b77ad079999542a4dd4bee454c46fb26 (diff)
Add qmloscilloscope example
+Fix itemAt() in surface proxy +Add itemAt(QPoint) in bar and surface proxies +Misc fixes to other examples Task-number: QTRD-2816 Change-Id: I5e06cfce98f74719a20885e3ca5a1e6fefb23a9c Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/data')
-rw-r--r--src/datavisualization/data/qbardataproxy.cpp10
-rw-r--r--src/datavisualization/data/qbardataproxy.h1
-rw-r--r--src/datavisualization/data/qsurface3dseries.cpp2
-rw-r--r--src/datavisualization/data/qsurfacedataproxy.cpp32
-rw-r--r--src/datavisualization/data/qsurfacedataproxy.h3
5 files changed, 37 insertions, 11 deletions
diff --git a/src/datavisualization/data/qbardataproxy.cpp b/src/datavisualization/data/qbardataproxy.cpp
index a26e446e..4247e963 100644
--- a/src/datavisualization/data/qbardataproxy.cpp
+++ b/src/datavisualization/data/qbardataproxy.cpp
@@ -427,6 +427,16 @@ const QBarDataItem *QBarDataProxy::itemAt(int rowIndex, int columnIndex) const
}
/*!
+ * \return pointer to the item at \a position. The X-value of \a position indicates the row
+ * and the Y-value indicates the column. The item is guaranteed to be valid only
+ * until the next call that modifies data.
+ */
+const QBarDataItem *QBarDataProxy::itemAt(const QPoint &position) const
+{
+ return itemAt(position.x(), position.y());
+}
+
+/*!
* \internal
*/
QBarDataProxyPrivate *QBarDataProxy::dptr()
diff --git a/src/datavisualization/data/qbardataproxy.h b/src/datavisualization/data/qbardataproxy.h
index 0ad71365..780897e8 100644
--- a/src/datavisualization/data/qbardataproxy.h
+++ b/src/datavisualization/data/qbardataproxy.h
@@ -58,6 +58,7 @@ public:
const QBarDataArray *array() const;
const QBarDataRow *rowAt(int rowIndex) const;
const QBarDataItem *itemAt(int rowIndex, int columnIndex) const;
+ const QBarDataItem *itemAt(const QPoint &position) const;
void resetArray();
void resetArray(QBarDataArray *newArray);
diff --git a/src/datavisualization/data/qsurface3dseries.cpp b/src/datavisualization/data/qsurface3dseries.cpp
index e5f06cc6..b7e15014 100644
--- a/src/datavisualization/data/qsurface3dseries.cpp
+++ b/src/datavisualization/data/qsurface3dseries.cpp
@@ -221,7 +221,7 @@ void QSurface3DSeries::setSelectedPoint(const QPoint &position)
{
// Don't do this in private to avoid loops, as that is used for callback from controller.
if (d_ptr->m_controller)
- static_cast<Surface3DController *>(d_ptr->m_controller)->setSelectedPoint(position, this);
+ static_cast<Surface3DController *>(d_ptr->m_controller)->setSelectedPoint(position, this, true);
else
dptr()->setSelectedPoint(position);
}
diff --git a/src/datavisualization/data/qsurfacedataproxy.cpp b/src/datavisualization/data/qsurfacedataproxy.cpp
index 43ce40eb..b19f1f0a 100644
--- a/src/datavisualization/data/qsurfacedataproxy.cpp
+++ b/src/datavisualization/data/qsurfacedataproxy.cpp
@@ -259,6 +259,29 @@ const QSurfaceDataArray *QSurfaceDataProxy::array() const
}
/*!
+ * \return pointer to the item at \a rowIndex, \a columnIndex. It is guaranteed to be valid only
+ * until the next call that modifies data.
+ */
+const QSurfaceDataItem *QSurfaceDataProxy::itemAt(int rowIndex, int columnIndex) const
+{
+ const QSurfaceDataArray &dataArray = *dptrc()->m_dataArray;
+ Q_ASSERT(rowIndex >= 0 && rowIndex < dataArray.size());
+ const QSurfaceDataRow &dataRow = *dataArray[rowIndex];
+ Q_ASSERT(columnIndex >= 0 && columnIndex < dataRow.size());
+ return &dataRow.at(columnIndex);
+}
+
+/*!
+ * \return pointer to the item at \a position. The X-value of \a position indicates the row
+ * and the Y-value indicates the column. The item is guaranteed to be valid only
+ * until the next call that modifies data.
+ */
+const QSurfaceDataItem *QSurfaceDataProxy::itemAt(const QPoint &position) const
+{
+ return itemAt(position.x(), position.y());
+}
+
+/*!
* \property QSurfaceDataProxy::rowCount
*
* \return number of rows in the data.
@@ -282,15 +305,6 @@ int QSurfaceDataProxy::columnCount() const
}
/*!
- * \return pointer to the item at \a index. It is guaranteed to be valid only until the next call that
- * modifies data.
- */
-const QSurfaceDataItem *QSurfaceDataProxy::itemAt(int index) const
-{
- return &dptrc()->m_dataArray->at(index)->at(2);
-}
-
-/*!
* \internal
*/
QSurfaceDataProxyPrivate *QSurfaceDataProxy::dptr()
diff --git a/src/datavisualization/data/qsurfacedataproxy.h b/src/datavisualization/data/qsurfacedataproxy.h
index 0933faf6..9cfe3b77 100644
--- a/src/datavisualization/data/qsurfacedataproxy.h
+++ b/src/datavisualization/data/qsurfacedataproxy.h
@@ -49,7 +49,8 @@ public:
int rowCount() const;
int columnCount() const;
const QSurfaceDataArray *array() const;
- const QSurfaceDataItem *itemAt(int index) const;
+ const QSurfaceDataItem *itemAt(int rowIndex, int columnIndex) const;
+ const QSurfaceDataItem *itemAt(const QPoint &position) const;
void resetArray(QSurfaceDataArray *newArray);