123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- #pragma once
- #include "WwiseTreeItem.h"
- #include "AkWaapiClient.h"
- #include "Dom/JsonObject.h"
- #include "Widgets/Text/SInlineEditableTextBlock.h"
- #include "Widgets/SCompoundWidget.h"
- class AKAUDIO_API SWaapiPickerRow : public SCompoundWidget
- {
- public:
- SLATE_BEGIN_ARGS(SWaapiPickerRow)
- : _WaapiPickerItem(TSharedPtr<FWwiseTreeItem>())
- , _ParentWidget()
- {}
-
- SLATE_ARGUMENT(TSharedPtr<FWwiseTreeItem>, WaapiPickerItem)
-
- SLATE_ARGUMENT(TSharedPtr<SWidget>, ParentWidget)
-
- SLATE_EVENT(FIsSelected, IsSelected)
-
- SLATE_ATTRIBUTE(FText, HighlightText)
- SLATE_END_ARGS()
-
- void Construct(const FArguments& InArgs);
-
- void EnterEditingMode();
- ~SWaapiPickerRow();
- private:
-
- void HandleNameCommitted(const FText& NewText, ETextCommit::Type CommitInfo);
-
- bool HandleVerifyNameChanged(const FText& NewText, FText& OutErrorMessage);
-
- bool IsWiseItemNameReadOnly() const;
-
- FText GetNameText() const;
-
- FText GetToolTipText() const;
- private:
-
- bool OnVerifyItemNameChanged(const TSharedPtr< FWwiseTreeItem >& WwiseItem, const FString& InNewItemName, FText& OutErrorMessage);
-
- bool OnItemRenameCommitted(const TSharedPtr< FWwiseTreeItem >& WwiseItem, const FString& InNewItemName, FText& OutWarningMessage);
- public:
- struct KeyValueArgs
- {
- const FString keyArg;
- const FString valueArg;
- };
-
- static bool CallWaapiExecuteUri(const char* inUri, const TArray<KeyValueArgs>& values, TSharedPtr<FJsonObject>& outJsonResult);
- private:
-
- TSharedPtr<SWidget> ParentWidget;
-
- TWeakPtr<FWwiseTreeItem> WaapiPickerItem;
-
- TSharedPtr< SInlineEditableTextBlock > InlineRenameWidget;
-
- FDelegateHandle EnterEditingModeDelegateHandle;
-
- DECLARE_MULTICAST_DELEGATE(FRenamedRequestEvent)
-
- FRenamedRequestEvent OnRenamedRequestEvent;
- };
|