#7289 Script : Add execute of last used script

This commit is contained in:
Magne Sjaastad
2021-01-26 10:23:17 +01:00
parent d5b24f180e
commit 4866794f2b
7 changed files with 172 additions and 9 deletions

View File

@@ -19,6 +19,7 @@
#include "RicExecuteScriptFeature.h"
#include "RicExecuteLastUsedScriptFeature.h"
#include "RicScriptFeatureImpl.h"
#include "RiaApplication.h"
@@ -33,7 +34,9 @@
#include <QAction>
#include <QFileInfo>
#include <QSettings>
#include "cafCmdFeatureManager.h"
#include <iostream>
CAF_CMD_SOURCE_INIT( RicExecuteScriptFeature, "RicExecuteScriptFeature" );
@@ -55,11 +58,25 @@ void RicExecuteScriptFeature::onActionTriggered( bool isChecked )
std::vector<RimCalcScript*> selection = RicScriptFeatureImpl::selectedScripts();
CVF_ASSERT( selection.size() > 0 );
executeScript( selection[0] );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicExecuteScriptFeature::setupActionLook( QAction* actionToSetup )
{
actionToSetup->setText( "Execute" );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicExecuteScriptFeature::executeScript( RimCalcScript* calcScript )
{
RiuMainWindow* mainWindow = RiuMainWindow::instance();
mainWindow->showProcessMonitorDockPanel();
RimCalcScript* calcScript = selection[0];
RiaApplication* app = RiaApplication::instance();
if ( calcScript->scriptType() == RimCalcScript::OCTAVE )
{
@@ -107,12 +124,13 @@ void RicExecuteScriptFeature::onActionTriggered( bool isChecked )
RiaApplication::instance()->launchProcess( pythonPath, arguments, penv );
}
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicExecuteScriptFeature::setupActionLook( QAction* actionToSetup )
{
actionToSetup->setText( "Execute" );
if ( !calcScript->absoluteFileName().isEmpty() )
{
QSettings settings;
settings.setValue( RicExecuteLastUsedScriptFeature::lastUsedScriptPathKey(), calcScript->absoluteFileName() );
auto cmdFeature = caf::CmdFeatureManager::instance()->getCommandFeature( "RicExecuteLastUsedScriptFeature" );
cmdFeature->action(); // Retrieve the action to update the looks
}
}