From 7b1e06fac6c91f2dfc5426983dd5f0342d06537d Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Wed, 5 Jan 2022 19:02:41 -0800 Subject: [PATCH] Removes GenericLineEditCtrl.h/inl/cpp from Gems/ScriptCanvas (which lead to removing a target) Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> --- Gems/ScriptCanvas/Code/CMakeLists.txt | 35 +---- .../View/EditCtrls/GenericLineEditCtrl.h | 133 ------------------ .../View/EditCtrls/GenericLineEditCtrl.inl | 123 ---------------- .../View/EditCtrls/GenericLineEditCtrl.cpp | 91 ------------ .../Code/Editor/SystemComponent.cpp | 1 - .../scriptcanvasgem_editor_static_files.cmake | 12 -- Gems/ScriptCanvasTesting/Code/CMakeLists.txt | 3 +- 7 files changed, 5 insertions(+), 393 deletions(-) delete mode 100644 Gems/ScriptCanvas/Code/Editor/Static/Include/ScriptCanvas/View/EditCtrls/GenericLineEditCtrl.h delete mode 100644 Gems/ScriptCanvas/Code/Editor/Static/Include/ScriptCanvas/View/EditCtrls/GenericLineEditCtrl.inl delete mode 100644 Gems/ScriptCanvas/Code/Editor/Static/Source/View/EditCtrls/GenericLineEditCtrl.cpp delete mode 100644 Gems/ScriptCanvas/Code/scriptcanvasgem_editor_static_files.cmake diff --git a/Gems/ScriptCanvas/Code/CMakeLists.txt b/Gems/ScriptCanvas/Code/CMakeLists.txt index 7be5ec962e..cdaf7df338 100644 --- a/Gems/ScriptCanvas/Code/CMakeLists.txt +++ b/Gems/ScriptCanvas/Code/CMakeLists.txt @@ -137,32 +137,6 @@ ly_create_alias(NAME ScriptCanvas.Clients NAMESPACE Gem TARGETS Gem::ScriptCanv ly_create_alias(NAME ScriptCanvas.Servers NAMESPACE Gem TARGETS Gem::ScriptCanvas) if(PAL_TRAIT_BUILD_HOST_TOOLS) - ly_add_target( - NAME ScriptCanvasEditor STATIC - NAMESPACE Gem - AUTOMOC - FILES_CMAKE - scriptcanvasgem_editor_static_files.cmake - COMPILE_DEFINITIONS - PUBLIC - SCRIPTCANVAS_ERRORS_ENABLED - PRIVATE - SCRIPTCANVAS_EDITOR - ${SCRIPT_CANVAS_COMMON_DEFINES} - INCLUDE_DIRECTORIES - PUBLIC - . - Editor/Include - Editor/Static/Include - Editor/Assets - BUILD_DEPENDENCIES - PRIVATE - AZ::AzCore - AZ::AzToolsFramework - 3rdParty::Qt::Widgets - Gem::ScriptCanvas - ) - ly_add_target( NAME ScriptCanvas.Editor.Static STATIC NAMESPACE Gem @@ -181,11 +155,12 @@ if(PAL_TRAIT_BUILD_HOST_TOOLS) SCRIPTCANVAS_EDITOR ${SCRIPT_CANVAS_COMMON_DEFINES} INCLUDE_DIRECTORIES + PUBLIC + Editor/Include PRIVATE . Editor Tools - Editor/Include ${SCRIPT_CANVAS_AUTOGEN_BUILD_DIR} BUILD_DEPENDENCIES PUBLIC @@ -194,7 +169,6 @@ if(PAL_TRAIT_BUILD_HOST_TOOLS) AZ::AssetBuilderSDK ${additional_dependencies} Gem::ScriptCanvas - Gem::ScriptCanvasEditor Gem::ScriptEvents.Static Gem::GraphCanvasWidgets Gem::ExpressionEvaluation.Static @@ -206,7 +180,6 @@ if(PAL_TRAIT_BUILD_HOST_TOOLS) ly_add_target( NAME ScriptCanvas.Editor GEM_MODULE - NAMESPACE Gem FILES_CMAKE scriptcanvasgem_editor_shared_files.cmake @@ -217,10 +190,11 @@ if(PAL_TRAIT_BUILD_HOST_TOOLS) SCRIPTCANVAS_EDITOR ${SCRIPT_CANVAS_COMMON_DEFINES} INCLUDE_DIRECTORIES + PUBLIC + Editor/Include PRIVATE . Editor - Editor/Include BUILD_DEPENDENCIES PRIVATE AZ::AzToolsFramework @@ -294,7 +268,6 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) BUILD_DEPENDENCIES PRIVATE AZ::AzTest - Gem::ScriptCanvasEditor Gem::ScriptCanvas.Editor.Static ) ly_add_googletest( diff --git a/Gems/ScriptCanvas/Code/Editor/Static/Include/ScriptCanvas/View/EditCtrls/GenericLineEditCtrl.h b/Gems/ScriptCanvas/Code/Editor/Static/Include/ScriptCanvas/View/EditCtrls/GenericLineEditCtrl.h deleted file mode 100644 index 950fa8ef2e..0000000000 --- a/Gems/ScriptCanvas/Code/Editor/Static/Include/ScriptCanvas/View/EditCtrls/GenericLineEditCtrl.h +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - -#pragma once - -#if !defined(Q_MOC_RUN) -#include -#include -#include -#include - -#include -#endif - -class QLineEdit; - -namespace ScriptCanvasEditor -{ - namespace EditCtrl - { - template using PropertyToStringCB = AZStd::function; - template using StringToPropertyCB = AZStd::function; - using StringValidatorCB = AZStd::function; - } - - template - class GenericLineEditHandler; - - class GenericLineEditCtrlBase - : public QWidget - { - Q_OBJECT - public: - template - friend class GenericLineEditHandler; - AZ_RTTI(GenericLineEditCtrlBase, "{0EC84840-666F-424E-9443-D20D8FEF743B}"); - AZ_CLASS_ALLOCATOR(GenericLineEditCtrlBase, AZ::SystemAllocator, 0); - - GenericLineEditCtrlBase(QWidget* pParent = nullptr); - ~GenericLineEditCtrlBase() override = default; - - AZStd::string value() const; - - QWidget* GetFirstInTabOrder(); - QWidget* GetLastInTabOrder(); - void UpdateTabOrder(); - - signals: - void valueChanged(AZStd::string& newValue); - - public: - void setValue(AZStd::string_view val); - void setMaxLen(int maxLen); - void onChildLineEditValueChange(const QString& value); - - protected: - void focusInEvent(QFocusEvent* e) override; - - private: - QLineEdit* m_pLineEdit; - }; - - template - class GenericLineEditCtrl - : public GenericLineEditCtrlBase - { - public: - friend class GenericLineEditHandler; - AZ_RTTI(((GenericLineEditCtrl), "{4A094311-8956-40C9-95B5-7D50C2574B45}", T), GenericLineEditCtrlBase); - AZ_CLASS_ALLOCATOR(GenericLineEditCtrl, AZ::SystemAllocator, 0); - - GenericLineEditCtrl(QWidget* pParent = nullptr) - : GenericLineEditCtrlBase(pParent) - {} - ~GenericLineEditCtrl() override = default; - - private: - // Stores per ctrl instance string <-> T conversion functions - EditCtrl::PropertyToStringCB m_propertyToStringCB; - EditCtrl::StringToPropertyCB m_stringToPropertyCB; - }; - - template - class GenericLineEditHandler - : QObject - , public AzToolsFramework::PropertyHandler - { - public: - AZ_CLASS_ALLOCATOR(GenericLineEditHandler, AZ::SystemAllocator, 0); - - GenericLineEditHandler(const EditCtrl::PropertyToStringCB& propertyToStringCB, const EditCtrl::StringToPropertyCB& stringToPropertyCB, - const EditCtrl::StringValidatorCB& stringValidatorCB = {}); - - AZ::u32 GetHandlerName(void) const override { return ScriptCanvas::Attributes::UIHandlers::GenericLineEdit; } - QWidget* GetFirstInTabOrder(GenericLineEditCtrlBase* widget) override { return widget->GetFirstInTabOrder(); } - QWidget* GetLastInTabOrder(GenericLineEditCtrlBase* widget) override { return widget->GetLastInTabOrder(); } - void UpdateWidgetInternalTabbing(GenericLineEditCtrlBase* widget) override { widget->UpdateTabOrder(); } - - QWidget* CreateGUI(QWidget* pParent) override; - void ConsumeAttribute(GenericLineEditCtrlBase* GUI, AZ::u32 attrib, AzToolsFramework::PropertyAttributeReader* attrValue, const char* debugName) override; - void WriteGUIValuesIntoProperty(size_t index, GenericLineEditCtrlBase* GUI, typename GenericLineEditHandler::property_t& instance, AzToolsFramework::InstanceDataNode* node) override; - bool ReadValuesIntoGUI(size_t index, GenericLineEditCtrlBase* GUI, const typename GenericLineEditHandler::property_t& instance, AzToolsFramework::InstanceDataNode* node) override; - - bool AutoDelete() const override { return false; } - - private: - // Stores per handler string <-> T conversion functions - // There is only 1 handler per instantiated T - EditCtrl::PropertyToStringCB m_propertyToStringCB; - EditCtrl::StringToPropertyCB m_stringToPropertyCB; - EditCtrl::StringValidatorCB m_stringValidatorCB; - }; - - template - AzToolsFramework::PropertyHandlerBase* RegisterGenericLineEditHandler(const EditCtrl::PropertyToStringCB& propertyToStringCB, const EditCtrl::StringToPropertyCB& stringToPropertyCB) - { - if (!AzToolsFramework::PropertyTypeRegistrationMessages::Bus::FindFirstHandler()) - { - return nullptr; - } - - auto propertyHandler(aznew GenericLineEditHandler(propertyToStringCB, stringToPropertyCB)); - AzToolsFramework::PropertyTypeRegistrationMessages::Bus::Broadcast(&AzToolsFramework::PropertyTypeRegistrationMessages::RegisterPropertyType, propertyHandler); - return propertyHandler; - } -} - -#include diff --git a/Gems/ScriptCanvas/Code/Editor/Static/Include/ScriptCanvas/View/EditCtrls/GenericLineEditCtrl.inl b/Gems/ScriptCanvas/Code/Editor/Static/Include/ScriptCanvas/View/EditCtrls/GenericLineEditCtrl.inl deleted file mode 100644 index e889a937ab..0000000000 --- a/Gems/ScriptCanvas/Code/Editor/Static/Include/ScriptCanvas/View/EditCtrls/GenericLineEditCtrl.inl +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - -#include - -namespace ScriptCanvasEditor -{ - class GenericStringValidator - : public QValidator - { - public: - AZ_CLASS_ALLOCATOR(GenericStringValidator, AZ::SystemAllocator, 0); - GenericStringValidator(const EditCtrl::StringValidatorCB& stringValidatorCB) - : m_stringValidatorCB(stringValidatorCB) - {} - - QValidator::State validate(QString& input, int& pos) const override - { - return m_stringValidatorCB ? m_stringValidatorCB(input, pos) : QValidator::State::Acceptable; - } - - private: - EditCtrl::StringValidatorCB m_stringValidatorCB; - }; - - template - GenericLineEditHandler::GenericLineEditHandler(const EditCtrl::PropertyToStringCB& propertyToStringCB, const EditCtrl::StringToPropertyCB& stringToPropertyCB, - const EditCtrl::StringValidatorCB& stringValidatorCB) - : m_propertyToStringCB(propertyToStringCB) - , m_stringToPropertyCB(stringToPropertyCB) - , m_stringValidatorCB(stringValidatorCB) - { - } - - template - QWidget* GenericLineEditHandler::CreateGUI(QWidget* pParent) - { - auto newCtrl = aznew GenericLineEditCtrl(pParent); - if (m_stringValidatorCB) - { - newCtrl->m_pLineEdit->setValidator(aznew GenericStringValidator(m_stringValidatorCB)); - } - connect(newCtrl, &GenericLineEditCtrl::valueChanged, this, [newCtrl]() - { - AzToolsFramework::PropertyEditorGUIMessages::Bus::Broadcast(&AzToolsFramework::PropertyEditorGUIMessages::RequestWrite, newCtrl); - }); - return newCtrl; - } - - template - void GenericLineEditHandler::ConsumeAttribute(GenericLineEditCtrlBase* GUI, AZ::u32 attrib, AzToolsFramework::PropertyAttributeReader* attrReader, const char* debugName) - { - (void)debugName; - if (attrib == ScriptCanvas::Attributes::StringToProperty) - { - EditCtrl::StringToPropertyCB value; - if (attrReader->Read>(value)) - { - auto genericGUI = azrtti_cast*>(GUI); - genericGUI->m_stringToPropertyCB = value; - } - else - { - AZ_WarningOnce("Script Canvas", false, "Failed to read 'StringToProperty' attribute from property '%s'. Expected a function.", debugName, AZ::AzTypeInfo::Name()); - } - } - else if (attrib == ScriptCanvas::Attributes::PropertyToString) - { - EditCtrl::PropertyToStringCB value; - if (attrReader->Read>(value)) - { - auto genericGUI = azrtti_cast*>(GUI); - genericGUI->m_propertyToStringCB = value; - } - else - { - AZ_WarningOnce("Script Canvas", false, "Failed to read 'PropertyToString' attribute from property '%s'. Expected a function.", debugName, AZ::AzTypeInfo::Name()); - } - } - } - - template - void GenericLineEditHandler::WriteGUIValuesIntoProperty(size_t, GenericLineEditCtrlBase* GUI, typename GenericLineEditHandler::property_t& instance, AzToolsFramework::InstanceDataNode*) - { - // Invoke the ctrl string -> T override if it exist otherwise attempt to invoke the handler string -> T override - auto genericGUI = azrtti_cast*>(GUI); - if (genericGUI->m_stringToPropertyCB) - { - genericGUI->m_stringToPropertyCB(instance, genericGUI->value()); - } - else if (m_stringToPropertyCB) - { - m_stringToPropertyCB(instance, GUI->value()); - } - } - - template - bool GenericLineEditHandler::ReadValuesIntoGUI(size_t, GenericLineEditCtrlBase* GUI, const typename GenericLineEditHandler::property_t& instance, AzToolsFramework::InstanceDataNode*) - { - // Invoke the ctrl T -> string override if it exist otherwise attempt to invoke the handler T -> string override - auto genericGUI = azrtti_cast*>(GUI); - if (genericGUI->m_propertyToStringCB) - { - AZStd::string val; - genericGUI->m_propertyToStringCB(val, instance); - genericGUI->setValue(val); - return true; - } - else if (m_propertyToStringCB) - { - AZStd::string val; - m_propertyToStringCB(val, instance); - GUI->setValue(val); - return true; - } - return false; - } -} diff --git a/Gems/ScriptCanvas/Code/Editor/Static/Source/View/EditCtrls/GenericLineEditCtrl.cpp b/Gems/ScriptCanvas/Code/Editor/Static/Source/View/EditCtrls/GenericLineEditCtrl.cpp deleted file mode 100644 index 6eb2b63129..0000000000 --- a/Gems/ScriptCanvas/Code/Editor/Static/Source/View/EditCtrls/GenericLineEditCtrl.cpp +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ -#include - -#include -#include - -#include - -namespace ScriptCanvasEditor -{ - GenericLineEditCtrlBase::GenericLineEditCtrlBase(QWidget* pParent) - : QWidget(pParent) - { - // create the gui, it consists of a layout, and in that layout, a text field for the value - // and then a slider for the value. - QHBoxLayout* pLayout = new QHBoxLayout(this); - m_pLineEdit = new QLineEdit(this); - - pLayout->setSpacing(4); - pLayout->setContentsMargins(1, 0, 1, 0); - - pLayout->addWidget(m_pLineEdit); - - m_pLineEdit->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Fixed); - m_pLineEdit->setMinimumWidth(AzToolsFramework::PropertyQTConstant_MinimumWidth); - m_pLineEdit->setFixedHeight(AzToolsFramework::PropertyQTConstant_DefaultHeight); - - m_pLineEdit->setFocusPolicy(Qt::StrongFocus); - - setLayout(pLayout); - setFocusProxy(m_pLineEdit); - setFocusPolicy(m_pLineEdit->focusPolicy()); - - connect(m_pLineEdit, &QLineEdit::textChanged, this, &GenericLineEditCtrlBase::onChildLineEditValueChange); - connect(m_pLineEdit, &QLineEdit::editingFinished, this, [this]() - { - AzToolsFramework::PropertyEditorGUIMessages::Bus::Broadcast(&AzToolsFramework::PropertyEditorGUIMessages::OnEditingFinished, this); - }); - } - - void GenericLineEditCtrlBase::setValue(AZStd::string_view value) - { - QSignalBlocker signalBlocker(m_pLineEdit); - m_pLineEdit->setText(value.data()); - } - - void GenericLineEditCtrlBase::focusInEvent(QFocusEvent* e) - { - m_pLineEdit->event(e); - m_pLineEdit->selectAll(); - } - - AZStd::string GenericLineEditCtrlBase::value() const - { - return AZStd::string(m_pLineEdit->text().toUtf8().data()); - } - - void GenericLineEditCtrlBase::setMaxLen(int maxLen) - { - QSignalBlocker signalBlocker(m_pLineEdit); - m_pLineEdit->setMaxLength(maxLen); - } - - void GenericLineEditCtrlBase::onChildLineEditValueChange(const QString& newValue) - { - AZStd::string changedVal(newValue.toUtf8().data()); - emit valueChanged(changedVal); - } - - QWidget* GenericLineEditCtrlBase::GetFirstInTabOrder() - { - return m_pLineEdit; - } - QWidget* GenericLineEditCtrlBase::GetLastInTabOrder() - { - return m_pLineEdit; - } - - void GenericLineEditCtrlBase::UpdateTabOrder() - { - // There's only one QT widget on this property. - } -} - -#include diff --git a/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp b/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp index 6087dfb98f..23c127b83b 100644 --- a/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp +++ b/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp @@ -36,7 +36,6 @@ #include #include #include -#include #include diff --git a/Gems/ScriptCanvas/Code/scriptcanvasgem_editor_static_files.cmake b/Gems/ScriptCanvas/Code/scriptcanvasgem_editor_static_files.cmake deleted file mode 100644 index 3ef141f0f7..0000000000 --- a/Gems/ScriptCanvas/Code/scriptcanvasgem_editor_static_files.cmake +++ /dev/null @@ -1,12 +0,0 @@ -# -# Copyright (c) Contributors to the Open 3D Engine Project. -# For complete copyright and license terms please see the LICENSE at the root of this distribution. -# -# SPDX-License-Identifier: Apache-2.0 OR MIT -# -# - -set(FILES - Editor/Static/Include/ScriptCanvas/View/EditCtrls/GenericLineEditCtrl.h - Editor/Static/Source/View/EditCtrls/GenericLineEditCtrl.cpp -) diff --git a/Gems/ScriptCanvasTesting/Code/CMakeLists.txt b/Gems/ScriptCanvasTesting/Code/CMakeLists.txt index 499bb84c2d..c90eff9389 100644 --- a/Gems/ScriptCanvasTesting/Code/CMakeLists.txt +++ b/Gems/ScriptCanvasTesting/Code/CMakeLists.txt @@ -29,7 +29,7 @@ ly_add_target( BUILD_DEPENDENCIES PUBLIC Gem::ScriptCanvas - Gem::ScriptCanvasEditor + Gem::ScriptCanvas.Editor Gem::GraphCanvasWidgets Gem::ScriptEvents.Editor PRIVATE @@ -44,7 +44,6 @@ ly_add_target( *.ScriptCanvasNodeable.xml,ScriptCanvasNodeable_Source.jinja,$path/$fileprefix.generated.cpp RUNTIME_DEPENDENCIES Gem::ScriptCanvas.Editor - Gem::ScriptCanvasEditor Gem::GraphCanvasWidgets Gem::ScriptEvents )