mirror of
https://github.com/OPM/ResInsight.git
synced 2026-08-27 05:37:21 -05:00
@@ -54,6 +54,7 @@
|
||||
|
||||
#include "Riu3DMainWindowTools.h"
|
||||
|
||||
#include "cafPdmUiButton.h"
|
||||
#include "cafPdmUiCheckBoxEditor.h"
|
||||
#include "cafPdmUiComboBoxEditor.h"
|
||||
#include "cafPdmUiFilePathEditor.h"
|
||||
@@ -143,22 +144,6 @@ RimOpmFlowJob::RimOpmFlowJob()
|
||||
CAF_PDM_InitField( &m_numberOfNewDates, "NumberOfNewDates", 12, "Number of Dates to Append" );
|
||||
CAF_PDM_InitField( &m_dateAppendType, "DateAppendType", caf::AppEnum<DateAppendType>( DateAppendType::ADD_MONTHS ), " " );
|
||||
|
||||
CAF_PDM_InitField( &m_runButton, "runButton", false, "" );
|
||||
caf::PdmUiPushButtonEditor::configureEditorLabelHidden( &m_runButton );
|
||||
m_runButton.xmlCapability()->disableIO();
|
||||
|
||||
CAF_PDM_InitField( &m_stopButton, "stopButton", false, "" );
|
||||
caf::PdmUiPushButtonEditor::configureEditorLabelHidden( &m_stopButton );
|
||||
m_stopButton.xmlCapability()->disableIO();
|
||||
|
||||
CAF_PDM_InitField( &m_resetRunIdButton, "resetRunIdButton", false, " " );
|
||||
caf::PdmUiPushButtonEditor::configureEditorLabelLeft( &m_resetRunIdButton );
|
||||
m_resetRunIdButton.xmlCapability()->disableIO();
|
||||
|
||||
CAF_PDM_InitField( &m_openSelectButton, "openSelectButton", false, " " );
|
||||
caf::PdmUiPushButtonEditor::configureEditorLabelLeft( &m_openSelectButton );
|
||||
m_openSelectButton.xmlCapability()->disableIO();
|
||||
|
||||
caf::PdmUiNativeCheckBoxEditor::configureFieldForEditor( &m_addToEnsemble );
|
||||
caf::PdmUiNativeCheckBoxEditor::configureFieldForEditor( &m_pauseBeforeRun );
|
||||
caf::PdmUiNativeCheckBoxEditor::configureFieldForEditor( &m_useRestart );
|
||||
@@ -239,40 +224,6 @@ void RimOpmFlowJob::defineEditorAttribute( const caf::PdmFieldHandle* field, QSt
|
||||
myAttr->m_selectDirectory = true;
|
||||
}
|
||||
}
|
||||
else if ( field == &m_runButton )
|
||||
{
|
||||
auto* pbAttribute = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>( attribute );
|
||||
if ( pbAttribute )
|
||||
{
|
||||
pbAttribute->m_buttonText = "Run Simulation";
|
||||
pbAttribute->m_buttonIcon = QIcon( ":/Play.svg" );
|
||||
}
|
||||
}
|
||||
else if ( field == &m_stopButton )
|
||||
{
|
||||
auto* pbAttribute = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>( attribute );
|
||||
if ( pbAttribute )
|
||||
{
|
||||
pbAttribute->m_buttonText = "Stop";
|
||||
pbAttribute->m_buttonIcon = QIcon( ":/stop.svg" );
|
||||
}
|
||||
}
|
||||
else if ( field == &m_openSelectButton )
|
||||
{
|
||||
auto* pbAttribute = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>( attribute );
|
||||
if ( pbAttribute )
|
||||
{
|
||||
pbAttribute->m_buttonText = "Select Open Keyword Position";
|
||||
}
|
||||
}
|
||||
else if ( field == &m_resetRunIdButton )
|
||||
{
|
||||
auto* pbAttribute = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>( attribute );
|
||||
if ( pbAttribute )
|
||||
{
|
||||
pbAttribute->m_buttonText = "Reset Ensemble Run Id";
|
||||
}
|
||||
}
|
||||
else if ( field == &m_wellGroupName )
|
||||
{
|
||||
auto attr = dynamic_cast<caf::PdmUiComboBoxEditorAttribute*>( attribute );
|
||||
@@ -296,7 +247,9 @@ void RimOpmFlowJob::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering&
|
||||
auto runGrp = uiOrdering.addNewGroup( "Running" );
|
||||
m_workDir.uiCapability()->setUiReadOnly( true );
|
||||
runGrp->add( &m_workDir );
|
||||
runGrp->add( &m_stopButton );
|
||||
auto stopButton = runGrp->addNewButton( "Stop", [this]() { RicStopJobFeature::stopJob( this ); } );
|
||||
stopButton->setUiIconFromResourceString( ":/stop.svg" );
|
||||
stopButton->setAlignment( Qt::AlignCenter );
|
||||
uiOrdering.skipRemainingFields();
|
||||
return;
|
||||
}
|
||||
@@ -337,6 +290,8 @@ void RimOpmFlowJob::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering&
|
||||
|
||||
wellGrp->add( &m_wellOpenType );
|
||||
|
||||
bool createOpenPostionButton = false;
|
||||
|
||||
if ( m_fileDeckHasDates )
|
||||
{
|
||||
if ( m_wellOpenType() == WellOpenType::OPEN_AT_DATE )
|
||||
@@ -354,16 +309,23 @@ void RimOpmFlowJob::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering&
|
||||
}
|
||||
else if ( m_wellOpenType == WellOpenType::OPEN_BY_POSITION )
|
||||
{
|
||||
wellGrp->add( &m_openSelectButton );
|
||||
createOpenPostionButton = true;
|
||||
}
|
||||
m_wellOpenType.uiCapability()->setUiReadOnly( false );
|
||||
}
|
||||
else
|
||||
{
|
||||
wellGrp->add( &m_openSelectButton );
|
||||
createOpenPostionButton = true;
|
||||
|
||||
m_wellOpenType = WellOpenType::OPEN_BY_POSITION;
|
||||
m_wellOpenType.uiCapability()->setUiReadOnly( true );
|
||||
}
|
||||
|
||||
if ( createOpenPostionButton )
|
||||
{
|
||||
auto openSelectButton = wellGrp->addNewButton( "Select Open Keyword Position", [this]() { selectOpenWellPosition(); } );
|
||||
openSelectButton->setAlignment( Qt::AlignRight );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -381,7 +343,11 @@ void RimOpmFlowJob::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering&
|
||||
}
|
||||
|
||||
auto opmGrp = uiOrdering.addNewGroup( "OPM Flow" );
|
||||
opmGrp->add( &m_runButton );
|
||||
|
||||
auto runButton = opmGrp->addNewButton( "Run", [this]() { RicRunJobFeature::runJob( this ); } );
|
||||
runButton->setUiIconFromResourceString( ":/Play.svg" );
|
||||
runButton->setAlignment( Qt::AlignCenter );
|
||||
|
||||
opmGrp->add( &m_pauseBeforeRun );
|
||||
if ( m_fileDeckHasDates )
|
||||
{
|
||||
@@ -396,7 +362,9 @@ void RimOpmFlowJob::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering&
|
||||
{
|
||||
auto advOpmGrp = opmGrp->addNewGroup( "Advanced" );
|
||||
advOpmGrp->setCollapsedByDefault();
|
||||
advOpmGrp->add( &m_resetRunIdButton );
|
||||
|
||||
auto resetRunIdButton = advOpmGrp->addNewButton( "Reset Ensemble Run Id", [this]() { resetEnsembleRunId(); } );
|
||||
resetRunIdButton->setAlignment( Qt::AlignRight );
|
||||
}
|
||||
|
||||
uiOrdering.skipRemainingFields();
|
||||
@@ -507,33 +475,6 @@ void RimOpmFlowJob::fieldChangedByUi( const caf::PdmFieldHandle* changedField, c
|
||||
{
|
||||
m_deckName = "";
|
||||
}
|
||||
else if ( changedField == &m_runButton )
|
||||
{
|
||||
m_runButton = false;
|
||||
RicRunJobFeature::runJob( this );
|
||||
}
|
||||
else if ( changedField == &m_stopButton )
|
||||
{
|
||||
m_stopButton = false;
|
||||
RicStopJobFeature::stopJob( this );
|
||||
}
|
||||
else if ( changedField == &m_resetRunIdButton )
|
||||
{
|
||||
m_resetRunIdButton = false;
|
||||
auto reply = QMessageBox::information( nullptr,
|
||||
"Opm Flow Job",
|
||||
"Do you want to reset the ensemble run ID to 0?",
|
||||
QMessageBox::Yes | QMessageBox::No );
|
||||
if ( reply == QMessageBox::Yes )
|
||||
{
|
||||
m_currentRunId = 0;
|
||||
}
|
||||
}
|
||||
else if ( changedField == &m_openSelectButton )
|
||||
{
|
||||
m_openSelectButton = false;
|
||||
selectOpenWellPosition();
|
||||
}
|
||||
else if ( changedField == &m_wellPath )
|
||||
{
|
||||
if ( ( m_wellPath() != nullptr ) && ( m_wellPath->completionSettings() != nullptr ) )
|
||||
@@ -1200,6 +1141,18 @@ void RimOpmFlowJob::selectOpenWellPosition()
|
||||
m_openWellDeckPosition = RimDeckPositionDlg::askForPosition( nullptr, kwVec, "--- Open New Well HERE ---", m_openWellDeckPosition );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimOpmFlowJob::resetEnsembleRunId()
|
||||
{
|
||||
if ( QMessageBox::information( nullptr, "Opm Flow Job", "Do you want to reset the ensemble run ID to 0?", QMessageBox::Yes | QMessageBox::No ) ==
|
||||
QMessageBox::Yes )
|
||||
{
|
||||
m_currentRunId = 0;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -104,19 +104,16 @@ private:
|
||||
void exportBasicWellSettings();
|
||||
std::string exportMswWellSettings( int timeStep );
|
||||
void selectOpenWellPosition();
|
||||
void resetEnsembleRunId();
|
||||
|
||||
private:
|
||||
caf::PdmField<caf::FilePath> m_deckFileName;
|
||||
caf::PdmField<caf::FilePath> m_workDir;
|
||||
caf::PdmField<bool> m_runButton;
|
||||
caf::PdmField<bool> m_stopButton;
|
||||
caf::PdmField<bool> m_openSelectButton;
|
||||
caf::PdmField<int> m_openWellDeckPosition;
|
||||
|
||||
caf::PdmField<bool> m_pauseBeforeRun;
|
||||
caf::PdmField<bool> m_addToEnsemble;
|
||||
caf::PdmField<int> m_currentRunId;
|
||||
caf::PdmField<bool> m_resetRunIdButton;
|
||||
caf::PdmField<bool> m_useRestart;
|
||||
|
||||
caf::PdmPtrField<RimWellPath*> m_wellPath;
|
||||
|
||||
Reference in New Issue
Block a user