mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
(#388) Added RicComputeStatisticsFeature
This commit is contained in:
parent
afe596aa2a
commit
762083a5b6
@ -47,6 +47,7 @@ ${CEE_CURRENT_LIST_DIR}RicImportEclipseCaseFeature.h
|
||||
${CEE_CURRENT_LIST_DIR}RicImportInputEclipseCaseFeature.h
|
||||
${CEE_CURRENT_LIST_DIR}RicCreateGridCaseGroupFeature.h
|
||||
${CEE_CURRENT_LIST_DIR}RicNewStatisticsCaseFeature.h
|
||||
${CEE_CURRENT_LIST_DIR}RicComputeStatisticsFeature.h
|
||||
|
||||
${CEE_CURRENT_LIST_DIR}RicWellPathsImportSsihubFeature.h
|
||||
${CEE_CURRENT_LIST_DIR}RicWellPathsImportFileFeature.h
|
||||
@ -100,6 +101,7 @@ ${CEE_CURRENT_LIST_DIR}RicImportEclipseCaseFeature.cpp
|
||||
${CEE_CURRENT_LIST_DIR}RicImportInputEclipseCaseFeature.cpp
|
||||
${CEE_CURRENT_LIST_DIR}RicCreateGridCaseGroupFeature.cpp
|
||||
${CEE_CURRENT_LIST_DIR}RicNewStatisticsCaseFeature.cpp
|
||||
${CEE_CURRENT_LIST_DIR}RicComputeStatisticsFeature.cpp
|
||||
|
||||
${CEE_CURRENT_LIST_DIR}RicWellPathsImportSsihubFeature.cpp
|
||||
${CEE_CURRENT_LIST_DIR}RicWellPathsImportFileFeature.cpp
|
||||
|
98
ApplicationCode/Commands/RicComputeStatisticsFeature.cpp
Normal file
98
ApplicationCode/Commands/RicComputeStatisticsFeature.cpp
Normal file
@ -0,0 +1,98 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2015- Statoil ASA
|
||||
// Copyright (C) 2015- Ceetron Solutions AS
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "RicComputeStatisticsFeature.h"
|
||||
|
||||
#include "RimEclipseCase.h"
|
||||
#include "RimEclipseStatisticsCase.h"
|
||||
#include "RimEclipseStatisticsCaseCollection.h"
|
||||
#include "RimIdenticalGridCaseGroup.h"
|
||||
#include "RimCaseCollection.h"
|
||||
|
||||
#include "cafSelectionManager.h"
|
||||
#include "cafCmdFeatureManager.h"
|
||||
|
||||
#include <QAction>
|
||||
|
||||
CAF_CMD_SOURCE_INIT(RicComputeStatisticsFeature, "RicComputeStatisticsFeature");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RicComputeStatisticsFeature::isCommandEnabled()
|
||||
{
|
||||
std::vector<RimEclipseStatisticsCase*> selection = selectedCases();
|
||||
if (selection.size() > 0)
|
||||
{
|
||||
RimEclipseStatisticsCase* statisticsCase = selection[0];
|
||||
if (statisticsCase)
|
||||
{
|
||||
RimIdenticalGridCaseGroup* gridCaseGroup = NULL;
|
||||
statisticsCase->firstAnchestorOrThisOfType(gridCaseGroup);
|
||||
|
||||
RimCaseCollection* caseCollection = gridCaseGroup ? gridCaseGroup->caseCollection() : NULL;
|
||||
return caseCollection ? caseCollection->reservoirs.size() > 0 : false;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicComputeStatisticsFeature::onActionTriggered(bool isChecked)
|
||||
{
|
||||
std::vector<RimEclipseStatisticsCase*> selection = selectedCases();
|
||||
if (selection.size() > 0)
|
||||
{
|
||||
RimEclipseStatisticsCase* statisticsCase = selection[0];
|
||||
|
||||
statisticsCase->computeStatistics();
|
||||
statisticsCase->scheduleACTIVEGeometryRegenOnReservoirViews();
|
||||
statisticsCase->updateConnectedEditorsAndReservoirViews();
|
||||
|
||||
if (statisticsCase->reservoirViews.size() == 0)
|
||||
{
|
||||
QAction* action = caf::CmdFeatureManager::instance()->action("RicNewViewFeature");
|
||||
CVF_ASSERT(action);
|
||||
|
||||
action->trigger();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicComputeStatisticsFeature::setupActionLook(QAction* actionToSetup)
|
||||
{
|
||||
actionToSetup->setText("Compute");
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<RimEclipseStatisticsCase*> RicComputeStatisticsFeature::selectedCases()
|
||||
{
|
||||
std::vector<RimEclipseStatisticsCase*> selection;
|
||||
caf::SelectionManager::instance()->objectsByType(&selection);
|
||||
|
||||
return selection;
|
||||
}
|
43
ApplicationCode/Commands/RicComputeStatisticsFeature.h
Normal file
43
ApplicationCode/Commands/RicComputeStatisticsFeature.h
Normal file
@ -0,0 +1,43 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2015- Statoil ASA
|
||||
// Copyright (C) 2015- Ceetron Solutions AS
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "cafCmdFeature.h"
|
||||
|
||||
#include <vector>
|
||||
|
||||
class RimEclipseStatisticsCase;
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
//==================================================================================================
|
||||
class RicComputeStatisticsFeature : public caf::CmdFeature
|
||||
{
|
||||
CAF_CMD_HEADER_INIT;
|
||||
|
||||
protected:
|
||||
// Overrides
|
||||
virtual bool isCommandEnabled();
|
||||
virtual void onActionTriggered( bool isChecked );
|
||||
virtual void setupActionLook( QAction* actionToSetup );
|
||||
|
||||
private:
|
||||
std::vector<RimEclipseStatisticsCase*> selectedCases();
|
||||
};
|
@ -598,7 +598,7 @@ void RimProject::actionsBasedOnSelection(QMenu& contextMenu)
|
||||
//menu.addAction(QString("Compute"), this, SLOT(slotComputeStatistics()));
|
||||
//menu.addAction(QString("Close"), this, SLOT(slotCloseCase()));
|
||||
commandIds << "RicNewViewFeature";
|
||||
// commandIds << "RicComputestatistics....";
|
||||
commandIds << "RicComputeStatisticsFeature";
|
||||
commandIds << "RicCloseCaseFeature";
|
||||
commandIds << "RicExecuteScriptForCasesFeature";
|
||||
}
|
||||
|
@ -992,6 +992,7 @@ void RimUiTreeView::slotNewStatisticsCase()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
// OBSOLETE - see RicComputeStatisticsFeature
|
||||
void RimUiTreeView::slotComputeStatistics()
|
||||
{
|
||||
QModelIndex index = currentIndex();
|
||||
|
Loading…
Reference in New Issue
Block a user