12#include "CoreMinimal.h"
13#include "Basic/WSText.h"
14#include "Widgets/WSBase.h"
15#include "WSTextFieldBase.generated.h"
17DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FWSTextFieldTextChangedDelegate,
const FText&, Text);
18DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FWSTextFieldTextCommittedDelegate,
const FText&, Text, ETextCommit::Type, CommitMethod);
21enum class ETextFilter : uint8
23 None UMETA(DisplayName=
"None"),
24 TextOnly UMETA(DisplayName=
"Text Only"),
25 NumbersOnly UMETA(DisplayName=
"Numbers Only"),
27 TextFilter_Max UMETA(Hidden),
31enum class ETextFieldIconVisibility : uint8
33 Hidden UMETA(DisplayName=
"Hidden"),
34 Leading UMETA(DisplayName=
"Leading"),
35 Trailing UMETA(DisplayName=
"Trailing"),
36 LeadingAndTrailing UMETA(DisplayName=
"Leading & Trailing"),
38 TextFieldStyle_Max UMETA(Hidden),
42enum class ETextFieldState : uint8
44 Normal UMETA(DisplayName=
"Normal"),
45 Focused UMETA(DisplayName=
"Focused"),
46 Accepted UMETA(DisplayName=
"Accepted"),
47 Warning UMETA(DisplayName=
"Warning"),
48 Error UMETA(DisplayName=
"Error"),
50 TextFieldState_Max UMETA(Hidden),
66 virtual void SynchronizeProperties()
override;
75 virtual void OnTextInputTextChanged(
const FText& InText);
83 virtual void OnTextInputTextCommitted(
const FText& InText, ETextCommit::Type InCommitMethod);
92 UPROPERTY(EditAnywhere, Category =
"Widget Studio", meta=(DesignerRebuild=
"True", ForceRebuildProperty=
"Text"))
93 bool bMultiLine = false;
96 UPROPERTY(EditAnywhere, Category = "Widget Studio|Deprecated",Meta=(DeprecatedProperty, DeprecationMessage="Per-widget labeling is no longer supported. Place this widget in the Label Widget instead."))
100 UPROPERTY(EditAnywhere, Category = "Widget Studio")
101 FText PlaceholderText = FText().FromString("Enter text here!");
104 UPROPERTY(EditAnywhere, Category = "Widget Studio", Meta = (MultiLine = bMultiLine))
105 FText Text = FText().FromString("");
108 UPROPERTY(EditAnywhere, Category = "Widget Studio")
116 ETextWrappingPolicy::DefaultWrapping);
119 UPROPERTY(EditAnywhere, Category = "Widget Studio")
120 ETextFieldState State = ETextFieldState::Normal;
123 UPROPERTY(EditAnywhere, Category = "Widget Studio")
124 ETextFilter Filter = ETextFilter::None;
127 UPROPERTY(EditAnywhere, Category = "Widget Studio", Meta = (ClampMin = "0", UIMin = "0"))
128 int32 CharacterLimit = 0;
131 UPROPERTY(EditAnywhere, Category = "Widget Studio", Meta=(EditCondition = "!bMultiLine", EditConditionHides))
132 bool bIsPasswordField = false;
138 UPROPERTY(BlueprintAssignable, Category = "Widget Studio|Event")
139 FWSTextFieldTextChangedDelegate OnTextChanged;
141 UPROPERTY(BlueprintAssignable, Category = "Widget Studio|Event")
142 FWSTextFieldTextCommittedDelegate OnTextCommitted;
148 UFUNCTION(BlueprintPure, Category = "Widget Studio|Deprecated",Meta=(DeprecatedProperty, DeprecationMessage="Per-widget labeling is no longer supported. Place this widget in the Label Widget instead."))
149 FText GetLabel() const;
152 UFUNCTION(BlueprintPure, Category = "Widget Studio|Helper")
153 FText GetText() const;
156 UFUNCTION(BlueprintPure, Category = "Widget Studio|Helper")
157 FText GetPlaceholderText() const;
160 UFUNCTION(BlueprintPure, Category = "Widget Studio|Helper")
161 ETextFilter GetFilter() const;
164 UFUNCTION(BlueprintPure, Category = "Widget Studio|Helper")
165 int32 GetCharacterLimit() const;
168 UFUNCTION(BlueprintPure, Category = "Widget Studio|Helper")
169 ETextFieldState GetState() const;
172 UFUNCTION(BlueprintPure, Category = "Widget Studio|Helper")
173 bool IsPasswordField() const;
182 UFUNCTION(BlueprintCallable, Category = "Widget Studio|Deprecated",Meta=(DeprecatedProperty, DeprecationMessage="Per-widget labeling is no longer supported. Place this widget in the Label Widget instead."))
183 virtual
void SetLabel(FText NewLabel);
189 UFUNCTION(BlueprintCallable, Category = "Widget Studio|Modifier")
190 virtual
void SetText(FText NewText);
196 UFUNCTION(BlueprintCallable, Category = "Widget Studio|Modifier")
197 virtual
void SetPlaceholderText(FText NewText);
203 UFUNCTION(BlueprintCallable, Category = "Widget Studio|Modifier")
204 virtual
void SetFilter(ETextFilter NewFilter);
210 UFUNCTION(BlueprintCallable, Category = "Widget Studio|Modifier")
211 virtual
void SetCharacterLimit(int32 NewLimit);
217 UFUNCTION(BlueprintCallable, Category = "Widget Studio|Modifier")
218 virtual
void SetState(ETextFieldState NewState);
A Widget Studio abstract text field without any pre-defined styling or widgets.
Definition: WSTextFieldBase.h:59
Struct with font weight, size, and letter spacing.
Definition: WSTypography.h:23
The settings for the Widget Studio Text.
Definition: WSText.h:23