PropertyHandlerCanvasAsset.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. #if !defined(Q_MOC_RUN)
  10. #include <AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.hxx>
  11. #include <LyShine/UiAssetTypes.h>
  12. #endif
  13. namespace LyShineEditor
  14. {
  15. class CanvasAssetPropertyHandler
  16. : QObject
  17. , public AzToolsFramework::PropertyHandler<AzFramework::SimpleAssetReference<LyShine::CanvasAsset>, AzToolsFramework::PropertyAssetCtrl>
  18. {
  19. Q_OBJECT
  20. public:
  21. AZ_CLASS_ALLOCATOR(CanvasAssetPropertyHandler, AZ::SystemAllocator);
  22. AZ::u32 GetHandlerName() const override;
  23. bool IsDefaultHandler() const override;
  24. QWidget* GetFirstInTabOrder(AzToolsFramework::PropertyAssetCtrl* widget) override;
  25. QWidget* GetLastInTabOrder(AzToolsFramework::PropertyAssetCtrl* widget) override;
  26. void UpdateWidgetInternalTabbing(AzToolsFramework::PropertyAssetCtrl* widget);
  27. QWidget* CreateGUI(QWidget* parent) override;
  28. void ConsumeAttribute(AzToolsFramework::PropertyAssetCtrl* GUI, AZ::u32 attrib, AzToolsFramework::PropertyAttributeReader* attrValue, const char* debugName) override;
  29. void WriteGUIValuesIntoProperty(size_t index, AzToolsFramework::PropertyAssetCtrl* GUI, property_t& instance, AzToolsFramework::InstanceDataNode* node) override;
  30. bool ReadValuesIntoGUI(size_t index, AzToolsFramework::PropertyAssetCtrl* GUI, const property_t& instance, AzToolsFramework::InstanceDataNode* node) override;
  31. static void Register();
  32. };
  33. }