12#include "CoreMinimal.h"
13#include "Widgets/WSBase.h"
14#include "Widgets/Custom/WSTextBlock.h"
15#include "WSText.generated.h"
27 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=
"Widget Studio")
31 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Widget Studio", Meta = (
32 EditCondition = "Type == EWSFontType::Custom",
38 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Widget Studio")
42 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Widget Studio")
43 TEnumAsByte<ETextJustify::Type> Justification;
46 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Widget Studio|Text Wrap")
50 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Widget Studio|Text Wrap", Meta=(
55 EditCondition="AutoWrapText == true",
61 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Widget Studio|Text Wrap", Meta = (
62 EditCondition="AutoWrapText == true",
65 ETextWrappingPolicy WrappingPolicy;
68 const EWSFontType InType = EWSFontType::Body1,
70 const EFontCase InCase = EFontCase::Sentence,
71 const ETextJustify::Type InJustification = ETextJustify::Left,
72 const
bool InAutoWrapText = true,
73 const
float InWrapTextAt = 0,
74 const ETextWrappingPolicy InWrappingPolicy = ETextWrappingPolicy::DefaultWrapping)
77 CustomStyle = InCustomStyle;
79 Justification = InJustification;
80 AutoWrapText = InAutoWrapText;
81 WrapTextAt = InWrapTextAt;
82 WrappingPolicy = InWrappingPolicy;
97 virtual TSharedRef<SWidget> RebuildWidget()
override;
98 virtual int32 NativePaint(
const FPaintArgs& Args,
const FGeometry& AllottedGeometry,
const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId,
const FWidgetStyle& InWidgetStyle,
bool bParentEnabled)
const override;
99 virtual void SynchronizeProperties()
override;
100 virtual void InitializeStyling()
override;
101 virtual void UpdateStyling()
override;
104 FSlateFontInfo FontInfo;
108 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
109 USizeBox* SizeBox =
nullptr;
111 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
118 UPROPERTY(EditAnywhere, Category =
"Widget Studio", Meta=(MultiLine=
true))
119 FText Text = FText::FromString("Placeholder");
122 UPROPERTY(Meta = (ShowOnlyInnerProperties))
126 UPROPERTY(EditAnywhere, Category = "Widget Studio|Color")
127 EPalette Color = EPalette::PrimaryContent;
132 UPROPERTY(EditAnywhere, Category="Widget Studio")
133 EWSFontType Type = EWSFontType::Body1;
136 UPROPERTY(EditAnywhere, Category="Widget Studio", Meta = (EditCondition = "Type == EWSFontType::Custom", EditConditionHides))
140 UPROPERTY(EditAnywhere, Category = "Widget Studio")
141 EFontCase Case = EFontCase::Sentence;
144 UPROPERTY(EditAnywhere, Category = "Widget Studio")
145 TEnumAsByte<ETextJustify::Type> Justification = ETextJustify::Left;
148 UPROPERTY(EditAnywhere, Category = "Widget Studio|Text Wrap")
149 bool AutoWrapText = false;
152 UPROPERTY(EditAnywhere, Category = "Widget Studio|Text Wrap",Meta=(ClampMin = "0", UIMin = "0"))
153 float WrapTextAt = 0;
156 UPROPERTY(EditAnywhere, Category = "Widget Studio|Text Wrap")
157 ETextWrappingPolicy WrappingPolicy = ETextWrappingPolicy::DefaultWrapping;
165 UFUNCTION(BlueprintPure, Category="Widget Studio|Helper")
169 UFUNCTION(BlueprintPure, Category="Widget Studio|Helper")
170 FText GetText() const;
173 UFUNCTION(BlueprintPure, Category="Widget Studio|Helper")
174 bool IsTextEmpty() const;
177 UFUNCTION(BlueprintPure, Category="Widget Studio|Helper")
178 ETextJustify::Type GetJustification() const;
181 UFUNCTION(BlueprintPure, Category="Widget Studio|Helper")
182 int32 Length() const;
185 UFUNCTION(BlueprintPure, Category="Widget Studio|Helper")
186 EWSFontType GetType() const;
189 UFUNCTION(BlueprintPure, Category="Widget Studio|Helper")
193 UFUNCTION(BlueprintPure, Category="Widget Studio|Helper")
194 bool IsAutoWrappingText() const;
197 UFUNCTION(BlueprintPure, Category="Widget Studio|Helper")
198 float GetWrapTextAt() const;
201 UFUNCTION(BlueprintPure, Category="Widget Studio|Helper")
202 ETextWrappingPolicy GetWrapPolicy() const;
205 UFUNCTION(BlueprintPure, Category="Widget Studio|Helper")
206 EFontCase GetCase() const;
215 UFUNCTION(BlueprintCallable, Category="Widget Studio|Modifier")
222 UFUNCTION(BlueprintCallable, Category="Widget Studio|Modifier")
223 void SetText(FText NewText);
229 UFUNCTION(BlueprintCallable, Category="Widget Studio|Modifier")
230 void SetJustification(ETextJustify::Type NewJustification);
236 UFUNCTION(BlueprintCallable, Category="Widget Studio|Modifier")
237 void SetColor(EPalette NewColor);
243 UFUNCTION(BlueprintCallable, Category="Widget Studio|Modifier")
244 void SetType(EWSFontType NewType);
250 UFUNCTION(BlueprintCallable, Category="Widget Studio|Modifier")
257 UFUNCTION(BlueprintCallable, Category="Widget Studio|Modifier")
258 void SetAutoWrapText(
bool NewState);
264 UFUNCTION(BlueprintCallable, Category="Widget Studio|Modifier")
265 void SetWrapTextAt(
float NewWrapAt);
271 UFUNCTION(BlueprintCallable, Category="Widget Studio|Modifier")
272 void SetWrapPolicy(ETextWrappingPolicy NewPolicy);
278 UFUNCTION(BlueprintCallable, Category="Widget Studio|Modifier")
279 void SetCase(EFontCase NewCase);
A customized TextBlock widget that exposes required functionality.
Definition: WSTextBlock.h:22
A custom text widget setup to work with the Typography Styling.
Definition: WSText.h:92
Struct with font weight, size, and letter spacing.
Definition: WSTypography.h:23
The settings for the Widget Studio Text.
Definition: WSText.h:23