mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -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:
@@ -68,14 +68,14 @@ const RigFemPartCollection* RigGeoMechCaseData::femParts() const
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
bool RigGeoMechCaseData::openAndReadFemParts()
|
bool RigGeoMechCaseData::openAndReadFemParts(std::string* errorMessage)
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifdef USE_ODB_API
|
#ifdef USE_ODB_API
|
||||||
m_readerInterface = new RifOdbReader;
|
m_readerInterface = new RifOdbReader;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (m_readerInterface.notNull() && m_readerInterface->openFile(m_geoMechCaseFileName))
|
if (m_readerInterface.notNull() && m_readerInterface->openFile(m_geoMechCaseFileName, errorMessage))
|
||||||
{
|
{
|
||||||
m_femParts = new RigFemPartCollection();
|
m_femParts = new RigFemPartCollection();
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public:
|
|||||||
RigGeoMechCaseData(const std::string& fileName);
|
RigGeoMechCaseData(const std::string& fileName);
|
||||||
~RigGeoMechCaseData();
|
~RigGeoMechCaseData();
|
||||||
|
|
||||||
bool openAndReadFemParts();
|
bool openAndReadFemParts(std::string* errorMessage);
|
||||||
|
|
||||||
RigFemPartCollection* femParts();
|
RigFemPartCollection* femParts();
|
||||||
const RigFemPartCollection* femParts() const;
|
const RigFemPartCollection* femParts() const;
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ RimGeoMechView* RimGeoMechCase::createAndAddReservoirView()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
bool RimGeoMechCase::openGeoMechCase()
|
bool RimGeoMechCase::openGeoMechCase(std::string* errorMessage)
|
||||||
{
|
{
|
||||||
// If read already, return
|
// If read already, return
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ bool RimGeoMechCase::openGeoMechCase()
|
|||||||
|
|
||||||
m_geoMechCaseData = new RigGeoMechCaseData(m_caseFileName().toStdString());
|
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;}
|
void setFileName(const QString& fileName) {m_caseFileName = fileName;}
|
||||||
QString caseFileName() const {return m_caseFileName();}
|
QString caseFileName() const {return m_caseFileName();}
|
||||||
bool openGeoMechCase();
|
bool openGeoMechCase(std::string* errorMessage);
|
||||||
|
|
||||||
RigGeoMechCaseData* geoMechData() { return m_geoMechCaseData.p(); }
|
RigGeoMechCaseData* geoMechData() { return m_geoMechCaseData.p(); }
|
||||||
const RigGeoMechCaseData* geoMechData() const { 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)
|
||||||
{
|
{
|
||||||
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(),
|
QMessageBox::warning(RiuMainWindow::instance(),
|
||||||
"Error when opening project file",
|
"File open error",
|
||||||
"Could not open the Odb file: \n"+ m_geomechCase->caseFileName());
|
displayMessage);
|
||||||
m_geomechCase = NULL;
|
m_geomechCase = NULL;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// m_geoMechFullModel->clearAndSetReservoir(m_geomechCase->geoMechData(), this);
|
// m_geoMechFullModel->clearAndSetReservoir(m_geomechCase->geoMechData(), this);
|
||||||
}
|
}
|
||||||
progress.incrementProgress();
|
progress.incrementProgress();
|
||||||
|
|||||||
Reference in New Issue
Block a user