diff --git a/ApplicationLibCode/Application/RiaApplication.cpp b/ApplicationLibCode/Application/RiaApplication.cpp index 7fd7109a46..03f1c89109 100644 --- a/ApplicationLibCode/Application/RiaApplication.cpp +++ b/ApplicationLibCode/Application/RiaApplication.cpp @@ -22,6 +22,7 @@ #include "Cloud/RiaSumoConnector.h" #include "Cloud/RiaSumoDefines.h" #include "KeyValueStore/RiaKeyValueStore.h" +#include "RiaDefines.h" #include "RiaOsduDefines.h" #include "RiaBaseDefs.h" @@ -377,12 +378,12 @@ bool RiaApplication::openFile( const QString& fileName ) { loadingSucceded = loadProject( fileName ); } - else if ( int( fileType ) & int( RiaDefines::ImportFileType::ANY_GEOMECH_FILE ) ) + else if ( RiaDefines::isGeoMechFileType( fileType ) ) { loadingSucceded = openOdbCaseFromFile( fileName ); lastUsedDialogTag = "GEOMECH_MODEL"; } - else if ( int( fileType ) & int( RiaDefines::ImportFileType::ANY_ECLIPSE_FILE ) ) + else if ( RiaDefines::isEclipseFileType( fileType ) ) { bool createView = true; bool createPlot = true; diff --git a/ApplicationLibCode/Application/RiaDefines.cpp b/ApplicationLibCode/Application/RiaDefines.cpp index ec48f9dcdc..def29b1ad8 100644 --- a/ApplicationLibCode/Application/RiaDefines.cpp +++ b/ApplicationLibCode/Application/RiaDefines.cpp @@ -264,6 +264,30 @@ RiaDefines::EclipseUnitSystem RiaDefines::fromDepthUnit( DepthUnitType depthUnit return RiaDefines::EclipseUnitSystem::UNITS_UNKNOWN; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RiaDefines::isGeoMechFileType( ImportFileType fileType ) +{ + return BitmaskEnum( fileType ).AnyOf( ImportFileType::ANY_GEOMECH_FILE ); +}; + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RiaDefines::isEclipseResultFileType( ImportFileType fileType ) +{ + return BitmaskEnum( fileType ).AnyOf( ImportFileType::ECLIPSE_RESULT_GRID ); +}; + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RiaDefines::isEclipseFileType( ImportFileType fileType ) +{ + return BitmaskEnum( fileType ).AnyOf( ImportFileType::ANY_ECLIPSE_FILE ); +}; + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -320,28 +344,25 @@ RiaDefines::ImportFileType RiaDefines::obtainFileTypeFromFileName( const QString QString RiaDefines::defaultDirectoryLabel( RiaDefines::ImportFileType fileType ) { QString defaultDirLabel; - - int fileTypeAsInt = int( fileType ); - - if ( fileType == ImportFileType::ANY_ECLIPSE_FILE ) + if ( RiaDefines::isEclipseFileType( fileType ) ) { defaultDirLabel = "GENERAL_DATA"; } - else if ( fileTypeAsInt & int( ImportFileType::ECLIPSE_RESULT_GRID ) ) + else if ( RiaDefines::isEclipseResultFileType( fileType ) ) { defaultDirLabel = "BINARY_GRID"; } - else if ( fileTypeAsInt & int( ImportFileType::ECLIPSE_INPUT_FILE ) ) + else if ( fileType == ImportFileType::ECLIPSE_INPUT_FILE ) { defaultDirLabel = "INPUT_FILES"; } - else if ( fileTypeAsInt & int( ImportFileType::ECLIPSE_SUMMARY_FILE ) ) + else if ( fileType == ImportFileType::ECLIPSE_SUMMARY_FILE ) { // TODO: Summary files used "INPUT_FILES" as last used directory. // Check if this is correct. defaultDirLabel = "INPUT_FILES"; } - else if ( fileTypeAsInt & int( ImportFileType::GEOMECH_ODB_FILE ) ) + else if ( fileType == ImportFileType::GEOMECH_ODB_FILE ) { defaultDirLabel = "GEOMECH_MODEL"; } diff --git a/ApplicationLibCode/Application/RiaDefines.h b/ApplicationLibCode/Application/RiaDefines.h index 1bcd51c4f3..04ba58e8d1 100644 --- a/ApplicationLibCode/Application/RiaDefines.h +++ b/ApplicationLibCode/Application/RiaDefines.h @@ -23,7 +23,6 @@ #include "enum_bitmask.hpp" #include -#include #include namespace RiaDefines @@ -123,24 +122,28 @@ enum class PhaseType PHASE_NOT_APPLICABLE }; -enum class ImportFileType +enum class ImportFileType : uint32_t { - NOT_A_VALID_IMPORT_FILE = 0x00, - ECLIPSE_GRID_FILE = 0x01, - ECLIPSE_EGRID_FILE = 0x02, - ECLIPSE_INPUT_FILE = 0x04, - ECLIPSE_SUMMARY_FILE = 0x08, - GEOMECH_ODB_FILE = 0x10, - RESINSIGHT_PROJECT_FILE = 0x20, - GEOMECH_INP_FILE = 0x40, - EM_H5GRID = 0x80, - ROFF_FILE = 0x100, + NOT_A_VALID_IMPORT_FILE = 1 << 0, + ECLIPSE_GRID_FILE = 1 << 1, + ECLIPSE_EGRID_FILE = 1 << 2, + ECLIPSE_INPUT_FILE = 1 << 3, + ECLIPSE_SUMMARY_FILE = 1 << 4, + GEOMECH_ODB_FILE = 1 << 5, + RESINSIGHT_PROJECT_FILE = 1 << 6, + GEOMECH_INP_FILE = 1 << 7, + EM_H5GRID = 1 << 8, + ROFF_FILE = 1 << 9, ECLIPSE_RESULT_GRID = ECLIPSE_GRID_FILE | ECLIPSE_EGRID_FILE, ANY_ECLIPSE_FILE = ECLIPSE_RESULT_GRID | ECLIPSE_INPUT_FILE | ECLIPSE_SUMMARY_FILE | ROFF_FILE | EM_H5GRID, ANY_GEOMECH_FILE = GEOMECH_ODB_FILE | GEOMECH_INP_FILE, - ANY_IMPORT_FILE = 0xFF + ANY_IMPORT_FILE = ANY_ECLIPSE_FILE | ANY_GEOMECH_FILE | RESINSIGHT_PROJECT_FILE }; +bool isGeoMechFileType( ImportFileType fileType ); +bool isEclipseResultFileType( ImportFileType fileType ); +bool isEclipseFileType( ImportFileType fileType ); + ImportFileType obtainFileTypeFromFileName( const QString& fileName ); QString defaultDirectoryLabel( ImportFileType fileTypes ); @@ -253,10 +256,10 @@ enum class ItemIn3dView }; QString betaFeaturePostfix(); - }; // namespace RiaDefines // Activate bit mask operators at global scope ENABLE_BITMASK_OPERATORS( RiaDefines::MultiPlotPageUpdateType ) ENABLE_BITMASK_OPERATORS( RiaDefines::View3dContent ) ENABLE_BITMASK_OPERATORS( RiaDefines::ItemIn3dView ) +ENABLE_BITMASK_OPERATORS( RiaDefines::ImportFileType ) diff --git a/ApplicationLibCode/Application/RiaGuiApplication.cpp b/ApplicationLibCode/Application/RiaGuiApplication.cpp index ca7be412d2..6adcaf1884 100644 --- a/ApplicationLibCode/Application/RiaGuiApplication.cpp +++ b/ApplicationLibCode/Application/RiaGuiApplication.cpp @@ -1173,7 +1173,7 @@ void RiaGuiApplication::invokeProcessEvents( QEventLoop::ProcessEventsFlags flag //-------------------------------------------------------------------------------------------------- void RiaGuiApplication::onFileSuccessfullyLoaded( const QString& fileName, RiaDefines::ImportFileType fileType ) { - if ( uint( fileType ) & uint( RiaDefines::ImportFileType::ANY_ECLIPSE_FILE ) ) + if ( RiaDefines::isEclipseFileType( fileType ) ) { if ( fileType == RiaDefines::ImportFileType::ECLIPSE_SUMMARY_FILE ) { diff --git a/ApplicationLibCode/Commands/RicImportGeneralDataFeature.cpp b/ApplicationLibCode/Commands/RicImportGeneralDataFeature.cpp index f585c004d1..bde8820519 100644 --- a/ApplicationLibCode/Commands/RicImportGeneralDataFeature.cpp +++ b/ApplicationLibCode/Commands/RicImportGeneralDataFeature.cpp @@ -74,24 +74,24 @@ RicImportGeneralDataFeature::OpenCaseResults RicImportGeneralDataFeature::openEc for ( const QString& fileName : fileNames ) { - int fileTypeAsInt = int( obtainFileTypeFromFileName( fileName ) ); - if ( fileTypeAsInt & ( int( ImportFileType::ECLIPSE_GRID_FILE ) | int( ImportFileType::ECLIPSE_EGRID_FILE ) ) ) + RiaDefines::ImportFileType fileType = obtainFileTypeFromFileName( fileName ); + if ( RiaDefines::isEclipseResultFileType( fileType ) ) { eclipseCaseFiles.push_back( fileName ); } - else if ( fileTypeAsInt & int( ImportFileType::ECLIPSE_INPUT_FILE ) ) + else if ( fileType == ImportFileType::ECLIPSE_INPUT_FILE ) { eclipseInputFiles.push_back( fileName ); } - else if ( fileTypeAsInt & int( ImportFileType::ECLIPSE_SUMMARY_FILE ) ) + else if ( fileType == ImportFileType::ECLIPSE_SUMMARY_FILE ) { eclipseSummaryFiles.push_back( fileName ); } - else if ( fileTypeAsInt & int( ImportFileType::ROFF_FILE ) ) + else if ( fileType == ImportFileType::ROFF_FILE ) { roffFiles.push_back( fileName ); } - else if ( fileTypeAsInt & int( ImportFileType::EM_H5GRID ) ) + else if ( fileType == ImportFileType::EM_H5GRID ) { emFiles.push_back( fileName ); } @@ -268,24 +268,23 @@ QStringList RicImportGeneralDataFeature::getEclipseFileNamesWithDialog( RiaDefin filePatternTexts += getFilePattern( ImportFileType::ANY_ECLIPSE_FILE ); } - int fileTypeAsInt = int( fileType ); - if ( fileTypeAsInt & int( ImportFileType::ECLIPSE_EGRID_FILE ) ) + if ( fileType == ImportFileType::ECLIPSE_EGRID_FILE ) { filePatternTexts += getFilePattern( ImportFileType::ECLIPSE_EGRID_FILE ); } - if ( fileTypeAsInt & int( ImportFileType::ECLIPSE_GRID_FILE ) ) + if ( fileType == ImportFileType::ECLIPSE_GRID_FILE ) { filePatternTexts += getFilePattern( ImportFileType::ECLIPSE_GRID_FILE ); } - if ( fileTypeAsInt & int( ImportFileType::ECLIPSE_INPUT_FILE ) ) + if ( fileType == ImportFileType::ECLIPSE_INPUT_FILE ) { filePatternTexts += getFilePattern( ImportFileType::ECLIPSE_INPUT_FILE ); } - if ( fileTypeAsInt & int( ImportFileType::ECLIPSE_SUMMARY_FILE ) ) + if ( fileType == ImportFileType::ECLIPSE_SUMMARY_FILE ) { filePatternTexts += getFilePattern( ImportFileType::ECLIPSE_SUMMARY_FILE ); } - if ( fileTypeAsInt & int( ImportFileType::ROFF_FILE ) ) + if ( fileType == ImportFileType::ROFF_FILE ) { filePatternTexts += getFilePattern( ImportFileType::ROFF_FILE ); } diff --git a/ApplicationLibCode/Commands/RicReplaceCaseFeature.cpp b/ApplicationLibCode/Commands/RicReplaceCaseFeature.cpp index c692e7f0de..4dcfdc904f 100644 --- a/ApplicationLibCode/Commands/RicReplaceCaseFeature.cpp +++ b/ApplicationLibCode/Commands/RicReplaceCaseFeature.cpp @@ -19,6 +19,7 @@ #include "RicReplaceCaseFeature.h" +#include "RiaDefines.h" #include "RiaEclipseFileNameTools.h" #include "RiaGuiApplication.h" #include "Summary/RiaSummaryTools.h"