(#1137) - pre-proto - Adding delete/new command for stimplan fracture templates. Removing RimStimPlanFractureDefinition, functionality moved into RimStimPlanFractureTemplate. Renaming RimFractureDefinitionCollection to RimFractureTemplateCollection.

This commit is contained in:
astridkbjorke 2017-02-07 11:08:56 +01:00
parent d52cfc0f0b
commit 22ee6250bd
22 changed files with 143 additions and 317 deletions

View File

@ -28,6 +28,7 @@
#include "RimEllipseFractureTemplate.h" #include "RimEllipseFractureTemplate.h"
#include "RimFormationNames.h" #include "RimFormationNames.h"
#include "RimFormationNamesCollection.h" #include "RimFormationNamesCollection.h"
#include "RimStimPlanFractureTemplate.h"
#include "RimGeoMechPropertyFilter.h" #include "RimGeoMechPropertyFilter.h"
#include "RimGeoMechView.h" #include "RimGeoMechView.h"
#include "RimIdenticalGridCaseGroup.h" #include "RimIdenticalGridCaseGroup.h"
@ -83,6 +84,7 @@ bool isDeletable(PdmUiItem * uiItem)
if (dynamic_cast<RimWellPathFractureCollection*>(uiItem)) return true; if (dynamic_cast<RimWellPathFractureCollection*>(uiItem)) return true;
if (dynamic_cast<RimWellPathFracture*>(uiItem)) return true; if (dynamic_cast<RimWellPathFracture*>(uiItem)) return true;
if (dynamic_cast<RimEllipseFractureTemplate*>(uiItem)) return true; if (dynamic_cast<RimEllipseFractureTemplate*>(uiItem)) return true;
if (dynamic_cast<RimStimPlanFractureTemplate*>(uiItem)) return true;
if (dynamic_cast<RimSimWellFractureCollection*>(uiItem)) return true; if (dynamic_cast<RimSimWellFractureCollection*>(uiItem)) return true;
if (dynamic_cast<RimSimWellFracture*>(uiItem)) return true; if (dynamic_cast<RimSimWellFracture*>(uiItem)) return true;

View File

@ -19,7 +19,7 @@
#include "RicFractureDefinitionsDeleteAllFeature.h" #include "RicFractureDefinitionsDeleteAllFeature.h"
#include "RimFractureDefinitionCollection.h" #include "RimFractureTemplateCollection.h"
#include "cafSelectionManager.h" #include "cafSelectionManager.h"
@ -36,7 +36,7 @@ CAF_CMD_SOURCE_INIT(RicFractureDefinitionsDeleteAllFeature, "RicFractureDefiniti
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
bool RicFractureDefinitionsDeleteAllFeature::isCommandEnabled() bool RicFractureDefinitionsDeleteAllFeature::isCommandEnabled()
{ {
std::vector<RimFractureDefinitionCollection*> objects; std::vector<RimFractureTemplateCollection*> objects;
caf::SelectionManager::instance()->objectsByType(&objects); caf::SelectionManager::instance()->objectsByType(&objects);
if (objects.size() == 1) if (objects.size() == 1)
@ -52,10 +52,10 @@ bool RicFractureDefinitionsDeleteAllFeature::isCommandEnabled()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicFractureDefinitionsDeleteAllFeature::onActionTriggered(bool isChecked) void RicFractureDefinitionsDeleteAllFeature::onActionTriggered(bool isChecked)
{ {
std::vector<RimFractureDefinitionCollection*> objects; std::vector<RimFractureTemplateCollection*> objects;
caf::SelectionManager::instance()->objectsByType(&objects); caf::SelectionManager::instance()->objectsByType(&objects);
RimFractureDefinitionCollection* fractureDefinitionCollection = nullptr; RimFractureTemplateCollection* fractureDefinitionCollection = nullptr;
if (objects.size() > 0) if (objects.size() > 0)
{ {
fractureDefinitionCollection = objects[0]; fractureDefinitionCollection = objects[0];

View File

@ -22,7 +22,7 @@
#include "RimOilField.h" #include "RimOilField.h"
#include "RimEllipseFractureTemplate.h" #include "RimEllipseFractureTemplate.h"
#include "RimFractureDefinitionCollection.h" #include "RimFractureTemplateCollection.h"
#include "RimProject.h" #include "RimProject.h"
#include "RiuMainWindow.h" #include "RiuMainWindow.h"
@ -47,7 +47,7 @@ void RicNewEllipseFractureTemplateFeature::onActionTriggered(bool isChecked)
RimOilField* oilfield = project->activeOilField(); RimOilField* oilfield = project->activeOilField();
if (oilfield == nullptr) return; if (oilfield == nullptr) return;
RimFractureDefinitionCollection* fracDefColl = oilfield->fractureDefinitionCollection(); RimFractureTemplateCollection* fracDefColl = oilfield->fractureDefinitionCollection();
if (fracDefColl) if (fracDefColl)
{ {

View File

@ -23,7 +23,7 @@
#include "RimCase.h" #include "RimCase.h"
#include "RimEclipseWell.h" #include "RimEclipseWell.h"
#include "RimEllipseFractureTemplate.h" #include "RimEllipseFractureTemplate.h"
#include "RimFractureDefinitionCollection.h" #include "RimFractureTemplateCollection.h"
#include "RimOilField.h" #include "RimOilField.h"
#include "RimProject.h" #include "RimProject.h"
#include "RimSimWellFracture.h" #include "RimSimWellFracture.h"

View File

@ -24,7 +24,7 @@
#include "RimEclipseView.h" #include "RimEclipseView.h"
#include "RimEclipseWell.h" #include "RimEclipseWell.h"
#include "RimEllipseFractureTemplate.h" #include "RimEllipseFractureTemplate.h"
#include "RimFractureDefinitionCollection.h" #include "RimFractureTemplateCollection.h"
#include "RimOilField.h" #include "RimOilField.h"
#include "RimProject.h" #include "RimProject.h"
#include "RimSimWellFracture.h" #include "RimSimWellFracture.h"

View File

@ -21,7 +21,7 @@
#include "RiaApplication.h" #include "RiaApplication.h"
#include "RimOilField.h" #include "RimOilField.h"
#include "RimFractureDefinitionCollection.h" #include "RimFractureTemplateCollection.h"
#include "RimProject.h" #include "RimProject.h"
#include "RimStimPlanFractureTemplate.h" #include "RimStimPlanFractureTemplate.h"
@ -47,7 +47,7 @@ void RicNewStimPlanFractureTemplateFeature::onActionTriggered(bool isChecked)
RimOilField* oilfield = project->activeOilField(); RimOilField* oilfield = project->activeOilField();
if (oilfield == nullptr) return; if (oilfield == nullptr) return;
RimFractureDefinitionCollection* fracDefColl = oilfield->fractureDefinitionCollection(); RimFractureTemplateCollection* fracDefColl = oilfield->fractureDefinitionCollection();
if (fracDefColl) if (fracDefColl)
{ {

View File

@ -22,7 +22,7 @@
#include "RimCase.h" #include "RimCase.h"
#include "RimEllipseFractureTemplate.h" #include "RimEllipseFractureTemplate.h"
#include "RimFractureDefinitionCollection.h" #include "RimFractureTemplateCollection.h"
#include "RimOilField.h" #include "RimOilField.h"
#include "RimProject.h" #include "RimProject.h"
#include "RimView.h" #include "RimView.h"

View File

@ -22,7 +22,7 @@
#include "RimCase.h" #include "RimCase.h"
#include "RimEllipseFractureTemplate.h" #include "RimEllipseFractureTemplate.h"
#include "RimFractureDefinitionCollection.h" #include "RimFractureTemplateCollection.h"
#include "RimOilField.h" #include "RimOilField.h"
#include "RimProject.h" #include "RimProject.h"
#include "RimWellPath.h" #include "RimWellPath.h"

View File

@ -85,14 +85,13 @@ ${CEE_CURRENT_LIST_DIR}RimIntersectionBox.h
${CEE_CURRENT_LIST_DIR}RimMultiSnapshotDefinition.h ${CEE_CURRENT_LIST_DIR}RimMultiSnapshotDefinition.h
${CEE_CURRENT_LIST_DIR}RimMdiWindowController.h ${CEE_CURRENT_LIST_DIR}RimMdiWindowController.h
${CEE_CURRENT_LIST_DIR}RimEllipseFractureTemplate.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}RimFracture.h
${CEE_CURRENT_LIST_DIR}RimWellPathFracture.h ${CEE_CURRENT_LIST_DIR}RimWellPathFracture.h
${CEE_CURRENT_LIST_DIR}RimWellPathFractureCollection.h ${CEE_CURRENT_LIST_DIR}RimWellPathFractureCollection.h
${CEE_CURRENT_LIST_DIR}RimSimWellFracture.h ${CEE_CURRENT_LIST_DIR}RimSimWellFracture.h
${CEE_CURRENT_LIST_DIR}RimSimWellFractureCollection.h ${CEE_CURRENT_LIST_DIR}RimSimWellFractureCollection.h
${CEE_CURRENT_LIST_DIR}RimFractureExportSettings.h ${CEE_CURRENT_LIST_DIR}RimFractureExportSettings.h
${CEE_CURRENT_LIST_DIR}RimStimPlanFractureDefinition.h
${CEE_CURRENT_LIST_DIR}RimFractureTemplate.h ${CEE_CURRENT_LIST_DIR}RimFractureTemplate.h
${CEE_CURRENT_LIST_DIR}RimStimPlanFractureTemplate.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}RimMultiSnapshotDefinition.cpp
${CEE_CURRENT_LIST_DIR}RimMdiWindowController.cpp ${CEE_CURRENT_LIST_DIR}RimMdiWindowController.cpp
${CEE_CURRENT_LIST_DIR}RimEllipseFractureTemplate.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}RimFracture.cpp
${CEE_CURRENT_LIST_DIR}RimWellPathFracture.cpp ${CEE_CURRENT_LIST_DIR}RimWellPathFracture.cpp
${CEE_CURRENT_LIST_DIR}RimWellPathFractureCollection.cpp ${CEE_CURRENT_LIST_DIR}RimWellPathFractureCollection.cpp
${CEE_CURRENT_LIST_DIR}RimSimWellFracture.cpp ${CEE_CURRENT_LIST_DIR}RimSimWellFracture.cpp
${CEE_CURRENT_LIST_DIR}RimSimWellFractureCollection.cpp ${CEE_CURRENT_LIST_DIR}RimSimWellFractureCollection.cpp
${CEE_CURRENT_LIST_DIR}RimFractureExportSettings.cpp ${CEE_CURRENT_LIST_DIR}RimFractureExportSettings.cpp
${CEE_CURRENT_LIST_DIR}RimStimPlanFractureDefinition.cpp
${CEE_CURRENT_LIST_DIR}RimFractureTemplate.cpp ${CEE_CURRENT_LIST_DIR}RimFractureTemplate.cpp
${CEE_CURRENT_LIST_DIR}RimStimPlanFractureTemplate.cpp ${CEE_CURRENT_LIST_DIR}RimStimPlanFractureTemplate.cpp

View File

@ -38,7 +38,8 @@
#include "RimFormationNames.h" #include "RimFormationNames.h"
#include "RimFormationNamesCollection.h" #include "RimFormationNamesCollection.h"
#include "RimEllipseFractureTemplate.h" #include "RimEllipseFractureTemplate.h"
#include "RimFractureDefinitionCollection.h" #include "RimStimPlanFractureTemplate.h"
#include "RimFractureTemplateCollection.h"
#include "RimGeoMechCase.h" #include "RimGeoMechCase.h"
#include "RimGeoMechPropertyFilter.h" #include "RimGeoMechPropertyFilter.h"
#include "RimGeoMechPropertyFilterCollection.h" #include "RimGeoMechPropertyFilterCollection.h"
@ -380,8 +381,9 @@ QStringList RimContextCommandBuilder::commandsFromSelection()
commandIds << "RicNewSimWellFractureFeature"; commandIds << "RicNewSimWellFractureFeature";
commandIds << "RicSimWellFracturesDeleteAllFeature"; commandIds << "RicSimWellFracturesDeleteAllFeature";
} }
else if (dynamic_cast<RimFractureDefinitionCollection*>(uiItem) || else if (dynamic_cast<RimFractureTemplateCollection*>(uiItem) ||
dynamic_cast<RimEllipseFractureTemplate*>(uiItem)) dynamic_cast<RimEllipseFractureTemplate*>(uiItem) ||
dynamic_cast<RimStimPlanFractureTemplate*>(uiItem))
{ {
commandIds << "RicNewEllipseFractureTemplateFeature"; commandIds << "RicNewEllipseFractureTemplateFeature";
commandIds << "RicNewStimPlanFractureTemplateFeature"; commandIds << "RicNewStimPlanFractureTemplateFeature";

View File

@ -37,7 +37,7 @@
#include "RimEclipseCellColors.h" #include "RimEclipseCellColors.h"
#include "RimEclipseView.h" #include "RimEclipseView.h"
#include "RimEllipseFractureTemplate.h" #include "RimEllipseFractureTemplate.h"
#include "RimFractureDefinitionCollection.h" #include "RimFractureTemplateCollection.h"
#include "RimOilField.h" #include "RimOilField.h"
#include "RimProject.h" #include "RimProject.h"
#include "RimReservoirCellResultsStorage.h" #include "RimReservoirCellResultsStorage.h"
@ -562,7 +562,7 @@ QList<caf::PdmOptionItemInfo> RimFracture::calculateValueOptions(const caf::PdmF
if (fieldNeedingOptions == &m_fractureTemplate) if (fieldNeedingOptions == &m_fractureTemplate)
{ {
RimFractureDefinitionCollection* fracDefColl = oilField->fractureDefinitionCollection(); RimFractureTemplateCollection* fracDefColl = oilField->fractureDefinitionCollection();
if (fracDefColl == nullptr) return options; if (fracDefColl == nullptr) return options;
for (RimFractureTemplate* fracDef : fracDefColl->fractureDefinitions()) for (RimFractureTemplate* fracDef : fracDefColl->fractureDefinitions())

View File

@ -16,7 +16,7 @@
// //
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////
#include "RimFractureDefinitionCollection.h" #include "RimFractureTemplateCollection.h"
#include "RimFractureTemplate.h" #include "RimFractureTemplate.h"
#include "cafPdmObject.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", "", ""); CAF_PDM_InitObject("Fracture Templates", ":/FractureTemplate16x16.png", "", "");
@ -42,7 +42,7 @@ RimFractureDefinitionCollection::RimFractureDefinitionCollection(void)
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RimFractureDefinitionCollection::~RimFractureDefinitionCollection() RimFractureTemplateCollection::~RimFractureTemplateCollection()
{ {
fractureDefinitions.deleteAllChildObjects(); fractureDefinitions.deleteAllChildObjects();
} }
@ -50,7 +50,7 @@ RimFractureDefinitionCollection::~RimFractureDefinitionCollection()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimFractureDefinitionCollection::deleteFractureDefinitions() void RimFractureTemplateCollection::deleteFractureDefinitions()
{ {
fractureDefinitions.deleteAllChildObjects(); fractureDefinitions.deleteAllChildObjects();
} }

View File

@ -28,13 +28,13 @@ class RimFractureTemplate;
/// ///
/// ///
//================================================================================================== //==================================================================================================
class RimFractureDefinitionCollection : public caf::PdmObject class RimFractureTemplateCollection : public caf::PdmObject
{ {
CAF_PDM_HEADER_INIT; CAF_PDM_HEADER_INIT;
public: public:
RimFractureDefinitionCollection(void); RimFractureTemplateCollection(void);
virtual ~RimFractureDefinitionCollection(void); virtual ~RimFractureTemplateCollection(void);
caf::PdmChildArrayField<RimFractureTemplate*> fractureDefinitions; caf::PdmChildArrayField<RimFractureTemplate*> fractureDefinitions;

View File

@ -22,7 +22,7 @@
#include "RimEclipseCaseCollection.h" #include "RimEclipseCaseCollection.h"
#include "RimFormationNamesCollection.h" #include "RimFormationNamesCollection.h"
#include "RimFractureDefinitionCollection.h" #include "RimFractureTemplateCollection.h"
#include "RimGeoMechModels.h" #include "RimGeoMechModels.h"
#include "RimSummaryCaseCollection.h" #include "RimSummaryCaseCollection.h"
@ -44,7 +44,7 @@ RimOilField::RimOilField(void)
CAF_PDM_InitFieldNoDefault(&summaryCaseCollection,"SummaryCaseCollection","Summary Cases",":/GridModels.png","",""); CAF_PDM_InitFieldNoDefault(&summaryCaseCollection,"SummaryCaseCollection","Summary Cases",":/GridModels.png","","");
CAF_PDM_InitFieldNoDefault(&formationNamesCollection,"FormationNamesCollection","Formations","","",""); CAF_PDM_InitFieldNoDefault(&formationNamesCollection,"FormationNamesCollection","Formations","","","");
fractureDefinitionCollection = new RimFractureDefinitionCollection(); fractureDefinitionCollection = new RimFractureTemplateCollection();
analysisModels = new RimEclipseCaseCollection(); analysisModels = new RimEclipseCaseCollection();
wellPathCollection = new RimWellPathCollection(); wellPathCollection = new RimWellPathCollection();
summaryCaseCollection = new RimSummaryCaseCollection(); summaryCaseCollection = new RimSummaryCaseCollection();

View File

@ -28,7 +28,7 @@
class RimEclipseCaseCollection; class RimEclipseCaseCollection;
class RimGeoMechModels; class RimGeoMechModels;
class RimWellPathCollection; class RimWellPathCollection;
class RimFractureDefinitionCollection; class RimFractureTemplateCollection;
class RimSummaryCaseCollection; class RimSummaryCaseCollection;
class RimFormationNamesCollection; class RimFormationNamesCollection;
@ -47,7 +47,7 @@ public:
caf::PdmChildField<RimEclipseCaseCollection*> analysisModels; caf::PdmChildField<RimEclipseCaseCollection*> analysisModels;
caf::PdmChildField<RimGeoMechModels*> geoMechModels; caf::PdmChildField<RimGeoMechModels*> geoMechModels;
caf::PdmChildField<RimWellPathCollection*> wellPathCollection; caf::PdmChildField<RimWellPathCollection*> wellPathCollection;
caf::PdmChildField<RimFractureDefinitionCollection*> fractureDefinitionCollection; caf::PdmChildField<RimFractureTemplateCollection*> fractureDefinitionCollection;
caf::PdmChildField<RimSummaryCaseCollection*> summaryCaseCollection; caf::PdmChildField<RimSummaryCaseCollection*> summaryCaseCollection;
caf::PdmChildField<RimFormationNamesCollection*> formationNamesCollection; caf::PdmChildField<RimFormationNamesCollection*> formationNamesCollection;

View File

@ -35,7 +35,7 @@
#include "RimEclipseCaseCollection.h" #include "RimEclipseCaseCollection.h"
#include "RimFlowPlotCollection.h" #include "RimFlowPlotCollection.h"
#include "RimFormationNamesCollection.h" #include "RimFormationNamesCollection.h"
#include "RimFractureDefinitionCollection.h" #include "RimFractureTemplateCollection.h"
#include "RimGeoMechCase.h" #include "RimGeoMechCase.h"
#include "RimGeoMechModels.h" #include "RimGeoMechModels.h"
#include "RimGridSummaryCase.h" #include "RimGridSummaryCase.h"

View File

@ -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 <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#include "RimStimPlanFractureDefinition.h"
#include "RigFormationNames.h"
#include "RimCase.h"
#include "RimTools.h"
#include "RimView.h"
#include "cafPdmUiFilePathEditor.h"
#include <QFile>
#include <QFileInfo>
#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<caf::PdmObjectHandle*> usingObjs;
// this->objectsWithReferringPtrFields(usingObjs);
// for (caf::PdmObjectHandle* obj: usingObjs)
// {
// RimCase* caseObj = dynamic_cast<RimCase*>(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);
}

View File

@ -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 <http://www.gnu.org/licenses/gpl.html>
// 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<QString> m_StimPlanFileName;
// cvf::ref<RigStimPlanFractureDefinition> m_StimPlanFractureDefinitionData;
};

View File

@ -22,10 +22,14 @@
#include "RimFracture.h" #include "RimFracture.h"
#include "RimProject.h" #include "RimProject.h"
#include "RigStimPlanFractureDefinition.h"
#include "cafPdmObject.h" #include "cafPdmObject.h"
#include "cvfVector3.h" #include "cvfVector3.h"
#include "cafPdmUiFilePathEditor.h"
#include <QMessageBox>
#include <QFileInfo>
@ -38,6 +42,11 @@ RimStimPlanFractureTemplate::RimStimPlanFractureTemplate(void)
{ {
CAF_PDM_InitObject("Fracture Template", ":/FractureTemplate16x16.png", "", ""); 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) 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) // 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
{ {
} }

View File

@ -21,16 +21,17 @@
#include "cafAppEnum.h" #include "cafAppEnum.h"
#include "cafPdmField.h" #include "cafPdmField.h"
#include "cafPdmFieldCvfVec3d.h"
#include "cafPdmFieldHandle.h" #include "cafPdmFieldHandle.h"
#include "cafPdmObject.h" #include "cafPdmObject.h"
#include "cafPdmFieldCvfVec3d.h" #include "cafPdmPtrField.h"
#include "cvfBase.h" #include "cvfBase.h"
#include "cvfObject.h"
#include "cvfVector3.h" #include "cvfVector3.h"
#include <vector> #include <vector>
class RimStimPlanFractureDefinition; class RigStimPlanFractureDefinition;
//================================================================================================== //==================================================================================================
@ -45,15 +46,30 @@ public:
RimStimPlanFractureTemplate(void); RimStimPlanFractureTemplate(void);
virtual ~RimStimPlanFractureTemplate(void); virtual ~RimStimPlanFractureTemplate(void);
RimStimPlanFractureDefinition* stimPlanFracDef;
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
void fractureGeometry(std::vector<cvf::Vec3f>* nodeCoords, std::vector<cvf::uint>* polygonIndices); void fractureGeometry(std::vector<cvf::Vec3f>* nodeCoords, std::vector<cvf::uint>* polygonIndices);
std::vector<cvf::Vec3f> fracturePolygon(); std::vector<cvf::Vec3f> fracturePolygon();
void setFileName(const QString& fileName);
const QString& fileName();
QString fileNameWoPath();
void readStimPlanXMLFile(QString * errorMessage);
protected: protected:
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering); virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering);
private:
void updateUiTreeName();
caf::PdmField<QString> m_StimPlanFileName;
cvf::ref<RigStimPlanFractureDefinition> m_StimPlanFractureDefinitionData;
}; };