diff --git a/ApplicationCode/Commands/CMakeLists_files.cmake b/ApplicationCode/Commands/CMakeLists_files.cmake index 022fb3cfa8..79ad332454 100644 --- a/ApplicationCode/Commands/CMakeLists_files.cmake +++ b/ApplicationCode/Commands/CMakeLists_files.cmake @@ -13,6 +13,8 @@ ${CEE_CURRENT_LIST_DIR}RicEclipseCaseNewView.h ${CEE_CURRENT_LIST_DIR}RicEclipseCasePaste.h ${CEE_CURRENT_LIST_DIR}RicEclipseCellResultSave.h ${CEE_CURRENT_LIST_DIR}RicEclipseFaultResultSave.h +${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterDelete.h +${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterInsert.h ${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNew.h ${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNewExec.h ${CEE_CURRENT_LIST_DIR}RicEclipseViewCopy.h @@ -42,6 +44,8 @@ ${CEE_CURRENT_LIST_DIR}RicEclipseCaseNewView.cpp ${CEE_CURRENT_LIST_DIR}RicEclipseCasePaste.cpp ${CEE_CURRENT_LIST_DIR}RicEclipseCellResultSave.cpp ${CEE_CURRENT_LIST_DIR}RicEclipseFaultResultSave.cpp +${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterDelete.cpp +${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterInsert.cpp ${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNew.cpp ${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNewExec.cpp ${CEE_CURRENT_LIST_DIR}RicEclipseViewCopy.cpp diff --git a/ApplicationCode/Commands/RicEclipsePropertyFilterDelete.cpp b/ApplicationCode/Commands/RicEclipsePropertyFilterDelete.cpp new file mode 100644 index 0000000000..266b1b424d --- /dev/null +++ b/ApplicationCode/Commands/RicEclipsePropertyFilterDelete.cpp @@ -0,0 +1,57 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// 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 +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicEclipsePropertyFilterDelete.h" + +#include "RimEclipsePropertyFilter.h" + +#include "cafSelectionManager.h" + +#include + +#include + +CAF_CMD_SOURCE_INIT(RicEclipsePropertyFilterDelete, "RicEclipsePropertyFilterDelete"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicEclipsePropertyFilterDelete::isCommandEnabled() +{ + std::vector selectedPropertyFilter; + caf::SelectionManager::instance()->objectsByType(&selectedPropertyFilter); + + return selectedPropertyFilter.size() == 1; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicEclipsePropertyFilterDelete::onActionTriggered(bool isChecked) +{ + // TODO +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicEclipsePropertyFilterDelete::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Delete"); +} diff --git a/ApplicationCode/Commands/RicEclipsePropertyFilterDelete.h b/ApplicationCode/Commands/RicEclipsePropertyFilterDelete.h new file mode 100644 index 0000000000..1aacdaf873 --- /dev/null +++ b/ApplicationCode/Commands/RicEclipsePropertyFilterDelete.h @@ -0,0 +1,39 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// 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 +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicEclipsePropertyFilterDelete : 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/Commands/RicEclipsePropertyFilterInsert.cpp b/ApplicationCode/Commands/RicEclipsePropertyFilterInsert.cpp new file mode 100644 index 0000000000..b64646c9b2 --- /dev/null +++ b/ApplicationCode/Commands/RicEclipsePropertyFilterInsert.cpp @@ -0,0 +1,57 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// 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 +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RicEclipsePropertyFilterInsert.h" + +#include "RimEclipsePropertyFilter.h" + +#include "cafSelectionManager.h" + +#include + +#include + +CAF_CMD_SOURCE_INIT(RicEclipsePropertyFilterInsert, "RicEclipsePropertyFilterInsert"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicEclipsePropertyFilterInsert::isCommandEnabled() +{ + std::vector selectedPropertyFilter; + caf::SelectionManager::instance()->objectsByType(&selectedPropertyFilter); + + return selectedPropertyFilter.size() == 1; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicEclipsePropertyFilterInsert::onActionTriggered(bool isChecked) +{ + // TODO +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicEclipsePropertyFilterInsert::setupActionLook(QAction* actionToSetup) +{ + actionToSetup->setText("Insert"); +} diff --git a/ApplicationCode/Commands/RicEclipsePropertyFilterInsert.h b/ApplicationCode/Commands/RicEclipsePropertyFilterInsert.h new file mode 100644 index 0000000000..09638b38b1 --- /dev/null +++ b/ApplicationCode/Commands/RicEclipsePropertyFilterInsert.h @@ -0,0 +1,39 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// 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 +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "cafCmdFeature.h" + + +//================================================================================================== +/// +//================================================================================================== +class RicEclipsePropertyFilterInsert : 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/RimProject.cpp b/ApplicationCode/ProjectDataModel/RimProject.cpp index c73c6fc6bc..33dce492f9 100644 --- a/ApplicationCode/ProjectDataModel/RimProject.cpp +++ b/ApplicationCode/ProjectDataModel/RimProject.cpp @@ -577,11 +577,15 @@ void RimProject::actionsBasedOnSelection(std::vector& actions) actions.push_back(commandManager->action("RicRangeFilterNewSliceK")); actions.push_back(commandManager->action("RicRangeFilterDelete")); } - else if (dynamic_cast(uiItems[0]) - || dynamic_cast(uiItems[0])) + else if (dynamic_cast(uiItems[0])) { actions.push_back(commandManager->action("RicEclipsePropertyFilterNew")); } + else if (dynamic_cast(uiItems[0])) + { + actions.push_back(commandManager->action("RicEclipsePropertyFilterInsert")); + actions.push_back(commandManager->action("RicEclipsePropertyFilterDelete")); + } }