diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-04-16 12:25:14 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-04-16 12:26:06 +0300 |
commit | bf8ed99fb5a474aa6a56d61c9e3a1b5e44d6b6cf (patch) | |
tree | bf0e9956fbad9c689e58f4c33eafbd286185a587 /src/datavisualization/engine/abstract3dcontroller.cpp | |
parent | a30c0c304e55ffe30545ab0838e4dbe11a99b8da (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.cpp | 26 |
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) |