From 53d7d62759129dd3087c6522ff35b4b868c514e1 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Wed, 20 Mar 2013 15:11:27 +0100 Subject: [PATCH] Made adding of objects more robust p4#: 21009 --- .../ProjectDataModel/RimUiTreeModelPdm.cpp | 12 ++++++++---- ApplicationCode/UserInterface/RIMainWindow.cpp | 11 +++++++++++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/ApplicationCode/ProjectDataModel/RimUiTreeModelPdm.cpp b/ApplicationCode/ProjectDataModel/RimUiTreeModelPdm.cpp index 3385dc91a8..6516d59714 100644 --- a/ApplicationCode/ProjectDataModel/RimUiTreeModelPdm.cpp +++ b/ApplicationCode/ProjectDataModel/RimUiTreeModelPdm.cpp @@ -567,22 +567,26 @@ void RimUiTreeModelPdm::addObjects(const QModelIndex& itemIndex, caf::PdmObjectG else if (dynamic_cast(currentItem->dataObject().p())) { caseCollection = dynamic_cast(currentItem->dataObject().p()); + CVF_ASSERT(caseCollection); + gridCaseGroup = caseCollection->parentCaseGroup(); } else if (dynamic_cast(currentItem->dataObject().p())) { RimReservoir* rimReservoir = dynamic_cast(currentItem->dataObject().p()); + CVF_ASSERT(rimReservoir); + caseCollection = rimReservoir->parentCaseCollection(); - gridCaseGroup = caseCollection->parentCaseGroup(); + if (caseCollection) + { + gridCaseGroup = caseCollection->parentCaseGroup(); + } } else { return; } - CVF_ASSERT(caseCollection); - CVF_ASSERT(gridCaseGroup); - if (gridCaseGroup) { std::vector > typedObjects; diff --git a/ApplicationCode/UserInterface/RIMainWindow.cpp b/ApplicationCode/UserInterface/RIMainWindow.cpp index 961eafb423..486696f477 100644 --- a/ApplicationCode/UserInterface/RIMainWindow.cpp +++ b/ApplicationCode/UserInterface/RIMainWindow.cpp @@ -375,6 +375,17 @@ void RIMainWindow::createDockPanels() m_treeView = new RimUiTreeView(dockWidget); m_treeView->setModel(m_treeModelPdm); + m_treeView->setSelectionMode(QAbstractItemView::ExtendedSelection); + + // Must be enabled for drag and drop + /* + m_treeView->setSelectionMode(QAbstractItemView::SingleSelection); + m_treeView->setDragEnabled(true); + m_treeView->viewport()->setAcceptDrops(true); + m_treeView->setDropIndicatorShown(true); + m_treeView->setDragDropMode(QAbstractItemView::InternalMove); + */ + dockWidget->setWidget(m_treeView);