mirror of
https://github.com/OPM/ResInsight.git
synced 2025-01-27 08:47:00 -06:00
11117383db
* Better minimum width for well log tracks * Fix alignment of scrollbar in Well log plots * Better Well Log Plot export * Hide scroll bar before plotting * Better borders * Create plots through Python * #4817 Create WBS plots with Python * Rebase Summary and WellLogPlot on top of a new RimPlot * Also Python: Allow setting folder as a parameter to export_snapshots * #4832 Prepare for well path import command * Well Path import WIP * #4830 #4832 Import well paths and well log files from file using Python. * #4837 Implement import of formation names in Python * Fix debug build issue * Fix RiaLogging build issue * Fix warnings * Yet another RiaLogging.h import added * #4839 Import exporting of las and ascii files from well log plots
100 lines
3.5 KiB
C++
100 lines
3.5 KiB
C++
/////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (C) 2019- Equinor 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 "RicfImportFormationNames.h"
|
|
|
|
#include "RiaApplication.h"
|
|
#include "RicImportFormationNamesFeature.h"
|
|
|
|
#include "RimCase.h"
|
|
#include "RimFormationNames.h"
|
|
#include "RimProject.h"
|
|
|
|
#include <QFileInfo>
|
|
|
|
CAF_PDM_SOURCE_INIT( RicfImportFormationNames, "importFormationNames" );
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
///
|
|
//--------------------------------------------------------------------------------------------------
|
|
RicfImportFormationNames::RicfImportFormationNames()
|
|
{
|
|
RICF_InitFieldNoDefault( &m_formationFiles, "formationFiles", "", "", "", "" );
|
|
RICF_InitField( &m_applyToCaseId, "applyToCaseId", -1, "", "", "", "" );
|
|
}
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
///
|
|
//--------------------------------------------------------------------------------------------------
|
|
RicfCommandResponse RicfImportFormationNames::execute()
|
|
{
|
|
QStringList errorMessages, warningMessages;
|
|
|
|
if ( !m_formationFiles().empty() )
|
|
{
|
|
QStringList formationFileList;
|
|
for ( QString formationFile : m_formationFiles() )
|
|
{
|
|
if ( QFileInfo::exists( formationFile ) )
|
|
{
|
|
formationFileList.push_back( formationFile );
|
|
}
|
|
else
|
|
{
|
|
errorMessages.push_back( QString( "%1 does not exist" ).arg( formationFile ) );
|
|
}
|
|
}
|
|
|
|
RimFormationNames* formationNames = RicImportFormationNamesFeature::importFormationFiles( formationFileList );
|
|
if ( formationNames )
|
|
{
|
|
if ( m_applyToCaseId() != -1 )
|
|
{
|
|
bool foundCase = false;
|
|
std::vector<RimCase*> cases;
|
|
RiaApplication::instance()->project()->allCases( cases );
|
|
for ( RimCase* rimCase : cases )
|
|
{
|
|
if ( rimCase->caseId() == m_applyToCaseId() )
|
|
{
|
|
rimCase->setFormationNames( formationNames );
|
|
rimCase->updateConnectedEditors();
|
|
foundCase = true;
|
|
break;
|
|
}
|
|
}
|
|
if ( !foundCase ) warningMessages << "Could not find the case to apply the formations to";
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
errorMessages << "No formation files provided";
|
|
}
|
|
|
|
RicfCommandResponse response;
|
|
for ( QString warningMessage : warningMessages )
|
|
{
|
|
response.updateStatus( RicfCommandResponse::COMMAND_WARNING, warningMessage );
|
|
}
|
|
for ( QString errorMessage : errorMessages )
|
|
{
|
|
response.updateStatus( RicfCommandResponse::COMMAND_ERROR, errorMessage );
|
|
}
|
|
return response;
|
|
}
|