summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/abstract3dcontroller.cpp
diff options
context:
space:
mode:
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)