mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Use model index at drop position when asking user for confirm of drop event causing statistics to be deleted
p4#: 21242
This commit is contained in:
parent
9ae4ac94b6
commit
48d2a6c598
@ -305,7 +305,7 @@ bool RiaApplication::loadProject(const QString& projectFileName)
|
|||||||
RimCase* ri = casesToLoad[cIdx];
|
RimCase* ri = casesToLoad[cIdx];
|
||||||
CVF_ASSERT(ri);
|
CVF_ASSERT(ri);
|
||||||
|
|
||||||
caseProgress.setProgressDescription(ri->caseName());
|
caseProgress.setProgressDescription(ri->caseUserDescription());
|
||||||
|
|
||||||
caf::ProgressInfo viewProgress(ri->reservoirViews().size() , "Creating Views");
|
caf::ProgressInfo viewProgress(ri->reservoirViews().size() , "Creating Views");
|
||||||
|
|
||||||
@ -495,11 +495,8 @@ bool RiaApplication::openEclipseCaseFromFile(const QString& fileName)
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
bool RiaApplication::openEclipseCase(const QString& caseName, const QString& caseFileName)
|
bool RiaApplication::openEclipseCase(const QString& caseName, const QString& caseFileName)
|
||||||
{
|
{
|
||||||
QFileInfo gridFileName(caseFileName);
|
|
||||||
QString casePath = gridFileName.absolutePath();
|
|
||||||
|
|
||||||
RimResultCase* rimResultReservoir = new RimResultCase();
|
RimResultCase* rimResultReservoir = new RimResultCase();
|
||||||
rimResultReservoir->setCaseInfo(caseName, caseFileName, casePath);
|
rimResultReservoir->setCaseInfo(caseName, caseFileName);
|
||||||
|
|
||||||
m_project->reservoirs.push_back(rimResultReservoir);
|
m_project->reservoirs.push_back(rimResultReservoir);
|
||||||
|
|
||||||
@ -529,7 +526,7 @@ bool RiaApplication::openEclipseCase(const QString& caseName, const QString& cas
|
|||||||
bool RiaApplication::openInputEclipseCase(const QString& caseName, const QStringList& caseFileNames)
|
bool RiaApplication::openInputEclipseCase(const QString& caseName, const QStringList& caseFileNames)
|
||||||
{
|
{
|
||||||
RimInputCase* rimInputReservoir = new RimInputCase();
|
RimInputCase* rimInputReservoir = new RimInputCase();
|
||||||
rimInputReservoir->caseName = caseName;
|
rimInputReservoir->caseUserDescription = caseName;
|
||||||
rimInputReservoir->openDataFileSet(caseFileNames);
|
rimInputReservoir->openDataFileSet(caseFileNames);
|
||||||
|
|
||||||
m_project->reservoirs.push_back(rimInputReservoir);
|
m_project->reservoirs.push_back(rimInputReservoir);
|
||||||
@ -1205,7 +1202,7 @@ void RiaApplication::saveSnapshotForAllViews(const QString& snapshotFolderName)
|
|||||||
// Process all events to avoid a black image when grabbing frame buffer
|
// Process all events to avoid a black image when grabbing frame buffer
|
||||||
QCoreApplication::processEvents();
|
QCoreApplication::processEvents();
|
||||||
|
|
||||||
QString fileName = ri->caseName() + "-" + riv->name();
|
QString fileName = ri->caseUserDescription() + "-" + riv->name();
|
||||||
|
|
||||||
QString absoluteFileName = caf::Utils::constructFullFileName(snapshotPath, fileName, ".png");
|
QString absoluteFileName = caf::Utils::constructFullFileName(snapshotPath, fileName, ".png");
|
||||||
saveSnapshotAs(absoluteFileName);
|
saveSnapshotAs(absoluteFileName);
|
||||||
@ -1366,10 +1363,9 @@ bool RiaApplication::addEclipseCases(const QStringList& fileNames)
|
|||||||
QFileInfo gridFileName(firstFileName);
|
QFileInfo gridFileName(firstFileName);
|
||||||
|
|
||||||
QString caseName = gridFileName.completeBaseName();
|
QString caseName = gridFileName.completeBaseName();
|
||||||
QString casePath = gridFileName.absolutePath();
|
|
||||||
|
|
||||||
RimResultCase* rimResultReservoir = new RimResultCase();
|
RimResultCase* rimResultReservoir = new RimResultCase();
|
||||||
rimResultReservoir->setCaseInfo(caseName, firstFileName, casePath);
|
rimResultReservoir->setCaseInfo(caseName, firstFileName);
|
||||||
if (!rimResultReservoir->openEclipseGridFile())
|
if (!rimResultReservoir->openEclipseGridFile())
|
||||||
{
|
{
|
||||||
delete rimResultReservoir;
|
delete rimResultReservoir;
|
||||||
@ -1393,10 +1389,9 @@ bool RiaApplication::addEclipseCases(const QStringList& fileNames)
|
|||||||
QFileInfo gridFileName(caseFileName);
|
QFileInfo gridFileName(caseFileName);
|
||||||
|
|
||||||
QString caseName = gridFileName.completeBaseName();
|
QString caseName = gridFileName.completeBaseName();
|
||||||
QString casePath = gridFileName.absolutePath();
|
|
||||||
|
|
||||||
RimResultCase* rimResultReservoir = new RimResultCase();
|
RimResultCase* rimResultReservoir = new RimResultCase();
|
||||||
rimResultReservoir->setCaseInfo(caseName, caseFileName, casePath);
|
rimResultReservoir->setCaseInfo(caseName, caseFileName);
|
||||||
|
|
||||||
std::vector< std::vector<int> > caseGridDimensions;
|
std::vector< std::vector<int> > caseGridDimensions;
|
||||||
rimResultReservoir->readGridDimensions(caseGridDimensions);
|
rimResultReservoir->readGridDimensions(caseGridDimensions);
|
||||||
|
@ -89,7 +89,7 @@ void Rim3dOverlayInfoConfig::update3DInfo()
|
|||||||
|
|
||||||
if (m_reservoirView->eclipseCase() && m_reservoirView->eclipseCase()->reservoirData() && m_reservoirView->eclipseCase()->reservoirData()->mainGrid())
|
if (m_reservoirView->eclipseCase() && m_reservoirView->eclipseCase()->reservoirData() && m_reservoirView->eclipseCase()->reservoirData()->mainGrid())
|
||||||
{
|
{
|
||||||
caseName = m_reservoirView->eclipseCase()->caseName();
|
caseName = m_reservoirView->eclipseCase()->caseUserDescription();
|
||||||
totCellCount = QString::number(m_reservoirView->eclipseCase()->reservoirData()->mainGrid()->cells().size());
|
totCellCount = QString::number(m_reservoirView->eclipseCase()->reservoirData()->mainGrid()->cells().size());
|
||||||
size_t mxActCellCount = m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)->globalActiveCellCount();
|
size_t mxActCellCount = m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)->globalActiveCellCount();
|
||||||
size_t frActCellCount = m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->globalActiveCellCount();
|
size_t frActCellCount = m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->globalActiveCellCount();
|
||||||
|
@ -43,7 +43,7 @@ CAF_PDM_SOURCE_INIT(RimCase, "RimReservoir");
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimCase::RimCase()
|
RimCase::RimCase()
|
||||||
{
|
{
|
||||||
CAF_PDM_InitField(&caseName, "CaseName", QString(), "Case name", "", "" ,"");
|
CAF_PDM_InitField(&caseUserDescription, "CaseUserDescription", QString(), "Case name", "", "" ,"");
|
||||||
CAF_PDM_InitFieldNoDefault(&reservoirViews, "ReservoirViews", "", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&reservoirViews, "ReservoirViews", "", "", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault(&m_matrixModelResults, "MatrixModelResults", "", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_matrixModelResults, "MatrixModelResults", "", "", "", "");
|
||||||
@ -51,6 +51,11 @@ RimCase::RimCase()
|
|||||||
CAF_PDM_InitFieldNoDefault(&m_fractureModelResults, "FractureModelResults", "", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_fractureModelResults, "FractureModelResults", "", "", "", "");
|
||||||
m_fractureModelResults.setUiHidden(true);
|
m_fractureModelResults.setUiHidden(true);
|
||||||
|
|
||||||
|
// Obsolete field
|
||||||
|
CAF_PDM_InitField(&caseName, "CaseName", QString(), "Obsolete", "", "" ,"");
|
||||||
|
caseName.setIOWritable(false);
|
||||||
|
caseName.setUiHidden(true);
|
||||||
|
|
||||||
m_matrixModelResults = new RimReservoirCellResultsStorage;
|
m_matrixModelResults = new RimReservoirCellResultsStorage;
|
||||||
m_fractureModelResults = new RimReservoirCellResultsStorage;
|
m_fractureModelResults = new RimReservoirCellResultsStorage;
|
||||||
|
|
||||||
@ -111,6 +116,11 @@ void RimCase::initAfterRead()
|
|||||||
|
|
||||||
riv->setEclipseCase(this);
|
riv->setEclipseCase(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (caseUserDescription().isEmpty() && !caseName().isEmpty())
|
||||||
|
{
|
||||||
|
caseUserDescription = caseName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -46,15 +46,16 @@ public:
|
|||||||
RimCase();
|
RimCase();
|
||||||
virtual ~RimCase();
|
virtual ~RimCase();
|
||||||
|
|
||||||
|
|
||||||
// Fields:
|
// Fields:
|
||||||
caf::PdmField<QString> caseName;
|
caf::PdmField<QString> caseUserDescription;
|
||||||
caf::PdmField<bool> releaseResultMemory;
|
caf::PdmField<bool> releaseResultMemory;
|
||||||
caf::PdmPointersField<RimReservoirView*> reservoirViews;
|
caf::PdmPointersField<RimReservoirView*> reservoirViews;
|
||||||
|
|
||||||
virtual bool openEclipseGridFile() { return false;}; // Should be pure virtual but PDM does not allow that.
|
virtual bool openEclipseGridFile() { return false;}; // Should be pure virtual but PDM does not allow that.
|
||||||
|
|
||||||
RigCaseData* reservoirData();
|
RigCaseData* reservoirData();
|
||||||
const RigCaseData* reservoirData() const;
|
const RigCaseData* reservoirData() const;
|
||||||
void removeReservoirData();
|
void removeReservoirData();
|
||||||
|
|
||||||
RimReservoirCellResultsStorage* results(RifReaderInterface::PorosityModelResultType porosityModel);
|
RimReservoirCellResultsStorage* results(RifReaderInterface::PorosityModelResultType porosityModel);
|
||||||
@ -65,6 +66,8 @@ public:
|
|||||||
void removeResult(const QString& resultName);
|
void removeResult(const QString& resultName);
|
||||||
|
|
||||||
virtual QString locationOnDisc() const { return QString(); }
|
virtual QString locationOnDisc() const { return QString(); }
|
||||||
|
virtual QString gridFileName() const { return QString(); }
|
||||||
|
|
||||||
virtual void updateFilePathsFromProjectPath(const QString& projectPath) { };
|
virtual void updateFilePathsFromProjectPath(const QString& projectPath) { };
|
||||||
|
|
||||||
RimCaseCollection* parentCaseCollection();
|
RimCaseCollection* parentCaseCollection();
|
||||||
@ -73,7 +76,7 @@ public:
|
|||||||
|
|
||||||
// Overridden methods from PdmObject
|
// Overridden methods from PdmObject
|
||||||
public:
|
public:
|
||||||
virtual caf::PdmFieldHandle* userDescriptionField() { return &caseName; }
|
virtual caf::PdmFieldHandle* userDescriptionField() { return &caseUserDescription; }
|
||||||
protected:
|
protected:
|
||||||
virtual void initAfterRead();
|
virtual void initAfterRead();
|
||||||
virtual void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue );
|
virtual void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue );
|
||||||
@ -85,10 +88,13 @@ protected:
|
|||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
cvf::ref<RigCaseData> m_rigEclipseCase;
|
cvf::ref<RigCaseData> m_rigEclipseCase;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmField<RimReservoirCellResultsStorage*> m_matrixModelResults;
|
caf::PdmField<RimReservoirCellResultsStorage*> m_matrixModelResults;
|
||||||
caf::PdmField<RimReservoirCellResultsStorage*> m_fractureModelResults;
|
caf::PdmField<RimReservoirCellResultsStorage*> m_fractureModelResults;
|
||||||
|
|
||||||
|
// Obsolete fields
|
||||||
|
protected:
|
||||||
|
caf::PdmField<QString> caseName;
|
||||||
};
|
};
|
||||||
|
@ -100,6 +100,11 @@ void RimIdenticalGridCaseGroup::addCase(RimCase* reservoir)
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimIdenticalGridCaseGroup::removeCase(RimCase* reservoir)
|
void RimIdenticalGridCaseGroup::removeCase(RimCase* reservoir)
|
||||||
{
|
{
|
||||||
|
if (caseCollection()->reservoirs().count(reservoir) == 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
caseCollection()->reservoirs().removeChildObject(reservoir);
|
caseCollection()->reservoirs().removeChildObject(reservoir);
|
||||||
|
|
||||||
if (caseCollection()->reservoirs().size() == 0)
|
if (caseCollection()->reservoirs().size() == 0)
|
||||||
@ -300,7 +305,7 @@ RimStatisticsCase* RimIdenticalGridCaseGroup::createAndAppendStatisticsCase()
|
|||||||
{
|
{
|
||||||
RimStatisticsCase* newStatisticsCase = new RimStatisticsCase;
|
RimStatisticsCase* newStatisticsCase = new RimStatisticsCase;
|
||||||
|
|
||||||
newStatisticsCase->caseName = QString("Statistics ") + QString::number(statisticsCaseCollection()->reservoirs.size()+1);
|
newStatisticsCase->caseUserDescription = QString("Statistics ") + QString::number(statisticsCaseCollection()->reservoirs.size()+1);
|
||||||
statisticsCaseCollection()->reservoirs.push_back(newStatisticsCase);
|
statisticsCaseCollection()->reservoirs.push_back(newStatisticsCase);
|
||||||
|
|
||||||
newStatisticsCase->openEclipseGridFile();
|
newStatisticsCase->openEclipseGridFile();
|
||||||
@ -368,7 +373,7 @@ bool RimIdenticalGridCaseGroup::contains(RimCase* reservoir) const
|
|||||||
for (size_t i = 0; i < caseCollection()->reservoirs().size(); i++)
|
for (size_t i = 0; i < caseCollection()->reservoirs().size(); i++)
|
||||||
{
|
{
|
||||||
RimCase* rimReservoir = caseCollection()->reservoirs()[i];
|
RimCase* rimReservoir = caseCollection()->reservoirs()[i];
|
||||||
if (reservoir->caseName == rimReservoir->caseName)
|
if (reservoir->gridFileName() == rimReservoir->gridFileName())
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -47,8 +47,9 @@ RimInputCase::RimInputCase()
|
|||||||
{
|
{
|
||||||
CAF_PDM_InitObject("RimInputCase", ":/EclipseInput48x48.png", "", "");
|
CAF_PDM_InitObject("RimInputCase", ":/EclipseInput48x48.png", "", "");
|
||||||
CAF_PDM_InitField(&m_gridFileName, "GridFileName", QString(), "Case grid filename", "", "" ,"");
|
CAF_PDM_InitField(&m_gridFileName, "GridFileName", QString(), "Case grid filename", "", "" ,"");
|
||||||
|
m_gridFileName.setUiReadOnly(true);
|
||||||
CAF_PDM_InitFieldNoDefault(&m_additionalFileNames, "AdditionalFileNames", "Additional files", "", "" ,"");
|
CAF_PDM_InitFieldNoDefault(&m_additionalFileNames, "AdditionalFileNames", "Additional files", "", "" ,"");
|
||||||
|
m_additionalFileNames.setUiReadOnly(true);
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault(&m_inputPropertyCollection, "InputPropertyCollection", "", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_inputPropertyCollection, "InputPropertyCollection", "", "", "", "");
|
||||||
m_inputPropertyCollection = new RimInputPropertyCollection;
|
m_inputPropertyCollection = new RimInputPropertyCollection;
|
||||||
@ -69,9 +70,9 @@ RimInputCase::~RimInputCase()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimInputCase::openDataFileSet(const QStringList& filenames)
|
void RimInputCase::openDataFileSet(const QStringList& filenames)
|
||||||
{
|
{
|
||||||
if (caseName().contains("Input Mock Debug Model"))
|
if (filenames.contains("Input Mock Debug Model"))
|
||||||
{
|
{
|
||||||
cvf::ref<RifReaderInterface> readerInterface = this->createMockModel(this->caseName());
|
cvf::ref<RifReaderInterface> readerInterface = this->createMockModel(filenames[0]);
|
||||||
results(RifReaderInterface::MATRIX_RESULTS)->setReaderInterface(readerInterface.p());
|
results(RifReaderInterface::MATRIX_RESULTS)->setReaderInterface(readerInterface.p());
|
||||||
results(RifReaderInterface::FRACTURE_RESULTS)->setReaderInterface(readerInterface.p());
|
results(RifReaderInterface::FRACTURE_RESULTS)->setReaderInterface(readerInterface.p());
|
||||||
|
|
||||||
@ -161,9 +162,9 @@ bool RimInputCase::openEclipseGridFile()
|
|||||||
{
|
{
|
||||||
cvf::ref<RifReaderInterface> readerInterface;
|
cvf::ref<RifReaderInterface> readerInterface;
|
||||||
|
|
||||||
if (caseName().contains("Input Mock Debug Model"))
|
if (m_gridFileName().contains("Input Mock Debug Model"))
|
||||||
{
|
{
|
||||||
readerInterface = this->createMockModel(this->caseName());
|
readerInterface = this->createMockModel(this->m_gridFileName());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -375,6 +376,8 @@ cvf::ref<RifReaderInterface> RimInputCase::createMockModel(QString modelName)
|
|||||||
|
|
||||||
if (modelName == "Input Mock Debug Model Simple")
|
if (modelName == "Input Mock Debug Model Simple")
|
||||||
{
|
{
|
||||||
|
m_gridFileName = modelName;
|
||||||
|
|
||||||
// Create the mock file interface and and RigSerervoir and set them up.
|
// Create the mock file interface and and RigSerervoir and set them up.
|
||||||
mockFileInterface->setWorldCoordinates(cvf::Vec3d(10, 10, 10), cvf::Vec3d(20, 20, 20));
|
mockFileInterface->setWorldCoordinates(cvf::Vec3d(10, 10, 10), cvf::Vec3d(20, 20, 20));
|
||||||
mockFileInterface->setGridPointDimensions(cvf::Vec3st(4, 5, 6));
|
mockFileInterface->setGridPointDimensions(cvf::Vec3st(4, 5, 6));
|
||||||
|
@ -45,9 +45,6 @@ public:
|
|||||||
virtual ~RimInputCase();
|
virtual ~RimInputCase();
|
||||||
|
|
||||||
// Fields
|
// Fields
|
||||||
caf::PdmField<std::vector<QString> > m_additionalFileNames;
|
|
||||||
caf::PdmField<QString> m_gridFileName;
|
|
||||||
|
|
||||||
caf::PdmField<RimInputPropertyCollection*> m_inputPropertyCollection;
|
caf::PdmField<RimInputPropertyCollection*> m_inputPropertyCollection;
|
||||||
|
|
||||||
// File open methods
|
// File open methods
|
||||||
@ -64,6 +61,8 @@ public:
|
|||||||
|
|
||||||
// Overrides from RimCase
|
// Overrides from RimCase
|
||||||
virtual QString locationOnDisc() const;
|
virtual QString locationOnDisc() const;
|
||||||
|
virtual QString gridFileName() const { return m_gridFileName();}
|
||||||
|
|
||||||
virtual void updateFilePathsFromProjectPath(const QString& projectPath);
|
virtual void updateFilePathsFromProjectPath(const QString& projectPath);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -71,4 +70,9 @@ private:
|
|||||||
void removeFiles(const QStringList& obsoleteFileNames);
|
void removeFiles(const QStringList& obsoleteFileNames);
|
||||||
|
|
||||||
cvf::ref<RifReaderInterface> createMockModel(QString modelName);
|
cvf::ref<RifReaderInterface> createMockModel(QString modelName);
|
||||||
|
|
||||||
|
// Fields
|
||||||
|
caf::PdmField<std::vector<QString> > m_additionalFileNames;
|
||||||
|
caf::PdmField<QString> m_gridFileName;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -255,7 +255,7 @@ void RimReservoirView::updateViewerWidgetWindowTitle()
|
|||||||
QString windowTitle;
|
QString windowTitle;
|
||||||
if (m_reservoir.notNull())
|
if (m_reservoir.notNull())
|
||||||
{
|
{
|
||||||
windowTitle = QString("%1 - %2").arg(m_reservoir->caseName()).arg(name);
|
windowTitle = QString("%1 - %2").arg(m_reservoir->caseUserDescription()).arg(name);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -702,7 +702,9 @@ void RimReservoirView::loadDataAndUpdate()
|
|||||||
{
|
{
|
||||||
if (!m_reservoir->openEclipseGridFile())
|
if (!m_reservoir->openEclipseGridFile())
|
||||||
{
|
{
|
||||||
QMessageBox::warning(RiuMainWindow::instance(), "Error when opening project file", "Could not open the Eclipse Grid file (EGRID/GRID): \n"+ m_reservoir->caseName());
|
QMessageBox::warning(RiuMainWindow::instance(),
|
||||||
|
"Error when opening project file",
|
||||||
|
"Could not open the Eclipse Grid file: \n"+ m_reservoir->gridFileName());
|
||||||
m_reservoir = NULL;
|
m_reservoir = NULL;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,13 @@ RimResultCase::RimResultCase()
|
|||||||
CAF_PDM_InitObject("Eclipse Case", ":/AppLogo48x48.png", "", "");
|
CAF_PDM_InitObject("Eclipse Case", ":/AppLogo48x48.png", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitField(&caseFileName, "CaseFileName", QString(), "Case file name", "", "" ,"");
|
CAF_PDM_InitField(&caseFileName, "CaseFileName", QString(), "Case file name", "", "" ,"");
|
||||||
|
caseFileName.setUiReadOnly(true);
|
||||||
|
|
||||||
|
// Obsolete, unused field
|
||||||
CAF_PDM_InitField(&caseDirectory, "CaseFolder", QString(), "Directory", "", "" ,"");
|
CAF_PDM_InitField(&caseDirectory, "CaseFolder", QString(), "Directory", "", "" ,"");
|
||||||
|
caseDirectory.setIOWritable(false);
|
||||||
|
caseDirectory.setUiHidden(true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -59,9 +65,9 @@ bool RimResultCase::openEclipseGridFile()
|
|||||||
|
|
||||||
cvf::ref<RifReaderInterface> readerInterface;
|
cvf::ref<RifReaderInterface> readerInterface;
|
||||||
|
|
||||||
if (caseName().contains("Result Mock Debug Model"))
|
if (caseFileName().contains("Result Mock Debug Model"))
|
||||||
{
|
{
|
||||||
readerInterface = this->createMockModel(this->caseName());
|
readerInterface = this->createMockModel(this->caseFileName());
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -102,9 +108,9 @@ bool RimResultCase::openAndReadActiveCellData(RigCaseData* mainEclipseCase)
|
|||||||
{
|
{
|
||||||
cvf::ref<RifReaderInterface> readerInterface;
|
cvf::ref<RifReaderInterface> readerInterface;
|
||||||
|
|
||||||
if (caseName().contains("Result Mock Debug Model"))
|
if (caseFileName().contains("Result Mock Debug Model"))
|
||||||
{
|
{
|
||||||
readerInterface = this->createMockModel(this->caseName());
|
readerInterface = this->createMockModel(this->caseFileName());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -244,7 +250,8 @@ RimResultCase::~RimResultCase()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
QString RimResultCase::locationOnDisc() const
|
QString RimResultCase::locationOnDisc() const
|
||||||
{
|
{
|
||||||
return caseDirectory;
|
QFileInfo fi(caseFileName());
|
||||||
|
return fi.absolutePath();
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -252,7 +259,7 @@ QString RimResultCase::locationOnDisc() const
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimResultCase::readGridDimensions(std::vector< std::vector<int> >& gridDimensions)
|
void RimResultCase::readGridDimensions(std::vector< std::vector<int> >& gridDimensions)
|
||||||
{
|
{
|
||||||
RifEclipseOutputFileTools::readGridDimensions(caseFileName, gridDimensions);
|
RifEclipseOutputFileTools::readGridDimensions(caseFileName(), gridDimensions);
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -261,37 +268,37 @@ void RimResultCase::readGridDimensions(std::vector< std::vector<int> >& gridDime
|
|||||||
void RimResultCase::updateFilePathsFromProjectPath(const QString& projectPath)
|
void RimResultCase::updateFilePathsFromProjectPath(const QString& projectPath)
|
||||||
{
|
{
|
||||||
// Update filename and folder paths when opening project from a different file location
|
// Update filename and folder paths when opening project from a different file location
|
||||||
if (!QFile::exists(caseFileName))
|
if (!QFile::exists(caseFileName()))
|
||||||
{
|
{
|
||||||
|
QFileInfo gridFileInfo(caseFileName());
|
||||||
|
QString gridFileBaseName = gridFileInfo.completeBaseName();
|
||||||
QString candidate;
|
QString candidate;
|
||||||
|
|
||||||
candidate = QDir::fromNativeSeparators(caseDirectory.v() + QDir::separator() + caseName + ".EGRID");
|
candidate = QDir::fromNativeSeparators(locationOnDisc() + QDir::separator() + gridFileBaseName + ".EGRID");
|
||||||
if (QFile::exists(candidate))
|
if (QFile::exists(candidate))
|
||||||
{
|
{
|
||||||
caseFileName = candidate;
|
caseFileName = candidate;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
candidate = QDir::fromNativeSeparators(caseDirectory.v() + QDir::separator() + caseName + ".GRID");
|
candidate = QDir::fromNativeSeparators(locationOnDisc() + QDir::separator() + gridFileBaseName + ".GRID");
|
||||||
if (QFile::exists(candidate))
|
if (QFile::exists(candidate))
|
||||||
{
|
{
|
||||||
caseFileName = candidate;
|
caseFileName = candidate;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
candidate = QDir::fromNativeSeparators(projectPath + QDir::separator() + caseName + ".EGRID");
|
candidate = QDir::fromNativeSeparators(projectPath + QDir::separator() + gridFileBaseName + ".EGRID");
|
||||||
if (QFile::exists(candidate))
|
if (QFile::exists(candidate))
|
||||||
{
|
{
|
||||||
caseFileName = candidate;
|
caseFileName = candidate;
|
||||||
caseDirectory = projectPath;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
candidate = QDir::fromNativeSeparators(projectPath + QDir::separator() + caseName + ".GRID");
|
candidate = QDir::fromNativeSeparators(projectPath + QDir::separator() + gridFileBaseName + ".GRID");
|
||||||
if (QFile::exists(candidate))
|
if (QFile::exists(candidate))
|
||||||
{
|
{
|
||||||
caseFileName = candidate;
|
caseFileName = candidate;
|
||||||
caseDirectory = projectPath;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -300,10 +307,26 @@ void RimResultCase::updateFilePathsFromProjectPath(const QString& projectPath)
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimResultCase::setCaseInfo(const QString& caseName, const QString& caseFileName, const QString& caseDirectory)
|
void RimResultCase::setCaseInfo(const QString& userDescription, const QString& caseFileName)
|
||||||
{
|
{
|
||||||
this->caseName = caseName;
|
this->caseUserDescription = userDescription;
|
||||||
this->caseFileName = caseFileName;
|
this->caseFileName = caseFileName;
|
||||||
this->caseDirectory = caseDirectory;
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimResultCase::initAfterRead()
|
||||||
|
{
|
||||||
|
RimCase::initAfterRead();
|
||||||
|
|
||||||
|
// Convert from old (9.0.2) way of storing the case file
|
||||||
|
if (caseFileName().isEmpty())
|
||||||
|
{
|
||||||
|
if (!this->caseName().isEmpty() && !caseDirectory().isEmpty())
|
||||||
|
{
|
||||||
|
caseFileName = QDir::fromNativeSeparators(caseDirectory()) + "/" + caseName() + ".EGRID";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,11 +40,7 @@ public:
|
|||||||
RimResultCase();
|
RimResultCase();
|
||||||
virtual ~RimResultCase();
|
virtual ~RimResultCase();
|
||||||
|
|
||||||
// Fields:
|
void setCaseInfo(const QString& userDescription, const QString& caseFileName);
|
||||||
caf::PdmField<QString> caseFileName;
|
|
||||||
caf::PdmField<QString> caseDirectory;
|
|
||||||
|
|
||||||
void setCaseInfo(const QString& caseName, const QString& caseFileName, const QString& caseDirectory);
|
|
||||||
|
|
||||||
virtual bool openEclipseGridFile();
|
virtual bool openEclipseGridFile();
|
||||||
bool openAndReadActiveCellData(RigCaseData* mainEclipseCase);
|
bool openAndReadActiveCellData(RigCaseData* mainEclipseCase);
|
||||||
@ -52,8 +48,18 @@ public:
|
|||||||
|
|
||||||
// Overrides from RimCase
|
// Overrides from RimCase
|
||||||
virtual QString locationOnDisc() const;
|
virtual QString locationOnDisc() const;
|
||||||
|
virtual QString gridFileName() const { return caseFileName();}
|
||||||
virtual void updateFilePathsFromProjectPath(const QString& projectPath);
|
virtual void updateFilePathsFromProjectPath(const QString& projectPath);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
cvf::ref<RifReaderInterface> createMockModel(QString modelName);
|
cvf::ref<RifReaderInterface> createMockModel(QString modelName);
|
||||||
|
|
||||||
|
virtual void initAfterRead();
|
||||||
|
|
||||||
|
// Fields:
|
||||||
|
caf::PdmField<QString> caseFileName;
|
||||||
|
|
||||||
|
// Obsolete field
|
||||||
|
caf::PdmField<QString> caseDirectory;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -311,7 +311,7 @@ void RimStatisticsCase::defineUiOrdering(QString uiConfigName, caf::PdmUiOrderin
|
|||||||
updateSelectionListVisibilities();
|
updateSelectionListVisibilities();
|
||||||
updatePercentileUiVisibility();
|
updatePercentileUiVisibility();
|
||||||
|
|
||||||
uiOrdering.add(&caseName);
|
uiOrdering.add(&caseUserDescription);
|
||||||
uiOrdering.add(&m_calculateEditCommand);
|
uiOrdering.add(&m_calculateEditCommand);
|
||||||
uiOrdering.add(&m_selectionSummary);
|
uiOrdering.add(&m_selectionSummary);
|
||||||
|
|
||||||
|
@ -1020,7 +1020,8 @@ bool RimUiTreeView::hasClipboardValidData()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimUiTreeView::dropEvent(QDropEvent* dropEvent)
|
void RimUiTreeView::dropEvent(QDropEvent* dropEvent)
|
||||||
{
|
{
|
||||||
if (userConfirmedGridCaseGroupChange(currentIndex()))
|
QModelIndex dropIndex = indexAt(dropEvent->pos());
|
||||||
|
if (dropIndex.isValid() && userConfirmedGridCaseGroupChange(dropIndex))
|
||||||
{
|
{
|
||||||
QTreeView::dropEvent(dropEvent);
|
QTreeView::dropEvent(dropEvent);
|
||||||
}
|
}
|
||||||
|
@ -179,7 +179,7 @@ RimCase* RiaSocketServer::findReservoir(const QString& caseName)
|
|||||||
{
|
{
|
||||||
for (size_t cIdx = 0; cIdx < project->reservoirs.size(); ++cIdx)
|
for (size_t cIdx = 0; cIdx < project->reservoirs.size(); ++cIdx)
|
||||||
{
|
{
|
||||||
if (project->reservoirs[cIdx] && project->reservoirs[cIdx]->caseName() == caseName )
|
if (project->reservoirs[cIdx] && project->reservoirs[cIdx]->caseUserDescription() == caseName )
|
||||||
{
|
{
|
||||||
return project->reservoirs[cIdx];
|
return project->reservoirs[cIdx];
|
||||||
}
|
}
|
||||||
@ -452,9 +452,9 @@ void RiaSocketServer::readPropertyDataFromOctave()
|
|||||||
if (cellCountFromOctave != gridActiveCellCount && cellCountFromOctave != gridTotalCellCount)
|
if (cellCountFromOctave != gridActiveCellCount && cellCountFromOctave != gridTotalCellCount)
|
||||||
{
|
{
|
||||||
m_errorMessageDialog->showMessage(tr("ResInsight SocketServer: \n") +
|
m_errorMessageDialog->showMessage(tr("ResInsight SocketServer: \n") +
|
||||||
tr("The number of cells in the data coming from octave does not match the case") + ":\"" + m_currentReservoir->caseName() + "\"\n"
|
tr("The number of cells in the data coming from octave does not match the case") + ":\"" + m_currentReservoir->caseUserDescription() + "\"\n"
|
||||||
" Octave: " + QString::number(cellCountFromOctave) + "\n"
|
" Octave: " + QString::number(cellCountFromOctave) + "\n"
|
||||||
" " + m_currentReservoir->caseName() + ": Active cell count: " + QString::number(gridActiveCellCount) + " Total cell count: " + QString::number(gridTotalCellCount)) ;
|
" " + m_currentReservoir->caseUserDescription() + ": Active cell count: " + QString::number(gridActiveCellCount) + " Total cell count: " + QString::number(gridTotalCellCount)) ;
|
||||||
|
|
||||||
cellCountFromOctave = 0;
|
cellCountFromOctave = 0;
|
||||||
m_invalidActiveCellCountDetected = true;
|
m_invalidActiveCellCountDetected = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user