12#include "CoreMinimal.h"
13#include "Widgets/WSButtonBase.h"
14#include "Widgets/Basic/WSIcon.h"
15#include "Widgets/Basic/WSText.h"
16#include "Components/HorizontalBox.h"
17#include "Components/Image.h"
18#include "Components/InvalidationBox.h"
19#include "Components/Overlay.h"
20#include "Components/SizeBox.h"
21#include "Components/Spacer.h"
23#include "WSModernCheckBox.generated.h"
25UENUM(Blueprintable, BlueprintType, META=(Tooltip =
"The styling of the checkbox."))
26enum class ECheckboxStyle : uint8
28 Modern UMETA(DisplayName=
"Modern"),
29 Classic UMETA(DisplayName=
"Classic"),
31 CheckboxStyle_Max UMETA(Hidden),
34UENUM(Blueprintable, BlueprintType, META=(Tooltip =
"Choose between inclusive or exclusive."))
35enum class EClusivity : uint8
37 Inclusive UMETA(DisplayName=
"Inclusive", Description=
"Multiple options can be selected at a time."),
38 Exclusive UMETA(DisplayName=
"Exclusive", Description=
"Only a single option can be selected at a time."),
40 Clusivity_Max UMETA(Hidden),
54 virtual TSharedRef<SWidget> RebuildWidget()
override;
55 virtual int32 NativePaint(
const FPaintArgs& Args,
const FGeometry& AllottedGeometry,
const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId,
const FWidgetStyle& InWidgetStyle,
bool bParentEnabled)
const override;
56 virtual void SynchronizeProperties()
override;
57 virtual void InitializeStyling()
override;
58 virtual void UpdateStyling()
override;
62 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
63 UInvalidationBox* Retainer =
nullptr;
65 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
66 USizeBox* SizeBox =
nullptr;
68 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
69 UScaleBox* BackgroundScaleBox =
nullptr;
71 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
72 UOverlay* Overlay =
nullptr;
74 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
75 UOverlay* BackgroundOverlay =
nullptr;
77 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
78 UImage* DropShadow =
nullptr;
80 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
81 UImage* Background =
nullptr;
83 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
84 UScaleBox* CheckScaleBox =
nullptr;
86 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
87 UImage* BackgroundOutline =
nullptr;
89 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
90 UHorizontalBox* HBox =
nullptr;
92 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
93 UOverlay* CheckOverlay =
nullptr;
95 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
96 UImage* CheckBackground =
nullptr;
98 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
99 UImage* CheckOutline =
nullptr;
101 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
102 UImage* IconItem =
nullptr;
104 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
107 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
108 USpacer* SpacerItem =
nullptr;
113 UPROPERTY(EditAnywhere, Category =
"Widget Studio")
114 FText Text = FText().FromString(
"CheckBox");
117 UPROPERTY(EditAnywhere, Category =
"Widget Studio")
118 EIconItem Icon = EIconItem::Check;
121 UPROPERTY(EditAnywhere, Category =
"Widget Studio")
122 ECheckboxStyle Style = ECheckboxStyle::Modern;
125 UPROPERTY(EditAnywhere, Category =
"Widget Studio")
126 EClusivity Clusivity = EClusivity::Inclusive;
131 UPROPERTY(EditAnywhere, Category =
"Widget Studio|Color")
132 EPalette BackgroundColor = EPalette::TertiaryBackground;
135 UPROPERTY(EditAnywhere, Category =
"Widget Studio|Color")
136 EPalette ContentColor = EPalette::PrimaryContent;
139 UPROPERTY(EditAnywhere, Category =
"Widget Studio|Color")
140 EPalette CheckedColor = EPalette::PrimaryAccent;
147 UFUNCTION(BlueprintPure, Category =
"Widget Studio|Helper")
148 FText GetLabel()
const;
151 UFUNCTION(BlueprintPure, Category =
"Widget Studio|Helper")
152 EIconItem GetIcon()
const;
155 UFUNCTION(BlueprintPure, Category =
"Widget Studio|Helper|Color")
156 EPalette GetBackgroundColor()
const;
159 UFUNCTION(BlueprintPure, Category =
"Widget Studio|Helper|Color")
160 EPalette GetContentColor()
const;
163 UFUNCTION(BlueprintPure, Category =
"Widget Studio|Helper|Color")
164 EPalette GetCheckedColor()
const;
167 UFUNCTION(BlueprintPure, Category =
"Widget Studio|Helper|Color")
168 EClusivity GetSelectionMethod()
const;
177 UFUNCTION(BlueprintCallable, Category =
"Widget Studio|Modifier")
178 void SetText(FText NewText);
184 UFUNCTION(BlueprintCallable, Category =
"Widget Studio|Modifier")
185 void SetIcon(EIconItem NewIcon);
191 UFUNCTION(BlueprintCallable, Category =
"Widget Studio|Modifier|Color")
192 void SetBackgroundColor(EPalette NewColor);
198 UFUNCTION(BlueprintCallable, Category =
"Widget Studio|Modifier|Color")
199 void SetContentColor(EPalette NewColor);
205 UFUNCTION(BlueprintCallable, Category =
"Widget Studio|Modifier|Color")
206 void SetCheckedColor(EPalette NewColor);
213 UFUNCTION(BlueprintCallable, Category =
"Widget Studio|Modifier")
214 void SetSelectionMethod(EClusivity NewState);
A custom text widget setup to work with the Typography Styling.
Definition: WSText.h:92