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:
Magne Sjaastad 2013-04-11 12:06:38 +02:00
parent 9ae4ac94b6
commit 48d2a6c598
13 changed files with 111 additions and 56 deletions

View File

@ -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);

View File

@ -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();

View File

@ -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;
}
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -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;
}; };

View File

@ -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;
} }

View File

@ -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));

View File

@ -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;
}; };

View File

@ -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;
} }

View File

@ -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";
}
}
} }

View File

@ -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;
}; };

View File

@ -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);

View File

@ -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);
} }

View File

@ -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;