From f30c87491ce71554f7240fb3668b0c08aa749b67 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Mon, 5 Nov 2018 14:19:46 +0100 Subject: [PATCH] #3629 System : Add helper function to disable write and set field hidden --- .../Application/Tools/CMakeLists_files.cmake | 2 + .../Application/Tools/RiaFieldHandleTools.cpp | 44 +++++++++++++++++++ .../Application/Tools/RiaFieldHandleTools.h | 34 ++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 ApplicationCode/Application/Tools/RiaFieldHandleTools.cpp create mode 100644 ApplicationCode/Application/Tools/RiaFieldHandleTools.h diff --git a/ApplicationCode/Application/Tools/CMakeLists_files.cmake b/ApplicationCode/Application/Tools/CMakeLists_files.cmake index 5d82d20518..8644cd3742 100644 --- a/ApplicationCode/Application/Tools/CMakeLists_files.cmake +++ b/ApplicationCode/Application/Tools/CMakeLists_files.cmake @@ -37,6 +37,7 @@ ${CMAKE_CURRENT_LIST_DIR}/RiaOptionItemFactory.h ${CMAKE_CURRENT_LIST_DIR}/RiaGitDiff.h ${CMAKE_CURRENT_LIST_DIR}/RiaQIconTools.h ${CMAKE_CURRENT_LIST_DIR}/RiaCellDividingTools.h +${CMAKE_CURRENT_LIST_DIR}/RiaFieldHandleTools.h ) set (SOURCE_GROUP_SOURCE_FILES @@ -74,6 +75,7 @@ ${CMAKE_CURRENT_LIST_DIR}/RiaOptionItemFactory.cpp ${CMAKE_CURRENT_LIST_DIR}/RiaGitDiff.cpp ${CMAKE_CURRENT_LIST_DIR}/RiaQIconTools.cpp ${CMAKE_CURRENT_LIST_DIR}/RiaCellDividingTools.cpp +${CMAKE_CURRENT_LIST_DIR}/RiaFieldHandleTools.cpp ) list(APPEND CODE_HEADER_FILES diff --git a/ApplicationCode/Application/Tools/RiaFieldHandleTools.cpp b/ApplicationCode/Application/Tools/RiaFieldHandleTools.cpp new file mode 100644 index 0000000000..51919527f8 --- /dev/null +++ b/ApplicationCode/Application/Tools/RiaFieldHandleTools.cpp @@ -0,0 +1,44 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2018- Equinor ASA +// Copyright (C) 2018- 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 "RiaFieldHandleTools.h" + +#include "cafPdmFieldHandle.h" +#include "cafPdmUiFieldHandle.h" +#include "cafPdmXmlFieldHandle.h" + +#include "cvfAssert.h" + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiaFieldhandleTools::disableWriteAndSetFieldHidden(caf::PdmFieldHandle* fieldHandle) +{ + CVF_ASSERT(fieldHandle); + + if (fieldHandle->uiCapability()) + { + fieldHandle->uiCapability()->setUiHidden(true); + } + + if (fieldHandle->xmlCapability()) + { + fieldHandle->xmlCapability()->setIOWritable(false); + } +} diff --git a/ApplicationCode/Application/Tools/RiaFieldHandleTools.h b/ApplicationCode/Application/Tools/RiaFieldHandleTools.h new file mode 100644 index 0000000000..a48cdf212d --- /dev/null +++ b/ApplicationCode/Application/Tools/RiaFieldHandleTools.h @@ -0,0 +1,34 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2018- Equinor ASA +// Copyright (C) 2018- 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 + +namespace caf +{ +class PdmFieldHandle; +} + +//================================================================================================== +// +//================================================================================================== +class RiaFieldhandleTools +{ +public: + static void disableWriteAndSetFieldHidden(caf::PdmFieldHandle* fieldHandle); +};