diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-02-04 14:48:34 +0200 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-02-05 10:26:36 +0200 |
commit | 79f3a4d7aa2fcbdc5df133ede88a367aa5870bd3 (patch) | |
tree | a66a16e576a4918f20b1a388d8fd3c5150603e57 /src/datavisualization/data | |
parent | 81234154b77ad079999542a4dd4bee454c46fb26 (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.cpp | 10 | ||||
-rw-r--r-- | src/datavisualization/data/qbardataproxy.h | 1 | ||||
-rw-r--r-- | src/datavisualization/data/qsurface3dseries.cpp | 2 | ||||
-rw-r--r-- | src/datavisualization/data/qsurfacedataproxy.cpp | 32 | ||||
-rw-r--r-- | src/datavisualization/data/qsurfacedataproxy.h | 3 |
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); |