12#include "CoreMinimal.h"
14#include "Widgets/WSBase.h"
15#include "Widgets/Modern/WSModernButton.h"
16#include "WSContainer.generated.h"
18DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FWSContainerDelegate, int32, CurrentIndex,
FButtonOptions, Option);
19DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FWSContainerHoverDelegate,
UWidgetStudioBase*, CallingWidget,
bool, bIsHovering);
31 virtual void SynchronizeProperties()
override;
34 virtual void IndividualHoverStateChanged(
UWidgetStudioBase* CallingWidget,
const bool bIsHovering);
39 UPROPERTY(EditAnywhere, Category =
"Widget Studio", Meta = (MinClamp =
"-1"))
40 int32 CurrentIndex = -1;
43 UPROPERTY(EditAnywhere, Category = "Widget Studio", Meta = (TitleProperty = "Text"))
50 UPROPERTY(BlueprintAssignable, Category = "Widget Studio|Event")
51 FWSContainerDelegate OnCurrentIndexChanged;
54 UPROPERTY(BlueprintAssignable, Category = "Widget Studio|Event")
55 FWSContainerHoverDelegate OnIndividualHoverStateChanged;
60 UFUNCTION(BlueprintPure, Category = "Widget Studio|Helper")
61 int32 GetCurrentIndex() const;
64 UFUNCTION(BlueprintPure, Category = "Widget Studio|Helper")
65 int32 GetOptionCount() const;
68 UFUNCTION(BlueprintPure, Category = "Widget Studio|Helper")
72 UFUNCTION(BlueprintPure, Category = "Widget Studio|Helper")
76 UFUNCTION(BlueprintPure, Category = "Widget Studio|Helper")
83 UFUNCTION(BlueprintCallable, Category = "Widget Studio|Helper")
84 int32 GetOptionIndexViaText(FText InText);
90 UFUNCTION(BlueprintCallable, Category = "Widget Studio|Helper")
91 void IncrementCurrentIndex(
bool bBroadcast = true);
98 UFUNCTION(BlueprintCallable, Category = "Widget Studio|Helper")
99 void DecrementCurrentIndex(
bool bBroadcast = true);
106 UFUNCTION(BlueprintCallable, Category = "Widget Studio|Helper")
107 void ClearCurrentIndex(
bool bBroadcast = true);
116 UFUNCTION(BlueprintCallable, Category = "Widget Studio|Modifier")
123 UFUNCTION(BlueprintCallable, Category = "Widget Studio|Modifier")
124 virtual
void SetCurrentIndex(int32 Index,
bool bBroadcast = true);
130 UFUNCTION(BlueprintCallable, Category = "Widget Studio|Modifier")
134 UFUNCTION(BlueprintCallable, Category = "Widget Studio|Modifier")
135 virtual
void ClearOptions();
142 UFUNCTION(BlueprintCallable, Category = "Widget Studio|Modifier")
143 bool SetCurrentIndexViaOptionText(FText InText,
bool bBroadcast = true);