(#339) Refactored execution of scripts for selected cases

Moved slotExecuteScriptForSelectedCases() from RiuMainWindow to
RicExecuteScriptForCasesFeature.
This commit is contained in:
Pål Hagen
2015-08-19 13:23:26 +02:00
parent ea87fc0746
commit 28e7c8b19c
7 changed files with 69 additions and 50 deletions

View File

@@ -49,6 +49,7 @@
#include <QDir>
#include "cafCmdFeature.h"
#include "ToggleCommands/RicToggleItemsFeatureImpl.h"
#include "RicExecuteScriptForCasesFeature.h"
CAF_PDM_SOURCE_INIT(RimProject, "ResInsightProject");
@@ -677,9 +678,9 @@ void RimProject::actionsBasedOnSelection(QMenu& contextMenu)
else if (commandIds[i] == "RicExecuteScriptForCasesFeature")
{
// Execute script on selection of cases
RiuMainWindow* ruiMainWindow = RiuMainWindow::instance();
if (ruiMainWindow)
{
RiuMainWindow* ruiMainWindow = RiuMainWindow::instance();
if (ruiMainWindow)
{
std::vector<RimCase*> cases;
ruiMainWindow->selectedCases(cases);
@@ -736,13 +737,19 @@ void RimProject::appendScriptItems(QMenu* menu, RimScriptCollection* scriptColle
RiuMainWindow* mainWindow = RiuMainWindow::instance();
caf::CmdFeatureManager* commandManager = caf::CmdFeatureManager::instance();
CVF_ASSERT(commandManager);
RicExecuteScriptForCasesFeature* executeScriptFeature = dynamic_cast<RicExecuteScriptForCasesFeature*>(commandManager->getCommandFeature("RicExecuteScriptForCasesFeature"));
CVF_ASSERT(executeScriptFeature);
for (size_t i = 0; i < scriptCollection->calcScripts.size(); i++)
{
RimCalcScript* calcScript = scriptCollection->calcScripts[i];
QFileInfo fi(calcScript->absolutePath());
QString menuText = fi.baseName();
QAction* scriptAction = subMenu->addAction(menuText, mainWindow, SLOT(slotExecuteScriptForSelectedCases()));
QAction* scriptAction = subMenu->addAction(menuText, executeScriptFeature, SLOT(slotExecuteScriptForSelectedCases()));
scriptAction->setData(QVariant(calcScript->absolutePath()));
}

View File

@@ -596,7 +596,7 @@ void RimUiTreeView::slotNewScript()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
// OBSOLETE - see RicExecuteScriptFeature
// OBSOLETE - see RicExecuteScriptForCasesFeature
void RimUiTreeView::slotExecuteScript()
{
QModelIndex index = currentIndex();