mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
This commit is contained in:
@@ -32,9 +32,9 @@ namespace caf
|
||||
template<>
|
||||
void RiaPreferences::SummaryRestartFilesImportModeType::setUp()
|
||||
{
|
||||
addItem(RiaPreferences::IMPORT, "IMPORT", "Always import");
|
||||
addItem(RiaPreferences::NOT_IMPORT, "NOT_IMPORT", "Never import");
|
||||
addItem(RiaPreferences::SEPARATE_CASES, "SEPARATE_CASES", "Import as separate summary cases");
|
||||
addItem(RiaPreferences::IMPORT, "IMPORT", "Unified");
|
||||
addItem(RiaPreferences::NOT_IMPORT, "NOT_IMPORT", "Skip");
|
||||
addItem(RiaPreferences::SEPARATE_CASES, "SEPARATE_CASES", "Separate Cases");
|
||||
setDefault(RiaPreferences::IMPORT);
|
||||
}
|
||||
}
|
||||
@@ -102,8 +102,8 @@ RiaPreferences::RiaPreferences(void)
|
||||
loadAndShowSoil.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&summaryRestartFilesShowImportDialog, "summaryRestartFilesShowImportDialog", "Show Import Dialog", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&summaryRestartFilesImportMode, "summaryRestartFilesImportMode", "Default Import Mode", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&importRestartGridCaseFiles, "importRestartGridCaseFiles", "Import Restart Grid Cases", "", "", "");
|
||||
CAF_PDM_InitField(&summaryImportMode, "summaryImportMode", SummaryRestartFilesImportModeType(RiaPreferences::IMPORT), "Default Summary Import Option", "", "", "");
|
||||
CAF_PDM_InitField(&gridImportMode, "gridImportMode", SummaryRestartFilesImportModeType(RiaPreferences::NOT_IMPORT), "Default Grid Import Option", "", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_readerSettings, "readerSettings", "Reader Settings", "", "", "");
|
||||
m_readerSettings = new RifReaderSettings;
|
||||
@@ -193,9 +193,12 @@ void RiaPreferences::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering&
|
||||
|
||||
m_readerSettings->defineUiOrdering(uiConfigName, *newCaseBehaviourGroup);
|
||||
|
||||
caf::PdmUiGroup* restartBehaviourGroup = uiOrdering.addNewGroup("Summary Restart Files");
|
||||
caf::PdmUiGroup* restartBehaviourGroup = uiOrdering.addNewGroup("Restart Files");
|
||||
restartBehaviourGroup->add(&summaryRestartFilesShowImportDialog);
|
||||
restartBehaviourGroup->add(&summaryRestartFilesImportMode);
|
||||
caf::PdmUiGroup* summaryImportOptionGroup = restartBehaviourGroup->addNewGroup("Origin Summary Files");
|
||||
summaryImportOptionGroup->add(&summaryImportMode);
|
||||
caf::PdmUiGroup* gridImportOptionGroup = restartBehaviourGroup->addNewGroup("Origin Grid Files");
|
||||
gridImportOptionGroup->add(&gridImportMode);
|
||||
}
|
||||
else if (uiConfigName == m_tabNames[2])
|
||||
{
|
||||
@@ -240,6 +243,15 @@ QList<caf::PdmOptionItemInfo> RiaPreferences::calculateValueOptions(const caf::P
|
||||
options.push_back(caf::PdmOptionItemInfo(fontSizes[oIdx], fontSizes[oIdx]));
|
||||
}
|
||||
}
|
||||
else if (fieldNeedingOptions == &gridImportMode)
|
||||
{
|
||||
// Manual option handling in order to one only a subset of the enum values
|
||||
SummaryRestartFilesImportModeType skip(RiaPreferences::NOT_IMPORT);
|
||||
SummaryRestartFilesImportModeType separate(RiaPreferences::SEPARATE_CASES);
|
||||
|
||||
options.push_back(caf::PdmOptionItemInfo(skip.uiText(), RiaPreferences::NOT_IMPORT));
|
||||
options.push_back(caf::PdmOptionItemInfo(separate.uiText(), RiaPreferences::SEPARATE_CASES));
|
||||
}
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
@@ -81,8 +81,8 @@ public: // Pdm Fields
|
||||
caf::PdmField<bool> loadAndShowSoil;
|
||||
|
||||
caf::PdmField<bool> summaryRestartFilesShowImportDialog;
|
||||
caf::PdmField<SummaryRestartFilesImportModeType> summaryRestartFilesImportMode;
|
||||
caf::PdmField<bool> importRestartGridCaseFiles;
|
||||
caf::PdmField<SummaryRestartFilesImportModeType> summaryImportMode;
|
||||
caf::PdmField<SummaryRestartFilesImportModeType> gridImportMode;
|
||||
|
||||
protected:
|
||||
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute);
|
||||
|
||||
@@ -83,7 +83,8 @@ bool RiaImportEclipseCaseTools::openEclipseCasesFromFile(const QStringList& file
|
||||
for (RimSummaryCase* newSumCase : newSumCases)
|
||||
{
|
||||
QString gridCaseFile = RifEclipseSummaryTools::findGridCaseFileFromSummaryHeaderFile(newSumCase->summaryHeaderFilename());
|
||||
if (!gridCaseFile.isEmpty())
|
||||
RimEclipseCase* gridCase = project->eclipseCaseFromGridFileName(gridCaseFile);
|
||||
if (gridCase)
|
||||
{
|
||||
RimSummaryCase* existingFileSummaryCase = sumCaseColl->findSummaryCaseFromFileName(newSumCase->summaryHeaderFilename());
|
||||
if (existingFileSummaryCase)
|
||||
|
||||
@@ -67,11 +67,12 @@ RicSummaryCaseRestartDialog::RicSummaryCaseRestartDialog(QWidget* parent)
|
||||
: QDialog(parent, RiuTools::defaultDialogFlags())
|
||||
{
|
||||
// Create widgets
|
||||
m_currentFileGridLayout = new QGridLayout();
|
||||
m_readAllRadioButton = new QRadioButton(this);
|
||||
m_notReadRadionButton = new QRadioButton(this);
|
||||
m_separateCasesRadionButton = new QRadioButton(this);
|
||||
m_includeGridHistoryFiles = new QCheckBox(this);
|
||||
m_currentSummaryFileLayout = new QGridLayout();
|
||||
m_summaryReadAllBtn = new QRadioButton(this);
|
||||
m_summarySeparateCasesBtn = new QRadioButton(this);
|
||||
m_summaryNotReadBtn = new QRadioButton(this);
|
||||
m_gridSeparateCasesBtn = new QRadioButton(this);
|
||||
m_gridNotReadBtn = new QRadioButton(this);
|
||||
m_applyToAllCheckBox = new QCheckBox(this);
|
||||
|
||||
m_buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
|
||||
@@ -81,38 +82,65 @@ RicSummaryCaseRestartDialog::RicSummaryCaseRestartDialog(QWidget* parent)
|
||||
connect(m_buttons, SIGNAL(rejected()), this, SLOT(slotDialogCancelClicked()));
|
||||
|
||||
// Set widget properties
|
||||
m_readAllRadioButton->setText("Import All Restart Files");
|
||||
m_notReadRadionButton->setText("Do Not Import Restart Files");
|
||||
m_separateCasesRadionButton->setText("Import Restart Files as Separate Cases");
|
||||
m_includeGridHistoryFiles->setText("Import Historic Grid Case Files");
|
||||
m_summaryReadAllBtn->setText("Unified");
|
||||
m_summarySeparateCasesBtn->setText("Separate Cases");
|
||||
m_summaryNotReadBtn->setText("Skip");
|
||||
m_gridSeparateCasesBtn->setText("Separate Cases");
|
||||
m_gridNotReadBtn->setText("Skip");
|
||||
m_applyToAllCheckBox->setText("Apply to All Files");
|
||||
|
||||
// Define layout
|
||||
QVBoxLayout* dialogLayout = new QVBoxLayout();
|
||||
|
||||
QGroupBox* currentFileGroup = new QGroupBox("Current Summary File");
|
||||
m_currentFileGridLayout = new QGridLayout();
|
||||
currentFileGroup->setLayout(m_currentFileGridLayout);
|
||||
m_currentSummaryFileLayout = new QGridLayout();
|
||||
currentFileGroup->setLayout(m_currentSummaryFileLayout);
|
||||
|
||||
QGroupBox* filesGroup = new QGroupBox("Found Restart Files");
|
||||
m_filesGridLayout = new QGridLayout();
|
||||
filesGroup->setLayout(m_filesGridLayout);
|
||||
// Summary files
|
||||
QGroupBox* summaryFilesGroup = new QGroupBox("Found Origin Summary Files");
|
||||
{
|
||||
QVBoxLayout* filesGroupLayout = new QVBoxLayout();
|
||||
summaryFilesGroup->setLayout(filesGroupLayout);
|
||||
|
||||
QGroupBox* optionsGroup = new QGroupBox("Read Options");
|
||||
QVBoxLayout* optionsLayout = new QVBoxLayout();
|
||||
optionsLayout->addWidget(m_readAllRadioButton);
|
||||
optionsLayout->addWidget(m_notReadRadionButton);
|
||||
optionsLayout->addWidget(m_separateCasesRadionButton);
|
||||
optionsLayout->addWidget(m_includeGridHistoryFiles);
|
||||
optionsGroup->setLayout(optionsLayout);
|
||||
m_summaryFilesLayout = new QGridLayout();
|
||||
filesGroupLayout->addLayout(m_summaryFilesLayout);
|
||||
m_summaryFilesLayout->setContentsMargins(0, 0, 0, 20);
|
||||
|
||||
QGroupBox* optionsGroup = new QGroupBox("Import Options");
|
||||
QVBoxLayout* optionsLayout = new QVBoxLayout();
|
||||
optionsGroup->setLayout(optionsLayout);
|
||||
optionsLayout->addWidget(m_summaryReadAllBtn);
|
||||
optionsLayout->addWidget(m_summarySeparateCasesBtn);
|
||||
optionsLayout->addWidget(m_summaryNotReadBtn);
|
||||
filesGroupLayout->addWidget(optionsGroup);
|
||||
}
|
||||
|
||||
// Grid files
|
||||
m_gridFilesGroup = new QGroupBox("Found Origin Grid Files");
|
||||
{
|
||||
QVBoxLayout* filesGroupLayout = new QVBoxLayout();
|
||||
m_gridFilesGroup->setLayout(filesGroupLayout);
|
||||
|
||||
m_gridFilesLayout = new QGridLayout();
|
||||
filesGroupLayout->addLayout(m_gridFilesLayout);
|
||||
m_gridFilesLayout->setContentsMargins(0, 0, 0, 20);
|
||||
|
||||
QGroupBox* optionsGroup = new QGroupBox("Import Options");
|
||||
QVBoxLayout* optionsLayout = new QVBoxLayout();
|
||||
optionsGroup->setLayout(optionsLayout);
|
||||
optionsLayout->addWidget(m_gridSeparateCasesBtn);
|
||||
optionsLayout->addWidget(m_gridNotReadBtn);
|
||||
filesGroupLayout->addWidget(optionsGroup);
|
||||
}
|
||||
|
||||
// Apply to all checkbox and buttons
|
||||
QHBoxLayout* buttonsLayout = new QHBoxLayout();
|
||||
buttonsLayout->addWidget(m_applyToAllCheckBox);
|
||||
buttonsLayout->addWidget(m_buttons);
|
||||
|
||||
dialogLayout->addWidget(currentFileGroup);
|
||||
dialogLayout->addWidget(filesGroup);
|
||||
dialogLayout->addWidget(optionsGroup);
|
||||
dialogLayout->addWidget(summaryFilesGroup);
|
||||
dialogLayout->addWidget(m_gridFilesGroup);
|
||||
dialogLayout->addLayout(buttonsLayout);
|
||||
|
||||
setLayout(dialogLayout);
|
||||
@@ -131,7 +159,8 @@ RicSummaryCaseRestartDialog::~RicSummaryCaseRestartDialog()
|
||||
RicSummaryCaseRestartDialogResult RicSummaryCaseRestartDialog::openDialog(const QString& summaryHeaderFile,
|
||||
bool showApplyToAllWidget,
|
||||
bool buildGridCaseFileList,
|
||||
ReadOptions defaultReadOption,
|
||||
ImportOptions defaultSummaryImportOption,
|
||||
ImportOptions defaultGridImportOption,
|
||||
RicSummaryCaseRestartDialogResult *lastResult,
|
||||
QWidget *parent)
|
||||
{
|
||||
@@ -144,13 +173,13 @@ RicSummaryCaseRestartDialogResult RicSummaryCaseRestartDialog::openDialog(const
|
||||
}
|
||||
|
||||
RifReaderEclipseSummary reader;
|
||||
std::vector<RifRestartFileInfo> restartFileInfos = reader.getRestartFiles(summaryHeaderFile);
|
||||
std::vector<RifRestartFileInfo> originFileInfos = reader.getRestartFiles(summaryHeaderFile);
|
||||
|
||||
// If no restart files are found, do not show dialog
|
||||
if (restartFileInfos.empty())
|
||||
if (originFileInfos.empty())
|
||||
{
|
||||
QString gridCaseFile = RifEclipseSummaryTools::findGridCaseFileFromSummaryHeaderFile(summaryHeaderFile);
|
||||
return RicSummaryCaseRestartDialogResult(true, NOT_IMPORT, QStringList({ summaryHeaderFile }), false, false, QStringList({ gridCaseFile }));
|
||||
return RicSummaryCaseRestartDialogResult(true, NOT_IMPORT, NOT_IMPORT, QStringList({ summaryHeaderFile }), QStringList({ gridCaseFile }), false);
|
||||
}
|
||||
|
||||
RicSummaryCaseRestartDialogResult dialogResult;
|
||||
@@ -158,60 +187,84 @@ RicSummaryCaseRestartDialogResult RicSummaryCaseRestartDialog::openDialog(const
|
||||
{
|
||||
dialogResult = *lastResult;
|
||||
dialogResult.summaryFiles.clear();
|
||||
dialogResult.restartGridFilesToImport.clear();
|
||||
dialogResult.gridFiles.clear();
|
||||
}
|
||||
else
|
||||
{
|
||||
dialog.setWindowTitle("Summary Case Restart Files");
|
||||
dialog.setWindowTitle("Restart Files");
|
||||
|
||||
dialog.appendFileInfoToGridLayout(*dialog.m_currentFileGridLayout, currentFileInfo);
|
||||
for (const auto& restartFileInfo : restartFileInfos)
|
||||
dialog.appendFileInfoToGridLayout(*dialog.m_currentSummaryFileLayout, currentFileInfo);
|
||||
for (const auto& ofi : originFileInfos)
|
||||
{
|
||||
dialog.appendFileInfoToGridLayout(*dialog.m_filesGridLayout, restartFileInfo);
|
||||
dialog.appendFileInfoToGridLayout(*dialog.m_summaryFilesLayout, ofi);
|
||||
}
|
||||
|
||||
switch (defaultReadOption)
|
||||
switch (defaultSummaryImportOption)
|
||||
{
|
||||
case ReadOptions::IMPORT_ALL: dialog.m_readAllRadioButton->setChecked(true); break;
|
||||
case ReadOptions::NOT_IMPORT: dialog.m_notReadRadionButton->setChecked(true); break;
|
||||
case ReadOptions::SEPARATE_CASES: dialog.m_separateCasesRadionButton->setChecked(true); break;
|
||||
case ImportOptions::IMPORT_ALL: dialog.m_summaryReadAllBtn->setChecked(true); break;
|
||||
case ImportOptions::SEPARATE_CASES: dialog.m_summarySeparateCasesBtn->setChecked(true); break;
|
||||
case ImportOptions::NOT_IMPORT: dialog.m_summaryNotReadBtn->setChecked(true); break;
|
||||
}
|
||||
|
||||
dialog.m_gridFilesGroup->setVisible(buildGridCaseFileList);
|
||||
if (buildGridCaseFileList)
|
||||
{
|
||||
bool gridFilesAdded = false;
|
||||
for (const auto& ofi : originFileInfos)
|
||||
{
|
||||
QString gridFile = RifEclipseSummaryTools::findGridCaseFileFromSummaryHeaderFile(ofi.fileName);
|
||||
if (QFileInfo(gridFile).exists())
|
||||
{
|
||||
dialog.appendFileInfoToGridLayout(*dialog.m_gridFilesLayout, RifRestartFileInfo(gridFile, ofi.startDate, ofi.endDate));
|
||||
gridFilesAdded = true;
|
||||
}
|
||||
}
|
||||
if (!gridFilesAdded) dialog.m_gridFilesGroup->setVisible(false);
|
||||
|
||||
switch (defaultGridImportOption)
|
||||
{
|
||||
case ImportOptions::SEPARATE_CASES: dialog.m_gridSeparateCasesBtn->setChecked(true); break;
|
||||
case ImportOptions::NOT_IMPORT: dialog.m_gridNotReadBtn->setChecked(true); break;
|
||||
}
|
||||
}
|
||||
dialog.m_includeGridHistoryFiles->setVisible(buildGridCaseFileList);
|
||||
dialog.m_includeGridHistoryFiles->setChecked(lastResult->includeGridHistoryFiles);
|
||||
dialog.m_applyToAllCheckBox->setVisible(showApplyToAllWidget);
|
||||
dialog.resize(DEFAULT_DIALOG_WIDTH, DEFAULT_DIALOG_INIT_HEIGHT);
|
||||
dialog.exec();
|
||||
|
||||
dialogResult = RicSummaryCaseRestartDialogResult(dialog.result() == QDialog::Accepted,
|
||||
dialog.selectedOption(),
|
||||
dialog.selectedSummaryImportOption(),
|
||||
dialog.selectedGridImportOption(),
|
||||
{},
|
||||
dialog.applyToAllSelected(),
|
||||
dialog.includeGridHistoryFiles());
|
||||
{},
|
||||
dialog.applyToAllSelected());
|
||||
}
|
||||
|
||||
if (!dialogResult.ok)
|
||||
{
|
||||
return RicSummaryCaseRestartDialogResult(false, NOT_IMPORT, QStringList(), false, false);
|
||||
return RicSummaryCaseRestartDialogResult(false, NOT_IMPORT, NOT_IMPORT, QStringList(), QStringList(), false);
|
||||
}
|
||||
|
||||
dialogResult.summaryFiles.push_back(RiaFilePathTools::toInternalSeparator(summaryHeaderFile));
|
||||
if (dialogResult.option == SEPARATE_CASES)
|
||||
if (dialogResult.summaryImportOption == SEPARATE_CASES)
|
||||
{
|
||||
for (const auto& restartFileInfo : restartFileInfos)
|
||||
for (const auto& ofi : originFileInfos)
|
||||
{
|
||||
dialogResult.summaryFiles.push_back(RiaFilePathTools::toInternalSeparator(restartFileInfo.fileName));
|
||||
dialogResult.summaryFiles.push_back(RiaFilePathTools::toInternalSeparator(ofi.fileName));
|
||||
}
|
||||
}
|
||||
|
||||
if (dialogResult.includeGridHistoryFiles)
|
||||
if (buildGridCaseFileList)
|
||||
{
|
||||
QString gridCaseFile = RifEclipseSummaryTools::findGridCaseFileFromSummaryHeaderFile(summaryHeaderFile);
|
||||
dialogResult.restartGridFilesToImport.push_back(gridCaseFile);
|
||||
dialogResult.gridFiles.push_back(gridCaseFile);
|
||||
|
||||
for (const auto& restartFileInfo : restartFileInfos)
|
||||
if (dialogResult.gridImportOption == SEPARATE_CASES)
|
||||
{
|
||||
QString gridCaseFile = RifEclipseSummaryTools::findGridCaseFileFromSummaryHeaderFile(restartFileInfo.fileName);
|
||||
if (buildGridCaseFileList && !gridCaseFile.isEmpty()) dialogResult.restartGridFilesToImport.push_back(gridCaseFile);
|
||||
for (const auto& ofi : originFileInfos)
|
||||
{
|
||||
QString gridFile = RifEclipseSummaryTools::findGridCaseFileFromSummaryHeaderFile(ofi.fileName);
|
||||
if (buildGridCaseFileList && !gridCaseFile.isEmpty()) dialogResult.gridFiles.push_back(gridFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
return dialogResult;
|
||||
@@ -220,14 +273,23 @@ RicSummaryCaseRestartDialogResult RicSummaryCaseRestartDialog::openDialog(const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RicSummaryCaseRestartDialog::ReadOptions RicSummaryCaseRestartDialog::selectedOption() const
|
||||
RicSummaryCaseRestartDialog::ImportOptions RicSummaryCaseRestartDialog::selectedSummaryImportOption() const
|
||||
{
|
||||
return
|
||||
m_readAllRadioButton->isChecked() ? IMPORT_ALL :
|
||||
m_separateCasesRadionButton->isChecked() ? SEPARATE_CASES :
|
||||
m_summaryReadAllBtn->isChecked() ? IMPORT_ALL :
|
||||
m_summarySeparateCasesBtn->isChecked() ? SEPARATE_CASES :
|
||||
NOT_IMPORT;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RicSummaryCaseRestartDialog::ImportOptions RicSummaryCaseRestartDialog::selectedGridImportOption() const
|
||||
{
|
||||
return
|
||||
m_gridSeparateCasesBtn->isChecked() ? SEPARATE_CASES : NOT_IMPORT;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -236,14 +298,6 @@ bool RicSummaryCaseRestartDialog::applyToAllSelected() const
|
||||
return m_applyToAllCheckBox->isChecked();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RicSummaryCaseRestartDialog::includeGridHistoryFiles() const
|
||||
{
|
||||
return m_includeGridHistoryFiles->isChecked();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -36,6 +36,7 @@ class QMainWindow;
|
||||
class QListWidget;
|
||||
class QGridLayout;
|
||||
class QCheckBox;
|
||||
class QGroupBox;
|
||||
class RicSummaryCaseRestartDialogResult;
|
||||
|
||||
//==================================================================================================
|
||||
@@ -46,7 +47,7 @@ class RicSummaryCaseRestartDialog : public QDialog
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum ReadOptions { NOT_IMPORT, IMPORT_ALL, SEPARATE_CASES };
|
||||
enum ImportOptions { IMPORT_ALL, SEPARATE_CASES, NOT_IMPORT };
|
||||
|
||||
RicSummaryCaseRestartDialog(QWidget* parent);
|
||||
~RicSummaryCaseRestartDialog();
|
||||
@@ -54,13 +55,14 @@ public:
|
||||
static RicSummaryCaseRestartDialogResult openDialog(const QString& summaryHeaderFile,
|
||||
bool showApplyToAllWidget,
|
||||
bool buildGridCaseFileList,
|
||||
ReadOptions defaultReadOption,
|
||||
ImportOptions defaultSummaryImportOption,
|
||||
ImportOptions defaultGridImportOption,
|
||||
RicSummaryCaseRestartDialogResult *lastResult = nullptr,
|
||||
QWidget *parent = nullptr);
|
||||
|
||||
ReadOptions selectedOption() const;
|
||||
ImportOptions selectedSummaryImportOption() const;
|
||||
ImportOptions selectedGridImportOption() const;
|
||||
bool applyToAllSelected() const;
|
||||
bool includeGridHistoryFiles() const;
|
||||
|
||||
private:
|
||||
void appendFileInfoToGridLayout(QGridLayout& gridLayout, const RifRestartFileInfo& fileInfo);
|
||||
@@ -72,15 +74,19 @@ private slots:
|
||||
void slotDialogCancelClicked();
|
||||
|
||||
private:
|
||||
QGridLayout* m_currentFileGridLayout;
|
||||
QGridLayout* m_currentSummaryFileLayout;
|
||||
|
||||
QGridLayout* m_filesGridLayout;
|
||||
QGridLayout* m_summaryFilesLayout;
|
||||
|
||||
QRadioButton* m_readAllRadioButton;
|
||||
QRadioButton* m_notReadRadionButton;
|
||||
QRadioButton* m_separateCasesRadionButton;
|
||||
QRadioButton* m_summaryReadAllBtn;
|
||||
QRadioButton* m_summarySeparateCasesBtn;
|
||||
QRadioButton* m_summaryNotReadBtn;
|
||||
|
||||
QCheckBox* m_includeGridHistoryFiles;
|
||||
QGroupBox* m_gridFilesGroup;
|
||||
QGridLayout* m_gridFilesLayout;
|
||||
|
||||
QRadioButton* m_gridNotReadBtn;
|
||||
QRadioButton* m_gridSeparateCasesBtn;
|
||||
|
||||
QCheckBox* m_applyToAllCheckBox;
|
||||
QDialogButtonBox* m_buttons;
|
||||
@@ -94,27 +100,30 @@ class RicSummaryCaseRestartDialogResult
|
||||
{
|
||||
public:
|
||||
RicSummaryCaseRestartDialogResult() :
|
||||
ok(false), option(RicSummaryCaseRestartDialog::IMPORT_ALL), applyToAll(false) {}
|
||||
ok(false),
|
||||
summaryImportOption(RicSummaryCaseRestartDialog::IMPORT_ALL),
|
||||
gridImportOption(RicSummaryCaseRestartDialog::NOT_IMPORT),
|
||||
applyToAll(false) {}
|
||||
|
||||
RicSummaryCaseRestartDialogResult(bool _ok,
|
||||
RicSummaryCaseRestartDialog::ReadOptions _option,
|
||||
RicSummaryCaseRestartDialog::ImportOptions _summaryImportOption,
|
||||
RicSummaryCaseRestartDialog::ImportOptions _gridImportOption,
|
||||
QStringList _summaryFiles,
|
||||
bool _applyToAll,
|
||||
bool _includeGridHistoryFiles,
|
||||
QStringList _restartGridFilesToImport = {}) :
|
||||
QStringList _gridFiles,
|
||||
bool _applyToAll) :
|
||||
ok(_ok),
|
||||
option(_option),
|
||||
summaryImportOption(_summaryImportOption),
|
||||
gridImportOption(_gridImportOption),
|
||||
summaryFiles(_summaryFiles),
|
||||
applyToAll(_applyToAll),
|
||||
includeGridHistoryFiles(_includeGridHistoryFiles),
|
||||
restartGridFilesToImport(_restartGridFilesToImport) {
|
||||
gridFiles(_gridFiles),
|
||||
applyToAll(_applyToAll)
|
||||
{
|
||||
}
|
||||
|
||||
bool ok;
|
||||
RicSummaryCaseRestartDialog::ReadOptions option;
|
||||
QStringList summaryFiles;
|
||||
bool applyToAll;
|
||||
|
||||
bool includeGridHistoryFiles;
|
||||
QStringList restartGridFilesToImport;
|
||||
bool ok;
|
||||
RicSummaryCaseRestartDialog::ImportOptions summaryImportOption;
|
||||
RicSummaryCaseRestartDialog::ImportOptions gridImportOption;
|
||||
QStringList summaryFiles;
|
||||
QStringList gridFiles;
|
||||
bool applyToAll;
|
||||
};
|
||||
@@ -38,6 +38,8 @@ class RifRestartFileInfo
|
||||
{
|
||||
public:
|
||||
RifRestartFileInfo() : startDate(0), endDate(0) {}
|
||||
RifRestartFileInfo(const QString& _fileName, time_t _startDate, time_t _endDate) :
|
||||
fileName(_fileName), startDate(_startDate), endDate(_endDate) {}
|
||||
bool valid() { return !fileName.isEmpty(); }
|
||||
|
||||
QString fileName;
|
||||
|
||||
@@ -51,12 +51,12 @@ bool vectorContains(const std::vector<T>& vector, T item)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// INternal function
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RicSummaryCaseRestartDialog::ReadOptions mapReadOption(RiaPreferences::SummaryRestartFilesImportMode mode)
|
||||
RicSummaryCaseRestartDialog::ImportOptions mapReadOption(RiaPreferences::SummaryRestartFilesImportMode mode)
|
||||
{
|
||||
return
|
||||
mode == RiaPreferences::SummaryRestartFilesImportMode::NOT_IMPORT ? RicSummaryCaseRestartDialog::ReadOptions::NOT_IMPORT :
|
||||
mode == RiaPreferences::SummaryRestartFilesImportMode::SEPARATE_CASES ? RicSummaryCaseRestartDialog::ReadOptions::SEPARATE_CASES :
|
||||
RicSummaryCaseRestartDialog::ReadOptions::IMPORT_ALL;
|
||||
mode == RiaPreferences::SummaryRestartFilesImportMode::NOT_IMPORT ? RicSummaryCaseRestartDialog::ImportOptions::NOT_IMPORT :
|
||||
mode == RiaPreferences::SummaryRestartFilesImportMode::SEPARATE_CASES ? RicSummaryCaseRestartDialog::ImportOptions::SEPARATE_CASES :
|
||||
RicSummaryCaseRestartDialog::ImportOptions::IMPORT_ALL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -66,11 +66,11 @@ RifSummaryCaseRestartSelector::RifSummaryCaseRestartSelector()
|
||||
{
|
||||
RiaPreferences* prefs = RiaApplication::instance()->preferences();
|
||||
m_showDialog = prefs->summaryRestartFilesShowImportDialog();
|
||||
m_defaultRestartImportMode = mapReadOption(prefs->summaryRestartFilesImportMode());
|
||||
m_importRestartGridCaseFiles = prefs->importRestartGridCaseFiles();
|
||||
m_defaultSummaryImportMode = mapReadOption(prefs->summaryImportMode());
|
||||
m_defaultGridImportMode = mapReadOption(prefs->gridImportMode());
|
||||
|
||||
m_buildGridCaseFileList = false;
|
||||
m_gridCaseFiles.clear();
|
||||
m_buildGridFileList = false;
|
||||
m_gridFiles.clear();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -127,12 +127,17 @@ std::vector<RifSummaryCaseFileInfo> RifSummaryCaseRestartSelector::getFilesToImp
|
||||
|
||||
for (const QString& summaryFile : initialSummaryFiles)
|
||||
{
|
||||
RicSummaryCaseRestartDialogResult result = RicSummaryCaseRestartDialog::openDialog(summaryFile, enableApplyToAllField, m_buildGridCaseFileList, m_defaultRestartImportMode, &lastResult);
|
||||
RicSummaryCaseRestartDialogResult result = RicSummaryCaseRestartDialog::openDialog(summaryFile,
|
||||
enableApplyToAllField,
|
||||
m_buildGridFileList,
|
||||
m_defaultSummaryImportMode,
|
||||
m_defaultGridImportMode,
|
||||
&lastResult);
|
||||
if (result.ok)
|
||||
{
|
||||
for (const QString& file : result.summaryFiles)
|
||||
{
|
||||
RifSummaryCaseFileInfo fi(file, result.option == RicSummaryCaseRestartDialog::IMPORT_ALL);
|
||||
RifSummaryCaseFileInfo fi(file, result.summaryImportOption == RicSummaryCaseRestartDialog::IMPORT_ALL);
|
||||
if (!vectorContains(filesToImport, fi))
|
||||
{
|
||||
filesToImport.push_back(fi);
|
||||
@@ -140,15 +145,15 @@ std::vector<RifSummaryCaseFileInfo> RifSummaryCaseRestartSelector::getFilesToImp
|
||||
}
|
||||
lastResult = result;
|
||||
|
||||
for (const QString& gridCaseFile : result.restartGridFilesToImport)
|
||||
for (const QString& gridFile : result.gridFiles)
|
||||
{
|
||||
m_gridCaseFiles.push_back(gridCaseFile);
|
||||
m_gridFiles.push_back(gridFile);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Cancel pressed, cancel everything
|
||||
m_gridCaseFiles.clear();
|
||||
m_gridFiles.clear();
|
||||
return std::vector<RifSummaryCaseFileInfo>();
|
||||
}
|
||||
}
|
||||
@@ -163,35 +168,23 @@ std::vector<RifSummaryCaseFileInfo> RifSummaryCaseRestartSelector::getFilesToImp
|
||||
std::vector<RifSummaryCaseFileInfo> filesToImport;
|
||||
RicSummaryCaseRestartDialogResult lastResult;
|
||||
|
||||
m_gridCaseFiles.clear();
|
||||
m_gridFiles.clear();
|
||||
|
||||
for (const QString& summaryFile : initialSummaryFiles)
|
||||
{
|
||||
QString file = RiaFilePathTools::toInternalSeparator(summaryFile);
|
||||
|
||||
if (m_defaultRestartImportMode == RicSummaryCaseRestartDialog::IMPORT_ALL)
|
||||
if (m_defaultSummaryImportMode == RicSummaryCaseRestartDialog::IMPORT_ALL)
|
||||
{
|
||||
filesToImport.push_back(RifSummaryCaseFileInfo(file, true));
|
||||
if (m_buildGridCaseFileList)
|
||||
{
|
||||
m_gridCaseFiles.push_back(RifEclipseSummaryTools::findGridCaseFileFromSummaryHeaderFile(file));
|
||||
}
|
||||
}
|
||||
else if (m_defaultRestartImportMode == RicSummaryCaseRestartDialog::NOT_IMPORT)
|
||||
else if (m_defaultSummaryImportMode == RicSummaryCaseRestartDialog::NOT_IMPORT)
|
||||
{
|
||||
filesToImport.push_back(RifSummaryCaseFileInfo(file, false));
|
||||
if (m_buildGridCaseFileList)
|
||||
{
|
||||
m_gridCaseFiles.push_back(RifEclipseSummaryTools::findGridCaseFileFromSummaryHeaderFile(file));
|
||||
}
|
||||
}
|
||||
else if (m_defaultRestartImportMode == RicSummaryCaseRestartDialog::SEPARATE_CASES)
|
||||
else if (m_defaultSummaryImportMode == RicSummaryCaseRestartDialog::SEPARATE_CASES)
|
||||
{
|
||||
filesToImport.push_back(RifSummaryCaseFileInfo(file, false));
|
||||
if (m_buildGridCaseFileList)
|
||||
{
|
||||
m_gridCaseFiles.push_back(RifEclipseSummaryTools::findGridCaseFileFromSummaryHeaderFile(file));
|
||||
}
|
||||
|
||||
RifReaderEclipseSummary reader;
|
||||
std::vector<RifRestartFileInfo> restartFileInfos = reader.getRestartFiles(file);
|
||||
@@ -201,10 +194,24 @@ std::vector<RifSummaryCaseFileInfo> RifSummaryCaseRestartSelector::getFilesToImp
|
||||
if (!vectorContains(filesToImport, fi))
|
||||
{
|
||||
filesToImport.push_back(fi);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (m_buildGridCaseFileList)
|
||||
if (m_buildGridFileList)
|
||||
{
|
||||
m_gridFiles.push_back(RifEclipseSummaryTools::findGridCaseFileFromSummaryHeaderFile(file));
|
||||
|
||||
if (m_defaultGridImportMode == RicSummaryCaseRestartDialog::SEPARATE_CASES)
|
||||
{
|
||||
RifReaderEclipseSummary reader;
|
||||
std::vector<RifRestartFileInfo> restartFileInfos = reader.getRestartFiles(file);
|
||||
for (const auto& rfi : restartFileInfos)
|
||||
{
|
||||
RifSummaryCaseFileInfo fi(RifEclipseSummaryTools::findGridCaseFileFromSummaryHeaderFile(rfi.fileName), false);
|
||||
if (!m_gridFiles.contains(fi.fileName) && QFileInfo(fi.fileName).exists())
|
||||
{
|
||||
m_gridCaseFiles.push_back(RifEclipseSummaryTools::findGridCaseFileFromSummaryHeaderFile(fi.fileName));
|
||||
m_gridFiles.push_back(fi.fileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,8 +45,8 @@ public:
|
||||
std::vector<RifSummaryCaseFileInfo> getFilesToImportFromGridFiles(const QStringList& initialGridFiles);
|
||||
|
||||
void showDialog(bool show) { m_showDialog = show; }
|
||||
void buildGridCaseFileList(bool build) { m_buildGridCaseFileList = build; }
|
||||
QStringList gridCaseFiles() const { return m_gridCaseFiles; }
|
||||
void buildGridCaseFileList(bool build) { m_buildGridFileList = build; }
|
||||
QStringList gridCaseFiles() const { return m_gridFiles; }
|
||||
|
||||
static QStringList getSummaryFilesFromGridFiles(const QStringList& gridFiles);
|
||||
|
||||
@@ -58,11 +58,11 @@ private:
|
||||
std::vector<RifSummaryCaseFileInfo> getFilesToImportUsingPrefs(const QStringList& initialSummaryFiles);
|
||||
|
||||
bool m_showDialog;
|
||||
RicSummaryCaseRestartDialog::ReadOptions m_defaultRestartImportMode;
|
||||
bool m_importRestartGridCaseFiles;
|
||||
RicSummaryCaseRestartDialog::ImportOptions m_defaultSummaryImportMode;
|
||||
RicSummaryCaseRestartDialog::ImportOptions m_defaultGridImportMode;
|
||||
|
||||
bool m_buildGridCaseFileList;
|
||||
QStringList m_gridCaseFiles;
|
||||
bool m_buildGridFileList;
|
||||
QStringList m_gridFiles;
|
||||
};
|
||||
|
||||
//==================================================================================================
|
||||
|
||||
Reference in New Issue
Block a user