mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2555 Add time period for current file as well
This commit is contained in:
parent
d5bbeffdd0
commit
95a9744241
@ -66,7 +66,7 @@ RicSummaryCaseRestartDialog::RicSummaryCaseRestartDialog(QWidget* parent)
|
||||
: QDialog(parent, RiuTools::defaultDialogFlags())
|
||||
{
|
||||
// Create widgets
|
||||
m_currentFile = new QLabel();
|
||||
m_currentFileGridLayout = new QGridLayout();
|
||||
m_readAllRadioButton = new QRadioButton(this);
|
||||
m_notReadRadionButton = new QRadioButton(this);
|
||||
m_separateCasesRadionButton = new QRadioButton(this);
|
||||
@ -88,9 +88,8 @@ RicSummaryCaseRestartDialog::RicSummaryCaseRestartDialog(QWidget* parent)
|
||||
QVBoxLayout* dialogLayout = new QVBoxLayout();
|
||||
|
||||
QGroupBox* currentFileGroup = new QGroupBox("Current Summary File");
|
||||
QVBoxLayout* currentFileLayout = new QVBoxLayout();
|
||||
currentFileLayout->addWidget(m_currentFile);
|
||||
currentFileGroup->setLayout(currentFileLayout);
|
||||
m_currentFileGridLayout = new QGridLayout();
|
||||
currentFileGroup->setLayout(m_currentFileGridLayout);
|
||||
|
||||
QGroupBox* filesGroup = new QGroupBox("Found Restart Files");
|
||||
m_filesGridLayout = new QGridLayout();
|
||||
@ -132,10 +131,13 @@ RicSummaryCaseRestartDialogResult RicSummaryCaseRestartDialog::openDialog(const
|
||||
{
|
||||
RicSummaryCaseRestartDialog dialog(parent);
|
||||
|
||||
RifRestartFileInfo currentFileInfo = dialog.getFileInfo(summaryHeaderFile);
|
||||
dialog.appendFileInfoToGridLayout(*dialog.m_currentFileGridLayout, currentFileInfo);
|
||||
|
||||
std::vector<RifRestartFileInfo> fileInfos = dialog.getRestartFiles(summaryHeaderFile);
|
||||
for (const auto& fileInfo : fileInfos)
|
||||
{
|
||||
dialog.appendToFileList(fileInfo);
|
||||
dialog.appendFileInfoToGridLayout(*dialog.m_filesGridLayout, fileInfo);
|
||||
}
|
||||
|
||||
// If no restart files are found, do not show dialog
|
||||
@ -154,7 +156,6 @@ RicSummaryCaseRestartDialogResult RicSummaryCaseRestartDialog::openDialog(const
|
||||
{
|
||||
dialog.setWindowTitle("Summary Case Restart Files");
|
||||
dialog.m_readAllRadioButton->setChecked(true);
|
||||
dialog.m_currentFile->setText(summaryHeaderFile);
|
||||
dialog.m_applyToAllCheckBox->setVisible(showApplyToAllWidget);
|
||||
dialog.resize(DEFAULT_DIALOG_WIDTH, DEFAULT_DIALOG_INIT_HEIGHT);
|
||||
dialog.exec();
|
||||
@ -203,13 +204,13 @@ bool RicSummaryCaseRestartDialog::applyToAllSelected() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicSummaryCaseRestartDialog::appendToFileList(const RifRestartFileInfo& fileInfo)
|
||||
void RicSummaryCaseRestartDialog::appendFileInfoToGridLayout(QGridLayout& gridLayout, const RifRestartFileInfo& fileInfo)
|
||||
{
|
||||
QDateTime startDate = QDateTime::fromTime_t(fileInfo.startDate);
|
||||
QString startDateString = startDate.toString(RimTools::dateFormatString());
|
||||
QDateTime endDate = QDateTime::fromTime_t(fileInfo.endDate);
|
||||
QString endDateString = endDate.toString(RimTools::dateFormatString());
|
||||
int rowCount = m_filesGridLayout->rowCount();
|
||||
int rowCount = gridLayout.rowCount();
|
||||
|
||||
QLabel* fileNameLabel = new QLabel();
|
||||
QLabel* dateLabel = new QLabel();
|
||||
@ -217,8 +218,11 @@ void RicSummaryCaseRestartDialog::appendToFileList(const RifRestartFileInfo& fil
|
||||
dateLabel->setText(startDateString + " - " + endDateString);
|
||||
|
||||
fileNameLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
|
||||
m_filesGridLayout->addWidget(fileNameLabel, rowCount, 0);
|
||||
m_filesGridLayout->addWidget(dateLabel, rowCount, 1);
|
||||
gridLayout.addWidget(fileNameLabel, rowCount, 0);
|
||||
gridLayout.addWidget(dateLabel, rowCount, 1);
|
||||
|
||||
// Full path in tooltip
|
||||
fileNameLabel->setToolTip(fileInfo.fileName);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -230,6 +234,15 @@ std::vector<RifRestartFileInfo> RicSummaryCaseRestartDialog::getRestartFiles(con
|
||||
return reader.getRestartFiles(summaryHeaderFile);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RifRestartFileInfo RicSummaryCaseRestartDialog::getFileInfo(const QString& summaryHeaderFile)
|
||||
{
|
||||
RifReaderEclipseSummary reader;
|
||||
return reader.getFileInfo(summaryHeaderFile);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -60,15 +60,16 @@ public:
|
||||
bool applyToAllSelected() const;
|
||||
|
||||
private:
|
||||
void appendToFileList(const RifRestartFileInfo& fileInfo);
|
||||
void appendFileInfoToGridLayout(QGridLayout& gridLayout, const RifRestartFileInfo& fileInfo);
|
||||
std::vector<RifRestartFileInfo> getRestartFiles(const QString& summaryHeaderFile);
|
||||
RifRestartFileInfo getFileInfo(const QString& summaryHeaderFile);
|
||||
|
||||
private slots:
|
||||
void slotDialogOkClicked();
|
||||
void slotDialogCancelClicked();
|
||||
|
||||
private:
|
||||
QLabel* m_currentFile;
|
||||
QGridLayout* m_currentFileGridLayout;
|
||||
|
||||
QGridLayout* m_filesGridLayout;
|
||||
|
||||
|
@ -147,6 +147,24 @@ std::vector<RifRestartFileInfo> RifReaderEclipseSummary::getRestartFiles(const Q
|
||||
return restartFiles;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RifRestartFileInfo RifReaderEclipseSummary::getFileInfo(const QString& headerFileName)
|
||||
{
|
||||
RifRestartFileInfo fileInfo;
|
||||
ecl_sum_type* ecl_sum = openEclSum(headerFileName, false);
|
||||
std::vector<time_t> timeSteps = getTimeSteps(ecl_sum);
|
||||
if (timeSteps.size() > 0)
|
||||
{
|
||||
fileInfo.fileName = headerFileName;
|
||||
fileInfo.startDate = timeSteps.front();
|
||||
fileInfo.endDate = timeSteps.back();
|
||||
}
|
||||
closeEclSum(ecl_sum);
|
||||
return fileInfo;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -402,8 +420,6 @@ time_t getStartDate(ecl_file_type * header)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RifRestartFileInfo RifReaderEclipseSummary::getRestartFile(const QString& headerFileName)
|
||||
{
|
||||
RifRestartFileInfo restartFile;
|
||||
|
||||
ecl_sum_type* ecl_sum = openEclSum(headerFileName, true);
|
||||
|
||||
const ecl_smspec_type* smspec = ecl_sum ? ecl_sum_get_smspec(ecl_sum) : nullptr;
|
||||
@ -415,21 +431,14 @@ RifRestartFileInfo RifReaderEclipseSummary::getRestartFile(const QString& header
|
||||
{
|
||||
QString path = QFileInfo(headerFileName).dir().path();
|
||||
QString restartBase = QDir(restartCase).dirName();
|
||||
|
||||
|
||||
char* smspec_header = ecl_util_alloc_exfilename(path.toStdString().data(), restartBase.toStdString().data(), ECL_SUMMARY_HEADER_FILE, false /*unformatted*/, 0);
|
||||
restartFile.fileName = RiaFilePathTools::toInternalSeparator(RiaStringEncodingTools::fromNativeEncoded(smspec_header));
|
||||
QString restartFileName = RiaFilePathTools::toInternalSeparator(RiaStringEncodingTools::fromNativeEncoded(smspec_header));
|
||||
util_safe_free(smspec_header);
|
||||
|
||||
ecl_sum = openEclSum(headerFileName, false);
|
||||
std::vector<time_t> timeSteps = getTimeSteps(ecl_sum);
|
||||
if (timeSteps.size() > 0)
|
||||
{
|
||||
restartFile.startDate = timeSteps.front();
|
||||
restartFile.endDate = timeSteps.back();
|
||||
}
|
||||
closeEclSum(ecl_sum);
|
||||
return getFileInfo(restartFileName);
|
||||
}
|
||||
return restartFile;
|
||||
return RifRestartFileInfo();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -57,6 +57,7 @@ public:
|
||||
bool open(const QString& headerFileName, bool includeRestartFiles);
|
||||
|
||||
std::vector<RifRestartFileInfo> getRestartFiles(const QString& headerFileName);
|
||||
RifRestartFileInfo getFileInfo(const QString& headerFileName);
|
||||
|
||||
virtual const std::vector<time_t>& timeSteps(const RifEclipseSummaryAddress& resultAddress) const override;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user