diff --git a/ApplicationCode/Commands/RicImportFormationNamesFeature.cpp b/ApplicationCode/Commands/RicImportFormationNamesFeature.cpp index cdbe6e721a..6621afd80b 100644 --- a/ApplicationCode/Commands/RicImportFormationNamesFeature.cpp +++ b/ApplicationCode/Commands/RicImportFormationNamesFeature.cpp @@ -40,6 +40,26 @@ CAF_CMD_SOURCE_INIT( RicImportFormationNamesFeature, "RicImportFormationNamesFeature" ); +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RimFormationNames* RicImportFormationNamesFeature::importFormationFiles( const QStringList& fileNames ) +{ + RimProject* proj = RiaApplication::instance()->project(); + RimFormationNamesCollection* fomNameColl = proj->activeOilField()->formationNamesCollection(); + if ( !fomNameColl ) + { + fomNameColl = new RimFormationNamesCollection; + proj->activeOilField()->formationNamesCollection = fomNameColl; + } + + // For each file, find existing Formation names item, or create new + RimFormationNames* formationNames = fomNameColl->importFiles( fileNames ); + fomNameColl->updateConnectedEditors(); + + return formationNames; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -67,42 +87,35 @@ void RicImportFormationNamesFeature::onActionTriggered( bool isChecked ) app->setLastUsedDialogDirectory( "BINARY_GRID", QFileInfo( fileNames.last() ).absolutePath() ); // Find or create the FomationNamesCollection - - RimProject* proj = RiaApplication::instance()->project(); - RimFormationNamesCollection* fomNameColl = proj->activeOilField()->formationNamesCollection(); - if ( !fomNameColl ) - { - fomNameColl = new RimFormationNamesCollection; - proj->activeOilField()->formationNamesCollection = fomNameColl; - } - - // For each file, find existing Formation names item, or create new - RimFormationNames* formationName = fomNameColl->importFiles( fileNames ); + RimFormationNames* formationName = importFormationFiles( fileNames ); if ( fileNames.size() > 1 ) return; - std::vector cases; - proj->allCases( cases ); - - if ( !cases.empty() ) - { - Rim3dView* activeView = RiaApplication::instance()->activeReservoirView(); - if ( activeView ) - { - RimCase* ownerCase = activeView->ownerCase(); - if ( ownerCase ) - { - ownerCase->setFormationNames( formationName ); - ownerCase->updateConnectedEditors(); - } - } - } - - fomNameColl->updateConnectedEditors(); - if ( formationName ) { - Riu3DMainWindowTools::selectAsCurrentItem( formationName ); + RimProject* proj = RiaApplication::instance()->project(); + + std::vector cases; + proj->allCases( cases ); + + if ( !cases.empty() ) + { + Rim3dView* activeView = RiaApplication::instance()->activeReservoirView(); + if ( activeView ) + { + RimCase* ownerCase = activeView->ownerCase(); + if ( ownerCase ) + { + ownerCase->setFormationNames( formationName ); + ownerCase->updateConnectedEditors(); + } + } + } + + if ( formationName ) + { + Riu3DMainWindowTools::selectAsCurrentItem( formationName ); + } } } diff --git a/ApplicationCode/Commands/RicImportFormationNamesFeature.h b/ApplicationCode/Commands/RicImportFormationNamesFeature.h index 0927116a15..00599b651a 100644 --- a/ApplicationCode/Commands/RicImportFormationNamesFeature.h +++ b/ApplicationCode/Commands/RicImportFormationNamesFeature.h @@ -19,6 +19,7 @@ #pragma once #include "cafCmdFeature.h" +class RimFormationNames; //================================================================================================== /// @@ -27,6 +28,8 @@ class RicImportFormationNamesFeature : public caf::CmdFeature { CAF_CMD_HEADER_INIT; + static RimFormationNames* importFormationFiles( const QStringList& fileNames ); + protected: // Overrides bool isCommandEnabled() override; diff --git a/ApplicationCode/Commands/RicImportObservedFmuDataFeature.cpp b/ApplicationCode/Commands/RicImportObservedFmuDataFeature.cpp index 5348cfbc93..5b2e25f46a 100644 --- a/ApplicationCode/Commands/RicImportObservedFmuDataFeature.cpp +++ b/ApplicationCode/Commands/RicImportObservedFmuDataFeature.cpp @@ -18,6 +18,7 @@ #include "RicImportObservedFmuDataFeature.h" #include "RiaApplication.h" +#include "RicImportFormationNamesFeature.h" #include "RifReaderFmuRft.h" #include "RimObservedDataCollection.h" @@ -32,7 +33,9 @@ #include "cafSelectionManager.h" #include +#include #include +#include #include CAF_CMD_SOURCE_INIT( RicImportObservedFmuDataFeature, "RicImportObservedFmuDataFeature" ); @@ -62,6 +65,14 @@ void RicImportObservedFmuDataFeature::selectObservedDataPathInDialog() for ( const QString& subDir : subDirsWithFmuData ) { importedData = observedDataCollection->createAndAddFmuRftDataFromPath( subDir ); + QDir dir( subDir ); + QString layerZoneFile = dir.absoluteFilePath( "layer_zone_table.txt" ); + if ( QFileInfo::exists( layerZoneFile ) ) + { + QStringList fileNames; + fileNames << layerZoneFile; + RicImportFormationNamesFeature::importFormationFiles( fileNames ); + } } if ( importedData != nullptr ) {