diff --git a/ApplicationCode/Commands/RicDeleteItemFeature.cpp b/ApplicationCode/Commands/RicDeleteItemFeature.cpp index 980ee7d770..81da67bdb8 100644 --- a/ApplicationCode/Commands/RicDeleteItemFeature.cpp +++ b/ApplicationCode/Commands/RicDeleteItemFeature.cpp @@ -28,6 +28,7 @@ #include "RimEllipseFractureTemplate.h" #include "RimFormationNames.h" #include "RimFormationNamesCollection.h" +#include "RimStimPlanFractureTemplate.h" #include "RimGeoMechPropertyFilter.h" #include "RimGeoMechView.h" #include "RimIdenticalGridCaseGroup.h" @@ -83,6 +84,7 @@ bool isDeletable(PdmUiItem * uiItem) if (dynamic_cast(uiItem)) return true; if (dynamic_cast(uiItem)) return true; if (dynamic_cast(uiItem)) return true; + if (dynamic_cast(uiItem)) return true; if (dynamic_cast(uiItem)) return true; if (dynamic_cast(uiItem)) return true; diff --git a/ApplicationCode/Commands/RicFractureDefinitionsDeleteAllFeature.cpp b/ApplicationCode/Commands/RicFractureDefinitionsDeleteAllFeature.cpp index e858e585ad..1bd0489baf 100644 --- a/ApplicationCode/Commands/RicFractureDefinitionsDeleteAllFeature.cpp +++ b/ApplicationCode/Commands/RicFractureDefinitionsDeleteAllFeature.cpp @@ -19,7 +19,7 @@ #include "RicFractureDefinitionsDeleteAllFeature.h" -#include "RimFractureDefinitionCollection.h" +#include "RimFractureTemplateCollection.h" #include "cafSelectionManager.h" @@ -36,7 +36,7 @@ CAF_CMD_SOURCE_INIT(RicFractureDefinitionsDeleteAllFeature, "RicFractureDefiniti //-------------------------------------------------------------------------------------------------- bool RicFractureDefinitionsDeleteAllFeature::isCommandEnabled() { - std::vector objects; + std::vector objects; caf::SelectionManager::instance()->objectsByType(&objects); if (objects.size() == 1) @@ -52,10 +52,10 @@ bool RicFractureDefinitionsDeleteAllFeature::isCommandEnabled() //-------------------------------------------------------------------------------------------------- void RicFractureDefinitionsDeleteAllFeature::onActionTriggered(bool isChecked) { - std::vector objects; + std::vector objects; caf::SelectionManager::instance()->objectsByType(&objects); - RimFractureDefinitionCollection* fractureDefinitionCollection = nullptr; + RimFractureTemplateCollection* fractureDefinitionCollection = nullptr; if (objects.size() > 0) { fractureDefinitionCollection = objects[0]; diff --git a/ApplicationCode/Commands/RicNewEllipseFractureTemplateFeature.cpp b/ApplicationCode/Commands/RicNewEllipseFractureTemplateFeature.cpp index 0e8586ab66..a6cc2c0af7 100644 --- a/ApplicationCode/Commands/RicNewEllipseFractureTemplateFeature.cpp +++ b/ApplicationCode/Commands/RicNewEllipseFractureTemplateFeature.cpp @@ -22,7 +22,7 @@ #include "RimOilField.h" #include "RimEllipseFractureTemplate.h" -#include "RimFractureDefinitionCollection.h" +#include "RimFractureTemplateCollection.h" #include "RimProject.h" #include "RiuMainWindow.h" @@ -47,7 +47,7 @@ void RicNewEllipseFractureTemplateFeature::onActionTriggered(bool isChecked) RimOilField* oilfield = project->activeOilField(); if (oilfield == nullptr) return; - RimFractureDefinitionCollection* fracDefColl = oilfield->fractureDefinitionCollection(); + RimFractureTemplateCollection* fracDefColl = oilfield->fractureDefinitionCollection(); if (fracDefColl) { diff --git a/ApplicationCode/Commands/RicNewSimWellFractureAtPosFeature.cpp b/ApplicationCode/Commands/RicNewSimWellFractureAtPosFeature.cpp index a1ee07abf4..4141a560ee 100644 --- a/ApplicationCode/Commands/RicNewSimWellFractureAtPosFeature.cpp +++ b/ApplicationCode/Commands/RicNewSimWellFractureAtPosFeature.cpp @@ -23,7 +23,7 @@ #include "RimCase.h" #include "RimEclipseWell.h" #include "RimEllipseFractureTemplate.h" -#include "RimFractureDefinitionCollection.h" +#include "RimFractureTemplateCollection.h" #include "RimOilField.h" #include "RimProject.h" #include "RimSimWellFracture.h" diff --git a/ApplicationCode/Commands/RicNewSimWellFractureFeature.cpp b/ApplicationCode/Commands/RicNewSimWellFractureFeature.cpp index 916f0388e2..05945b81c0 100644 --- a/ApplicationCode/Commands/RicNewSimWellFractureFeature.cpp +++ b/ApplicationCode/Commands/RicNewSimWellFractureFeature.cpp @@ -24,7 +24,7 @@ #include "RimEclipseView.h" #include "RimEclipseWell.h" #include "RimEllipseFractureTemplate.h" -#include "RimFractureDefinitionCollection.h" +#include "RimFractureTemplateCollection.h" #include "RimOilField.h" #include "RimProject.h" #include "RimSimWellFracture.h" diff --git a/ApplicationCode/Commands/RicNewStimPlanFractureTemplateFeature.cpp b/ApplicationCode/Commands/RicNewStimPlanFractureTemplateFeature.cpp index 7c0a5afbd0..9e916893f4 100644 --- a/ApplicationCode/Commands/RicNewStimPlanFractureTemplateFeature.cpp +++ b/ApplicationCode/Commands/RicNewStimPlanFractureTemplateFeature.cpp @@ -21,7 +21,7 @@ #include "RiaApplication.h" #include "RimOilField.h" -#include "RimFractureDefinitionCollection.h" +#include "RimFractureTemplateCollection.h" #include "RimProject.h" #include "RimStimPlanFractureTemplate.h" @@ -47,7 +47,7 @@ void RicNewStimPlanFractureTemplateFeature::onActionTriggered(bool isChecked) RimOilField* oilfield = project->activeOilField(); if (oilfield == nullptr) return; - RimFractureDefinitionCollection* fracDefColl = oilfield->fractureDefinitionCollection(); + RimFractureTemplateCollection* fracDefColl = oilfield->fractureDefinitionCollection(); if (fracDefColl) { diff --git a/ApplicationCode/Commands/RicNewWellPathFractureAtPosFeature.cpp b/ApplicationCode/Commands/RicNewWellPathFractureAtPosFeature.cpp index b5045e209a..2af9041a2a 100644 --- a/ApplicationCode/Commands/RicNewWellPathFractureAtPosFeature.cpp +++ b/ApplicationCode/Commands/RicNewWellPathFractureAtPosFeature.cpp @@ -22,7 +22,7 @@ #include "RimCase.h" #include "RimEllipseFractureTemplate.h" -#include "RimFractureDefinitionCollection.h" +#include "RimFractureTemplateCollection.h" #include "RimOilField.h" #include "RimProject.h" #include "RimView.h" diff --git a/ApplicationCode/Commands/RicNewWellPathFractureFeature.cpp b/ApplicationCode/Commands/RicNewWellPathFractureFeature.cpp index 9813ed2f3f..a25046d033 100644 --- a/ApplicationCode/Commands/RicNewWellPathFractureFeature.cpp +++ b/ApplicationCode/Commands/RicNewWellPathFractureFeature.cpp @@ -22,7 +22,7 @@ #include "RimCase.h" #include "RimEllipseFractureTemplate.h" -#include "RimFractureDefinitionCollection.h" +#include "RimFractureTemplateCollection.h" #include "RimOilField.h" #include "RimProject.h" #include "RimWellPath.h" diff --git a/ApplicationCode/ProjectDataModel/CMakeLists_files.cmake b/ApplicationCode/ProjectDataModel/CMakeLists_files.cmake index 6b5c0fb48c..283e2dd2a6 100644 --- a/ApplicationCode/ProjectDataModel/CMakeLists_files.cmake +++ b/ApplicationCode/ProjectDataModel/CMakeLists_files.cmake @@ -85,14 +85,13 @@ ${CEE_CURRENT_LIST_DIR}RimIntersectionBox.h ${CEE_CURRENT_LIST_DIR}RimMultiSnapshotDefinition.h ${CEE_CURRENT_LIST_DIR}RimMdiWindowController.h ${CEE_CURRENT_LIST_DIR}RimEllipseFractureTemplate.h -${CEE_CURRENT_LIST_DIR}RimFractureDefinitionCollection.h +${CEE_CURRENT_LIST_DIR}RimFractureTemplateCollection.h ${CEE_CURRENT_LIST_DIR}RimFracture.h ${CEE_CURRENT_LIST_DIR}RimWellPathFracture.h ${CEE_CURRENT_LIST_DIR}RimWellPathFractureCollection.h ${CEE_CURRENT_LIST_DIR}RimSimWellFracture.h ${CEE_CURRENT_LIST_DIR}RimSimWellFractureCollection.h ${CEE_CURRENT_LIST_DIR}RimFractureExportSettings.h -${CEE_CURRENT_LIST_DIR}RimStimPlanFractureDefinition.h ${CEE_CURRENT_LIST_DIR}RimFractureTemplate.h ${CEE_CURRENT_LIST_DIR}RimStimPlanFractureTemplate.h @@ -179,14 +178,13 @@ ${CEE_CURRENT_LIST_DIR}RimIntersectionBox.cpp ${CEE_CURRENT_LIST_DIR}RimMultiSnapshotDefinition.cpp ${CEE_CURRENT_LIST_DIR}RimMdiWindowController.cpp ${CEE_CURRENT_LIST_DIR}RimEllipseFractureTemplate.cpp -${CEE_CURRENT_LIST_DIR}RimFractureDefinitionCollection.cpp +${CEE_CURRENT_LIST_DIR}RimFractureTemplateCollection.cpp ${CEE_CURRENT_LIST_DIR}RimFracture.cpp ${CEE_CURRENT_LIST_DIR}RimWellPathFracture.cpp ${CEE_CURRENT_LIST_DIR}RimWellPathFractureCollection.cpp ${CEE_CURRENT_LIST_DIR}RimSimWellFracture.cpp ${CEE_CURRENT_LIST_DIR}RimSimWellFractureCollection.cpp ${CEE_CURRENT_LIST_DIR}RimFractureExportSettings.cpp -${CEE_CURRENT_LIST_DIR}RimStimPlanFractureDefinition.cpp ${CEE_CURRENT_LIST_DIR}RimFractureTemplate.cpp ${CEE_CURRENT_LIST_DIR}RimStimPlanFractureTemplate.cpp diff --git a/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp b/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp index 5b25c3dacc..7d275398a3 100644 --- a/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp +++ b/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp @@ -38,7 +38,8 @@ #include "RimFormationNames.h" #include "RimFormationNamesCollection.h" #include "RimEllipseFractureTemplate.h" -#include "RimFractureDefinitionCollection.h" +#include "RimStimPlanFractureTemplate.h" +#include "RimFractureTemplateCollection.h" #include "RimGeoMechCase.h" #include "RimGeoMechPropertyFilter.h" #include "RimGeoMechPropertyFilterCollection.h" @@ -380,8 +381,9 @@ QStringList RimContextCommandBuilder::commandsFromSelection() commandIds << "RicNewSimWellFractureFeature"; commandIds << "RicSimWellFracturesDeleteAllFeature"; } - else if (dynamic_cast(uiItem) || - dynamic_cast(uiItem)) + else if (dynamic_cast(uiItem) || + dynamic_cast(uiItem) || + dynamic_cast(uiItem)) { commandIds << "RicNewEllipseFractureTemplateFeature"; commandIds << "RicNewStimPlanFractureTemplateFeature"; diff --git a/ApplicationCode/ProjectDataModel/RimFracture.cpp b/ApplicationCode/ProjectDataModel/RimFracture.cpp index 1c120d76c5..b2bd588797 100644 --- a/ApplicationCode/ProjectDataModel/RimFracture.cpp +++ b/ApplicationCode/ProjectDataModel/RimFracture.cpp @@ -37,7 +37,7 @@ #include "RimEclipseCellColors.h" #include "RimEclipseView.h" #include "RimEllipseFractureTemplate.h" -#include "RimFractureDefinitionCollection.h" +#include "RimFractureTemplateCollection.h" #include "RimOilField.h" #include "RimProject.h" #include "RimReservoirCellResultsStorage.h" @@ -562,7 +562,7 @@ QList RimFracture::calculateValueOptions(const caf::PdmF if (fieldNeedingOptions == &m_fractureTemplate) { - RimFractureDefinitionCollection* fracDefColl = oilField->fractureDefinitionCollection(); + RimFractureTemplateCollection* fracDefColl = oilField->fractureDefinitionCollection(); if (fracDefColl == nullptr) return options; for (RimFractureTemplate* fracDef : fracDefColl->fractureDefinitions()) diff --git a/ApplicationCode/ProjectDataModel/RimFracture.h b/ApplicationCode/ProjectDataModel/RimFracture.h index 4d6337276f..6602afce1a 100644 --- a/ApplicationCode/ProjectDataModel/RimFracture.h +++ b/ApplicationCode/ProjectDataModel/RimFracture.h @@ -103,7 +103,7 @@ private: bool planeCellIntersectionPolygons(size_t cellindex, std::vector > & polygons, cvf::Vec3d & localX, cvf::Vec3d & localY, cvf::Vec3d & localZ); protected: - caf::PdmPtrField m_fractureTemplate; + caf::PdmPtrField m_fractureTemplate; caf::PdmProxyValueField m_uiAnchorPosition; caf::PdmProxyValueField m_displayIJK; diff --git a/ApplicationCode/ProjectDataModel/RimFractureDefinitionCollection.cpp b/ApplicationCode/ProjectDataModel/RimFractureTemplateCollection.cpp similarity index 84% rename from ApplicationCode/ProjectDataModel/RimFractureDefinitionCollection.cpp rename to ApplicationCode/ProjectDataModel/RimFractureTemplateCollection.cpp index 12dfc53f1c..d9fbef036e 100644 --- a/ApplicationCode/ProjectDataModel/RimFractureDefinitionCollection.cpp +++ b/ApplicationCode/ProjectDataModel/RimFractureTemplateCollection.cpp @@ -16,7 +16,7 @@ // ///////////////////////////////////////////////////////////////////////////////// -#include "RimFractureDefinitionCollection.h" +#include "RimFractureTemplateCollection.h" #include "RimFractureTemplate.h" #include "cafPdmObject.h" @@ -24,12 +24,12 @@ -CAF_PDM_SOURCE_INIT(RimFractureDefinitionCollection, "FractureDefinitionCollection"); +CAF_PDM_SOURCE_INIT(RimFractureTemplateCollection, "FractureDefinitionCollection"); //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RimFractureDefinitionCollection::RimFractureDefinitionCollection(void) +RimFractureTemplateCollection::RimFractureTemplateCollection(void) { CAF_PDM_InitObject("Fracture Templates", ":/FractureTemplate16x16.png", "", ""); @@ -42,7 +42,7 @@ RimFractureDefinitionCollection::RimFractureDefinitionCollection(void) //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RimFractureDefinitionCollection::~RimFractureDefinitionCollection() +RimFractureTemplateCollection::~RimFractureTemplateCollection() { fractureDefinitions.deleteAllChildObjects(); } @@ -50,7 +50,7 @@ RimFractureDefinitionCollection::~RimFractureDefinitionCollection() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimFractureDefinitionCollection::deleteFractureDefinitions() +void RimFractureTemplateCollection::deleteFractureDefinitions() { fractureDefinitions.deleteAllChildObjects(); } diff --git a/ApplicationCode/ProjectDataModel/RimFractureDefinitionCollection.h b/ApplicationCode/ProjectDataModel/RimFractureTemplateCollection.h similarity index 89% rename from ApplicationCode/ProjectDataModel/RimFractureDefinitionCollection.h rename to ApplicationCode/ProjectDataModel/RimFractureTemplateCollection.h index a6a419a06d..b91bf43d72 100644 --- a/ApplicationCode/ProjectDataModel/RimFractureDefinitionCollection.h +++ b/ApplicationCode/ProjectDataModel/RimFractureTemplateCollection.h @@ -28,13 +28,13 @@ class RimFractureTemplate; /// /// //================================================================================================== -class RimFractureDefinitionCollection : public caf::PdmObject +class RimFractureTemplateCollection : public caf::PdmObject { CAF_PDM_HEADER_INIT; public: - RimFractureDefinitionCollection(void); - virtual ~RimFractureDefinitionCollection(void); + RimFractureTemplateCollection(void); + virtual ~RimFractureTemplateCollection(void); caf::PdmChildArrayField fractureDefinitions; diff --git a/ApplicationCode/ProjectDataModel/RimOilField.cpp b/ApplicationCode/ProjectDataModel/RimOilField.cpp index d52a98d2aa..a05ea707a7 100644 --- a/ApplicationCode/ProjectDataModel/RimOilField.cpp +++ b/ApplicationCode/ProjectDataModel/RimOilField.cpp @@ -22,7 +22,7 @@ #include "RimEclipseCaseCollection.h" #include "RimFormationNamesCollection.h" -#include "RimFractureDefinitionCollection.h" +#include "RimFractureTemplateCollection.h" #include "RimGeoMechModels.h" #include "RimSummaryCaseCollection.h" @@ -44,7 +44,7 @@ RimOilField::RimOilField(void) CAF_PDM_InitFieldNoDefault(&summaryCaseCollection,"SummaryCaseCollection","Summary Cases",":/GridModels.png","",""); CAF_PDM_InitFieldNoDefault(&formationNamesCollection,"FormationNamesCollection","Formations","","",""); - fractureDefinitionCollection = new RimFractureDefinitionCollection(); + fractureDefinitionCollection = new RimFractureTemplateCollection(); analysisModels = new RimEclipseCaseCollection(); wellPathCollection = new RimWellPathCollection(); summaryCaseCollection = new RimSummaryCaseCollection(); diff --git a/ApplicationCode/ProjectDataModel/RimOilField.h b/ApplicationCode/ProjectDataModel/RimOilField.h index 6ff702861b..ff3f094d30 100644 --- a/ApplicationCode/ProjectDataModel/RimOilField.h +++ b/ApplicationCode/ProjectDataModel/RimOilField.h @@ -28,7 +28,7 @@ class RimEclipseCaseCollection; class RimGeoMechModels; class RimWellPathCollection; -class RimFractureDefinitionCollection; +class RimFractureTemplateCollection; class RimSummaryCaseCollection; class RimFormationNamesCollection; @@ -47,7 +47,7 @@ public: caf::PdmChildField analysisModels; caf::PdmChildField geoMechModels; caf::PdmChildField wellPathCollection; - caf::PdmChildField fractureDefinitionCollection; + caf::PdmChildField fractureDefinitionCollection; caf::PdmChildField summaryCaseCollection; caf::PdmChildField formationNamesCollection; diff --git a/ApplicationCode/ProjectDataModel/RimProject.cpp b/ApplicationCode/ProjectDataModel/RimProject.cpp index 80971e612c..cc5fc23af8 100644 --- a/ApplicationCode/ProjectDataModel/RimProject.cpp +++ b/ApplicationCode/ProjectDataModel/RimProject.cpp @@ -35,7 +35,7 @@ #include "RimEclipseCaseCollection.h" #include "RimFlowPlotCollection.h" #include "RimFormationNamesCollection.h" -#include "RimFractureDefinitionCollection.h" +#include "RimFractureTemplateCollection.h" #include "RimGeoMechCase.h" #include "RimGeoMechModels.h" #include "RimGridSummaryCase.h" diff --git a/ApplicationCode/ProjectDataModel/RimStimPlanFractureDefinition.cpp b/ApplicationCode/ProjectDataModel/RimStimPlanFractureDefinition.cpp deleted file mode 100644 index 08d1cbc976..0000000000 --- a/ApplicationCode/ProjectDataModel/RimStimPlanFractureDefinition.cpp +++ /dev/null @@ -1,221 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2017 - Statoil ASA -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// - -#include "RimStimPlanFractureDefinition.h" - -#include "RigFormationNames.h" - -#include "RimCase.h" -#include "RimTools.h" -#include "RimView.h" - -#include "cafPdmUiFilePathEditor.h" - -#include -#include -#include "QMessageBox" - -CAF_PDM_SOURCE_INIT(RimStimPlanFractureDefinition, "StimPlanFractureDefinition"); - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RimStimPlanFractureDefinition::RimStimPlanFractureDefinition() -{ - CAF_PDM_InitObject("Formation Names", ":/Formations16x16.png", "", ""); - - CAF_PDM_InitField(&m_StimPlanFileName, "StimPlanFileName", QString(""), "File Name", "", "", ""); - - m_StimPlanFileName.uiCapability()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName()); - -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RimStimPlanFractureDefinition::~RimStimPlanFractureDefinition() -{ - -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimStimPlanFractureDefinition::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) -{ - if (&m_StimPlanFileName == changedField) - { - updateUiTreeName(); - QString errorMessage; - readFormationNamesFile(&errorMessage); - if (!errorMessage.isEmpty()) - { - QMessageBox::warning(nullptr, "StimPlanFile", errorMessage); - } - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimStimPlanFractureDefinition::initAfterRead() -{ - updateUiTreeName(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimStimPlanFractureDefinition::updateUiTreeName() -{ - this->uiCapability()->setUiName(fileNameWoPath()); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimStimPlanFractureDefinition::setFileName(const QString& fileName) -{ - m_StimPlanFileName = fileName; - - updateUiTreeName(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -const QString& RimStimPlanFractureDefinition::fileName() -{ - return m_StimPlanFileName(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -QString RimStimPlanFractureDefinition::fileNameWoPath() -{ - QFileInfo stimplanfileFileInfo(m_StimPlanFileName()); - return stimplanfileFileInfo.fileName(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimStimPlanFractureDefinition::updateConnectedViews() -{ - //TODO!!! - // std::vector usingObjs; -// this->objectsWithReferringPtrFields(usingObjs); -// for (caf::PdmObjectHandle* obj: usingObjs) -// { -// RimCase* caseObj = dynamic_cast(obj); -// if (caseObj) -// { -// caseObj->updateFormationNamesData(); -// } -// } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimStimPlanFractureDefinition::readFormationNamesFile(QString * errorMessage) -{ - QFile dataFile(m_StimPlanFileName()); - - if (!dataFile.open(QFile::ReadOnly)) - { - if (errorMessage) (*errorMessage) += "Could not open the File: " + (m_StimPlanFileName()) + "\n"; - return; - } - -// m_formationNamesData = new RigFormationNames; -// -// QTextStream stream(&dataFile); -// int lineNumber = 1; -// while (!stream.atEnd()) -// { -// QString line = stream.readLine(); -// QStringList lineSegs = line.split("'", QString::KeepEmptyParts); -// -// if(lineSegs.size() == 0) continue; // Empty line -// if(lineSegs.size() == 1) continue; // No name present. Comment line ? -// if(lineSegs.size() == 2) -// { -// if (errorMessage) (*errorMessage) += "Missing quote on line : " + QString::number(lineNumber) + "\n"; -// continue; // One quote present -// } -// -// if (lineSegs.size() == 3) // Normal case -// { -// if ( lineSegs[0].contains("--")) continue; // Comment line -// QString formationName = lineSegs[1]; -// int commentMarkPos = lineSegs[2].indexOf("--"); -// QString numberString = lineSegs[2]; -// if (commentMarkPos >= 0) numberString.truncate(commentMarkPos); -// -// QStringList numberWords = numberString.split(QRegExp("-"), QString::SkipEmptyParts); -// if (numberWords.size() == 2) -// { -// bool isNumber1 = false; -// bool isNumber2 = false; -// int startK = numberWords[0].toInt(&isNumber1); -// int endK = numberWords[1].toInt(&isNumber2); -// -// if (!(isNumber2 && isNumber1)) -// { -// if (errorMessage) (*errorMessage) += "Format error on line: " + QString::number(lineNumber) + "\n"; -// continue; -// } -// -// int tmp = startK; startK = tmp < endK ? tmp : endK; -// endK = tmp > endK ? tmp: endK; -// -// m_formationNamesData->appendFormationRange(formationName, startK-1, endK-1); -// } -// else if (numberWords.size() == 1) -// { -// bool isNumber1 = false; -// int kLayerCount = numberWords[0].toInt(&isNumber1); -// -// if ( !isNumber1 ) -// { -// if ( errorMessage ) (*errorMessage) += "Format error on line: " + QString::number(lineNumber) + "\n"; -// continue; -// } -// -// m_formationNamesData->appendFormationRangeHeight(formationName, kLayerCount); -// } -// else -// { -// if (errorMessage) (*errorMessage) += "Format error on line: " + QString::number(lineNumber) + "\n"; -// } -// } -// -// ++lineNumber; -// } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimStimPlanFractureDefinition::updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) -{ - m_StimPlanFileName = RimTools::relocateFile(m_StimPlanFileName(), newProjectPath, oldProjectPath, NULL, NULL); -} - diff --git a/ApplicationCode/ProjectDataModel/RimStimPlanFractureDefinition.h b/ApplicationCode/ProjectDataModel/RimStimPlanFractureDefinition.h deleted file mode 100644 index c6ec20eff9..0000000000 --- a/ApplicationCode/ProjectDataModel/RimStimPlanFractureDefinition.h +++ /dev/null @@ -1,54 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) 2017 - Statoil ASA -// -// ResInsight is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at -// for more details. -// -///////////////////////////////////////////////////////////////////////////////// -#pragma once - -#include "cafPdmObject.h" -#include "cafPdmField.h" -#include "cvfObject.h" - -// class RigStimPlanFractureDefinition; - -class RimStimPlanFractureDefinition : public caf::PdmObject -{ - CAF_PDM_HEADER_INIT; - -public: - RimStimPlanFractureDefinition(); - ~RimStimPlanFractureDefinition(); - - void setFileName(const QString& fileName); - const QString& fileName(); - QString fileNameWoPath(); - -// RigStimPlanFractureDefinition* stimPlanData() { return m_StimPlanFractureDefinitionData.p();} - void updateConnectedViews(); - - void readFormationNamesFile(QString * errorMessage); - void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath); - -protected: - virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; - virtual void initAfterRead() override; - -private: - void updateUiTreeName(); - - caf::PdmField m_StimPlanFileName; - - // cvf::ref m_StimPlanFractureDefinitionData; -}; diff --git a/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.cpp b/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.cpp index 35fe57a6ae..1b0b4d5d7f 100644 --- a/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.cpp +++ b/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.cpp @@ -22,10 +22,14 @@ #include "RimFracture.h" #include "RimProject.h" +#include "RigStimPlanFractureDefinition.h" #include "cafPdmObject.h" #include "cvfVector3.h" +#include "cafPdmUiFilePathEditor.h" +#include +#include @@ -38,6 +42,11 @@ RimStimPlanFractureTemplate::RimStimPlanFractureTemplate(void) { CAF_PDM_InitObject("Fracture Template", ":/FractureTemplate16x16.png", "", ""); + CAF_PDM_InitField(&m_StimPlanFileName, "StimPlanFileName", QString(""), "File Name", "", "", ""); + + m_StimPlanFileName.uiCapability()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName()); + + } //-------------------------------------------------------------------------------------------------- @@ -52,6 +61,19 @@ RimStimPlanFractureTemplate::~RimStimPlanFractureTemplate() //-------------------------------------------------------------------------------------------------- void RimStimPlanFractureTemplate::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) { + + if (&m_StimPlanFileName == changedField) + { + updateUiTreeName(); + QString errorMessage; + readStimPlanXMLFile(&errorMessage); + if (!errorMessage.isEmpty()) + { + QMessageBox::warning(nullptr, "StimPlanFile", errorMessage); + } + } + + // // if (changedField == &halfLength || changedField == &height || changedField == &azimuthAngle || changedField == &perforationLength || changedField == &orientation) // { @@ -108,6 +130,66 @@ void RimStimPlanFractureTemplate::fieldChangedByUi(const caf::PdmFieldHandle* ch } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimStimPlanFractureTemplate::updateUiTreeName() +{ + this->uiCapability()->setUiName(fileNameWoPath()); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimStimPlanFractureTemplate::setFileName(const QString& fileName) +{ + m_StimPlanFileName = fileName; + + updateUiTreeName(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const QString& RimStimPlanFractureTemplate::fileName() +{ + return m_StimPlanFileName(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimStimPlanFractureTemplate::fileNameWoPath() +{ + QFileInfo stimplanfileFileInfo(m_StimPlanFileName()); + return stimplanfileFileInfo.fileName(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimStimPlanFractureTemplate::readStimPlanXMLFile(QString * errorMessage) +{ +// QFile dataFile(m_formationNamesFileName()); +// +// if (!dataFile.open(QFile::ReadOnly)) +// { +// if (errorMessage) (*errorMessage) += "Could not open the File: " + (m_formationNamesFileName()) + "\n"; +// return; +// } +// +// m_formationNamesData = new RigFormationNames; +// +// QTextStream stream(&dataFile); +// int lineNumber = 1; +// while (!stream.atEnd()) +// { +// +// } +} + + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -148,3 +230,4 @@ void RimStimPlanFractureTemplate::defineUiOrdering(QString uiConfigName, caf::Pd { } + diff --git a/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.h b/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.h index f2ea7023be..b7bbbf7745 100644 --- a/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.h +++ b/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.h @@ -21,16 +21,17 @@ #include "cafAppEnum.h" #include "cafPdmField.h" +#include "cafPdmFieldCvfVec3d.h" #include "cafPdmFieldHandle.h" #include "cafPdmObject.h" -#include "cafPdmFieldCvfVec3d.h" - +#include "cafPdmPtrField.h" #include "cvfBase.h" +#include "cvfObject.h" #include "cvfVector3.h" #include -class RimStimPlanFractureDefinition; +class RigStimPlanFractureDefinition; //================================================================================================== @@ -45,15 +46,30 @@ public: RimStimPlanFractureTemplate(void); virtual ~RimStimPlanFractureTemplate(void); - RimStimPlanFractureDefinition* stimPlanFracDef; - - virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; void fractureGeometry(std::vector* nodeCoords, std::vector* polygonIndices); std::vector fracturePolygon(); + void setFileName(const QString& fileName); + const QString& fileName(); + QString fileNameWoPath(); + void readStimPlanXMLFile(QString * errorMessage); + + + + + protected: virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering); + + +private: + void updateUiTreeName(); + + caf::PdmField m_StimPlanFileName; + cvf::ref m_StimPlanFractureDefinitionData; + + }; diff --git a/ApplicationCode/ReservoirDataModel/RigStimPlanFractureDefinition.h b/ApplicationCode/ReservoirDataModel/RigStimPlanFractureDefinition.h index c3ae553bf9..5465ab386b 100644 --- a/ApplicationCode/ReservoirDataModel/RigStimPlanFractureDefinition.h +++ b/ApplicationCode/ReservoirDataModel/RigStimPlanFractureDefinition.h @@ -25,7 +25,7 @@ #include class RigStimPlanFractureDefinition: public cvf::Object -{ +{ public: RigStimPlanFractureDefinition(); ~RigStimPlanFractureDefinition();