mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-09 23:16:00 -06:00
Displaying error messages from ODB API on file open
Made sure that the error messages from the ODB API are picked if file open fails, and then displayed in an error messsage box.
This commit is contained in:
parent
bd6e6acc53
commit
43f50dac41
@ -68,14 +68,14 @@ const RigFemPartCollection* RigGeoMechCaseData::femParts() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RigGeoMechCaseData::openAndReadFemParts()
|
||||
bool RigGeoMechCaseData::openAndReadFemParts(std::string* errorMessage)
|
||||
{
|
||||
|
||||
#ifdef USE_ODB_API
|
||||
m_readerInterface = new RifOdbReader;
|
||||
#endif
|
||||
|
||||
if (m_readerInterface.notNull() && m_readerInterface->openFile(m_geoMechCaseFileName))
|
||||
if (m_readerInterface.notNull() && m_readerInterface->openFile(m_geoMechCaseFileName, errorMessage))
|
||||
{
|
||||
m_femParts = new RigFemPartCollection();
|
||||
|
||||
|
@ -37,7 +37,7 @@ public:
|
||||
RigGeoMechCaseData(const std::string& fileName);
|
||||
~RigGeoMechCaseData();
|
||||
|
||||
bool openAndReadFemParts();
|
||||
bool openAndReadFemParts(std::string* errorMessage);
|
||||
|
||||
RigFemPartCollection* femParts();
|
||||
const RigFemPartCollection* femParts() const;
|
||||
|
@ -65,7 +65,7 @@ RimGeoMechView* RimGeoMechCase::createAndAddReservoirView()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimGeoMechCase::openGeoMechCase()
|
||||
bool RimGeoMechCase::openGeoMechCase(std::string* errorMessage)
|
||||
{
|
||||
// If read already, return
|
||||
|
||||
@ -79,7 +79,7 @@ bool RimGeoMechCase::openGeoMechCase()
|
||||
|
||||
m_geoMechCaseData = new RigGeoMechCaseData(m_caseFileName().toStdString());
|
||||
|
||||
return m_geoMechCaseData->openAndReadFemParts();
|
||||
return m_geoMechCaseData->openAndReadFemParts(errorMessage);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -43,7 +43,7 @@ public:
|
||||
|
||||
void setFileName(const QString& fileName) {m_caseFileName = fileName;}
|
||||
QString caseFileName() const {return m_caseFileName();}
|
||||
bool openGeoMechCase();
|
||||
bool openGeoMechCase(std::string* errorMessage);
|
||||
|
||||
RigGeoMechCaseData* geoMechData() { return m_geoMechCaseData.p(); }
|
||||
const RigGeoMechCaseData* geoMechData() const { return m_geoMechCaseData.p(); }
|
||||
|
@ -122,14 +122,17 @@ void RimGeoMechView::loadDataAndUpdate()
|
||||
|
||||
if (m_geomechCase)
|
||||
{
|
||||
if (!m_geomechCase->openGeoMechCase())
|
||||
{
|
||||
std::string errorMessage;
|
||||
if (!m_geomechCase->openGeoMechCase(&errorMessage))
|
||||
{
|
||||
QString displayMessage = errorMessage.empty() ? "Could not open the Odb file: \n" + m_geomechCase->caseFileName() : QString::fromStdString(errorMessage);
|
||||
|
||||
QMessageBox::warning(RiuMainWindow::instance(),
|
||||
"Error when opening project file",
|
||||
"Could not open the Odb file: \n"+ m_geomechCase->caseFileName());
|
||||
"File open error",
|
||||
displayMessage);
|
||||
m_geomechCase = NULL;
|
||||
return;
|
||||
}
|
||||
}
|
||||
// m_geoMechFullModel->clearAndSetReservoir(m_geomechCase->geoMechData(), this);
|
||||
}
|
||||
progress.incrementProgress();
|
||||
|
Loading…
Reference in New Issue
Block a user