From f3e4a6edea33ca722449a3d6de38ff264759df41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacob=20St=C3=B8ren?= Date: Fri, 26 Aug 2016 16:12:55 +0200 Subject: [PATCH] #819 Added reload formation names command --- .../Commands/CMakeLists_files.cmake | 2 + .../RicReloadFormationNamesFeature.cpp | 71 +++++++++++++++++++ .../Commands/RicReloadFormationNamesFeature.h | 37 ++++++++++ .../RimContextCommandBuilder.cpp | 2 + 4 files changed, 112 insertions(+) create mode 100644 ApplicationCode/Commands/RicReloadFormationNamesFeature.cpp create mode 100644 ApplicationCode/Commands/RicReloadFormationNamesFeature.h diff --git a/ApplicationCode/Commands/CMakeLists_files.cmake b/ApplicationCode/Commands/CMakeLists_files.cmake index dfda3613a5..93caffee78 100644 --- a/ApplicationCode/Commands/CMakeLists_files.cmake +++ b/ApplicationCode/Commands/CMakeLists_files.cmake @@ -36,6 +36,7 @@ ${CEE_CURRENT_LIST_DIR}RicSaveEclipseResultAsInputPropertyExec.h ${CEE_CURRENT_LIST_DIR}RicImportEclipseCaseFeature.h ${CEE_CURRENT_LIST_DIR}RicImportInputEclipseCaseFeature.h ${CEE_CURRENT_LIST_DIR}RicImportFormationNamesFeature.h +${CEE_CURRENT_LIST_DIR}RicReloadFormationNamesFeature.h ${CEE_CURRENT_LIST_DIR}RicCreateGridCaseGroupFeature.h ${CEE_CURRENT_LIST_DIR}RicNewStatisticsCaseFeature.h @@ -92,6 +93,7 @@ ${CEE_CURRENT_LIST_DIR}RicSaveEclipseResultAsInputPropertyExec.cpp ${CEE_CURRENT_LIST_DIR}RicImportEclipseCaseFeature.cpp ${CEE_CURRENT_LIST_DIR}RicImportInputEclipseCaseFeature.cpp ${CEE_CURRENT_LIST_DIR}RicImportFormationNamesFeature.cpp +${CEE_CURRENT_LIST_DIR}RicReloadFormationNamesFeature.cpp ${CEE_CURRENT_LIST_DIR}RicCreateGridCaseGroupFeature.cpp ${CEE_CURRENT_LIST_DIR}RicNewStatisticsCaseFeature.cpp diff --git a/ApplicationCode/Commands/RicReloadFormationNamesFeature.cpp b/ApplicationCode/Commands/RicReloadFormationNamesFeature.cpp new file mode 100644 index 0000000000..9eb5d0e321 --- /dev/null +++ b/ApplicationCode/Commands/RicReloadFormationNamesFeature.cpp @@ -0,0 +1,71 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// 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 +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicReloadFormationNamesFeature.h" +#include "RimFormationNamesCollection.h" +#include "RimFormationNames.h" + +#include "cafSelectionManager.h" + +#include + +CAF_CMD_SOURCE_INIT(RicReloadFormationNamesFeature, "RicReloadFormationNamesFeature"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicReloadFormationNamesFeature::isCommandEnabled() +{ + std::vector selectedFormationNamesObjs; + caf::SelectionManager::instance()->objectsByType(&selectedFormationNamesObjs); + std::vector selectedFormationNamesCollObjs; + caf::SelectionManager::instance()->objectsByType(&selectedFormationNamesCollObjs); + + return (selectedFormationNamesObjs.size() > 0 || selectedFormationNamesCollObjs.size() > 0); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicReloadFormationNamesFeature::onActionTriggered(bool isChecked) +{ + std::vector selectedFormationNamesCollObjs; + caf::SelectionManager::instance()->objectsByType(&selectedFormationNamesCollObjs); + + if (selectedFormationNamesCollObjs.size()) + { + selectedFormationNamesCollObjs[0]->readAllFormationNames(); + return; + } + + std::vector selectedFormationNamesObjs; + caf::SelectionManager::instance()->objectsByType(&selectedFormationNamesObjs); + for (RimFormationNames* fnames: selectedFormationNamesObjs) + { + fnames->readFormationNamesFile(nullptr); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicReloadFormationNamesFeature::setupActionLook(QAction* actionToSetup) +{ + //actionToSetup->setIcon(QIcon(":/FormationCollection16x16.png")); + actionToSetup->setText("Reload"); +} diff --git a/ApplicationCode/Commands/RicReloadFormationNamesFeature.h b/ApplicationCode/Commands/RicReloadFormationNamesFeature.h new file mode 100644 index 0000000000..2cb07e72f2 --- /dev/null +++ b/ApplicationCode/Commands/RicReloadFormationNamesFeature.h @@ -0,0 +1,37 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2016- Statoil ASA +// +// 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 +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + +//================================================================================================== +/// +//================================================================================================== +class RicReloadFormationNamesFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + // Overrides + virtual bool isCommandEnabled(); + virtual void onActionTriggered( bool isChecked ); + virtual void setupActionLook( QAction* actionToSetup ); +}; + + diff --git a/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp b/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp index ba6a235ff6..4511606468 100644 --- a/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp +++ b/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp @@ -315,12 +315,14 @@ QStringList RimContextCommandBuilder::commandsFromSelection() else if(dynamic_cast(uiItem)) { commandIds << "RicImportFormationNamesFeature"; + commandIds << "RicReloadFormationNamesFeature"; commandIds << "Separator"; commandIds << "RicDeleteItemFeature"; } else if(dynamic_cast(uiItem)) { commandIds << "RicImportFormationNamesFeature"; + commandIds << "RicReloadFormationNamesFeature"; commandIds << "Separator"; commandIds << "RicDeleteItemFeature"; }