#7965 Add check box for choosing grouping by iteration.

This commit is contained in:
Kristian Bendiksen
2021-09-22 08:56:32 +02:00
parent 7ca424f6df
commit c6f04a6ad6
11 changed files with 124 additions and 45 deletions
@@ -55,14 +55,21 @@ bool RicImportEnsembleFractureStatisticsFeature::isCommandEnabled()
//--------------------------------------------------------------------------------------------------
void RicImportEnsembleFractureStatisticsFeature::onActionTriggered( bool isChecked )
{
RiaGuiApplication* app = RiaGuiApplication::instance();
QString pathCacheName = "INPUT_FILES";
QStringList fileNames = runRecursiveFileSearchDialog( "Import StimPlan Fractures", pathCacheName );
RiaGuiApplication* app = RiaGuiApplication::instance();
QString pathCacheName = "INPUT_FILES";
auto [fileNames, groupByIteration] = runRecursiveFileSearchDialog( "Import StimPlan Fractures", pathCacheName );
std::vector<QStringList> groupedByEnsemble = RiaEnsembleNameTools::groupFilesByEnsemble( fileNames );
for ( const QStringList& groupedFileNames : groupedByEnsemble )
if ( groupByIteration )
{
importSingleEnsembleFractureStatistics( groupedFileNames );
std::vector<QStringList> groupedByEnsemble = RiaEnsembleNameTools::groupFilesByEnsemble( fileNames );
for ( const QStringList& groupedFileNames : groupedByEnsemble )
{
importSingleEnsembleFractureStatistics( groupedFileNames );
}
}
else
{
importSingleEnsembleFractureStatistics( fileNames );
}
}
@@ -117,8 +124,9 @@ void RicImportEnsembleFractureStatisticsFeature::setupActionLook( QAction* actio
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QStringList RicImportEnsembleFractureStatisticsFeature::runRecursiveFileSearchDialog( const QString& dialogTitle,
const QString& pathCacheName )
std::pair<QStringList, bool>
RicImportEnsembleFractureStatisticsFeature::runRecursiveFileSearchDialog( const QString& dialogTitle,
const QString& pathCacheName )
{
RiaApplication* app = RiaApplication::instance();
QString defaultDir = app->lastUsedDialogDirectory( pathCacheName );
@@ -135,10 +143,10 @@ QStringList RicImportEnsembleFractureStatisticsFeature::runRecursiveFileSearchDi
m_pathFilter = result.pathFilter;
m_fileNameFilter = result.fileNameFilter;
if ( !result.ok ) return QStringList();
if ( !result.ok ) return std::make_pair( QStringList(), false );
// Remember the path to next time
app->setLastUsedDialogDirectory( pathCacheName, QFileInfo( result.rootDir ).absoluteFilePath() );
return result.files;
return std::make_pair( result.files, result.groupByIteration );
}
@@ -32,7 +32,8 @@ class RicImportEnsembleFractureStatisticsFeature : public caf::CmdFeature
public:
RicImportEnsembleFractureStatisticsFeature() {}
static QStringList runRecursiveFileSearchDialog( const QString& dialogTitle, const QString& pathCacheName );
static std::pair<QStringList, bool> runRecursiveFileSearchDialog( const QString& dialogTitle,
const QString& pathCacheName );
protected:
static void importSingleEnsembleFractureStatistics( const QStringList& fileNames );