Refactor: improve ImportFileType enum.

This commit is contained in:
Kristian Bendiksen
2025-05-28 11:28:00 +02:00
parent 13a793f16c
commit 201f5e0353
6 changed files with 62 additions and 37 deletions
@@ -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;
+29 -8
View File
@@ -264,6 +264,30 @@ RiaDefines::EclipseUnitSystem RiaDefines::fromDepthUnit( DepthUnitType depthUnit
return RiaDefines::EclipseUnitSystem::UNITS_UNKNOWN;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RiaDefines::isGeoMechFileType( ImportFileType fileType )
{
return BitmaskEnum<ImportFileType>( fileType ).AnyOf( ImportFileType::ANY_GEOMECH_FILE );
};
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RiaDefines::isEclipseResultFileType( ImportFileType fileType )
{
return BitmaskEnum<ImportFileType>( fileType ).AnyOf( ImportFileType::ECLIPSE_RESULT_GRID );
};
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RiaDefines::isEclipseFileType( ImportFileType fileType )
{
return BitmaskEnum<ImportFileType>( 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";
}
+17 -14
View File
@@ -23,7 +23,6 @@
#include "enum_bitmask.hpp"
#include <QString>
#include <set>
#include <vector>
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 )
@@ -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 )
{
@@ -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 );
}
@@ -19,6 +19,7 @@
#include "RicReplaceCaseFeature.h"
#include "RiaDefines.h"
#include "RiaEclipseFileNameTools.h"
#include "RiaGuiApplication.h"
#include "Summary/RiaSummaryTools.h"