//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- bool RimUiTreeModelPdm::deleteRangeFilter(const QModelIndex& itemIndex) { CVF_ASSERT(itemIndex.isValid()); caf::PdmUiTreeItem* uiItem = getTreeItemFromIndex(itemIndex); CVF_ASSERT(uiItem); RimCellRangeFilter* rangeFilter = dynamic_cast<RimCellRangeFilter*>(uiItem->dataObject().p()); CVF_ASSERT(rangeFilter); RimCellRangeFilterCollection* rangeFilterCollection = rangeFilter->parentContainer(); CVF_ASSERT(rangeFilterCollection); bool wasFilterActive = rangeFilter->active(); bool wasSomeFilterActive = rangeFilterCollection->hasActiveFilters(); // Remove Ui items pointing at the pdm object to delete removeRow(itemIndex.row(), itemIndex.parent()); rangeFilterCollection->remove(rangeFilter); delete rangeFilter; if (wasFilterActive) { rangeFilterCollection->reservoirView()->scheduleGeometryRegen(RivReservoirViewPartMgr::PROPERTY_FILTERED); } if (wasSomeFilterActive) { rangeFilterCollection->reservoirView()->createDisplayModelAndRedraw(); } return true; }