123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- #pragma once
- #include "Widgets/Views/STableRow.h"
- #include "Widgets/Views/STreeView.h"
- #include "Kismet/BlueprintFunctionLibrary.h"
- #include "Widgets/Input/SSearchBox.h"
- #include "Misc/TextFilter.h"
- #include "AkWaapiUri.generated.h"
- USTRUCT(BlueprintType)
- struct AKAUDIO_API FAkWaapiUri
- {
- GENERATED_BODY()
-
-
- UPROPERTY(EditAnywhere, BlueprintReadOnly,Category = Uri, meta = (DisplayName = "Uri"))
- FString Uri;
- };
- UCLASS()
- class AKAUDIO_API UAkWaapiUriConv : public UBlueprintFunctionLibrary
- {
- GENERATED_BODY()
- public:
- UAkWaapiUriConv(const class FObjectInitializer& ObjectInitializer);
-
- UFUNCTION(BlueprintPure, meta = (DisplayName = "ToString (FAkWaapiUri)", CompactNodeTitle = "->", BlueprintAutocast), Category = "Utilities|String")
- static FString Conv_FAkWaapiUriToString(const FAkWaapiUri& INAkWaapiUri);
-
- UFUNCTION(BlueprintPure, meta = (DisplayName = "ToText (FAkWaapiUri)", CompactNodeTitle = "->", BlueprintAutocast), Category = "Utilities|Text")
- static FText Conv_FAkWaapiUriToText(const FAkWaapiUri& INAkWaapiUri);
- };
- typedef TTextFilter< const FString& > StringFilter;
- class AKAUDIO_API SAkWaapiUri : public SCompoundWidget
- {
- public:
- typedef TSlateDelegates< TSharedPtr< FString > >::FOnSelectionChanged FOnSelectionChanged;
- public:
- SLATE_BEGIN_ARGS(SAkWaapiUri)
- : _FocusSearchBoxWhenOpened(true)
- , _SelectionMode(ESelectionMode::Multi)
- {}
-
- SLATE_NAMED_SLOT(FArguments, SearchContent)
-
- SLATE_ARGUMENT(bool, FocusSearchBoxWhenOpened)
-
- SLATE_ARGUMENT(ESelectionMode::Type, SelectionMode)
-
- SLATE_EVENT(FOnDragDetected, OnDragDetected)
-
- SLATE_EVENT(FOnSelectionChanged, OnSelectionChanged)
- SLATE_END_ARGS()
- void Construct(const FArguments& InArgs);
- SAkWaapiUri(void);
- ~SAkWaapiUri();
-
- const TArray<TSharedPtr<FString>> GetSelectedUri() const;
- private:
-
- TSharedPtr< SListView< TSharedPtr<FString>> > ListViewPtr;
-
- TSharedPtr< SSearchBox > SearchBoxPtr;
-
- TSharedPtr<StringFilter> SearchBoxFilter;
-
- TArray< TSharedPtr<FString> > UriList;
-
- FOnDragDetected OnDragDetected;
-
- FOnSelectionChanged OnSelectionChanged;
- private:
-
- EActiveTimerReturnType SetFocusPostConstruct(double InCurrentTime, float InDeltaTime);
-
- TSharedRef<ITableRow> GenerateRow(TSharedPtr<FString> in_Uri, const TSharedRef<STableViewBase>& OwnerTable);
-
- void PopulateSearchStrings(const FString& in_Uri, OUT TArray< FString >& OutSearchStrings) const;
- void FilterUpdated();
-
- void ListSelectionChanged(TSharedPtr< FString > in_Uri, ESelectInfo::Type SelectInfo);
- };
|