summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/abstract3dcontroller.cpp
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2014-04-16 12:25:14 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2014-04-16 12:26:06 +0300
commitbf8ed99fb5a474aa6a56d61c9e3a1b5e44d6b6cf (patch)
treebf0e9956fbad9c689e58f4c33eafbd286185a587 /src/datavisualization/engine/abstract3dcontroller.cpp
parenta30c0c304e55ffe30545ab0838e4dbe11a99b8da (diff)
Add custom item support, part 2
Task-number: QTRD-2866 + Added custom item rendering Change-Id: If24400fed7c0467d8ebbd554d6e4df3ec5a205f3 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/abstract3dcontroller.cpp')
-rw-r--r--src/datavisualization/engine/abstract3dcontroller.cpp26
1 files changed, 22 insertions, 4 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp
index e10069ff..4c66ad76 100644
--- a/src/datavisualization/engine/abstract3dcontroller.cpp
+++ b/src/datavisualization/engine/abstract3dcontroller.cpp
@@ -841,10 +841,28 @@ int Abstract3DController::addCustomItem(const QString &meshFile, const QVector3D
void Abstract3DController::deleteCustomItem(int index)
{
- delete m_customItems[index];
- m_customItems.removeAt(index);
- m_isCustomDataDirty = true;
- emitNeedRender();
+ if (m_customItems.size() > index) {
+ delete m_customItems[index];
+ m_customItems.removeAt(index);
+ m_isCustomDataDirty = true;
+ emitNeedRender();
+ }
+}
+
+void Abstract3DController::deleteCustomItem(const QVector3D &position)
+{
+ int index = -1;
+ int counter = 0;
+ // Get the index for the item at position
+ foreach (CustomDataItem *item, m_customItems) {
+ if (item->position() == position) {
+ index = counter;
+ break;
+ }
+ counter++;
+ }
+ if (index >= 0)
+ deleteCustomItem(index);
}
void Abstract3DController::handleAxisTitleChanged(const QString &title)