12#include "CoreMinimal.h"
13#include "Widgets/Modern/WSModernButton.h"
15#include "Widgets/WSContainer.h"
16#include "Widgets/Modern/WSModernTabBar.h"
17#include "Components/InvalidationBox.h"
18#include "Components/MenuAnchor.h"
20#include "WSModernComboBox.generated.h"
32 virtual TSharedRef<SWidget> RebuildWidget()
override;
33 virtual int32 NativePaint(
const FPaintArgs& Args,
const FGeometry& AllottedGeometry,
const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId,
const FWidgetStyle& InWidgetStyle,
bool bParentEnabled)
const override;
34 virtual void SynchronizeProperties()
override;
35 virtual void InitializeStyling()
override;
36 virtual void UpdateStyling()
override;
38 virtual FReply NativeOnMouseButtonDown(
const FGeometry& InGeometry,
const FPointerEvent& InMouseEvent)
override;
44 UUserWidget* ConstructMenu()
const;
48 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
49 UInvalidationBox* Retainer =
nullptr;
51 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
52 UVerticalBox* VBox =
nullptr;
54 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
57 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
58 USizeBox* ContentSizeBox =
nullptr;
60 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
61 UScaleBox* ContentScaleBox =
nullptr;
63 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
64 UOverlay* ContentOverlay =
nullptr;
66 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
67 UImage* DropShadow =
nullptr;
69 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
70 UImage* Background =
nullptr;
72 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
73 UHorizontalBox* HBox =
nullptr;
75 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
78 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
81 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
82 UScaleBox* ArrowScaleBox =
nullptr;
84 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
87 UPROPERTY(BlueprintReadOnly, Category =
"Widgets")
88 UMenuAnchor* MenuAnchor =
nullptr;
95 UPROPERTY(EditAnywhere, Category =
"Widget Studio|Advanced|Deprecated",Meta=(DeprecatedProperty, DeprecationMessage=
"Per-widget labeling is no longer supported. Place this widget in the Label Widget instead."))
99 UPROPERTY(EditAnywhere, Category =
"Widget Studio")
100 FText PlaceholderText = FText().FromString(
"Select option");
103 UPROPERTY(EditAnywhere, Category =
"Widget Studio")
104 TEnumAsByte<EHorizontalAlignment> ContentAlignment = HAlign_Left;
107 UPROPERTY(EditAnywhere, Category =
"Widget Studio|Text", meta = (DisplayName =
"Text Style"))
112 ETextJustify::Center,
115 ETextWrappingPolicy::DefaultWrapping);
121 UPROPERTY(EditAnywhere, Category =
"Widget Studio|Icon")
122 EWSPlacement IconPlacement;
125 UPROPERTY(EditAnywhere, Category =
"Widget Studio|Icon", meta = (DisplayName =
"Icon Style"))
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 SelectionColor = EPalette::PrimaryAccent;
143 UPROPERTY(EditAnywhere, Category =
"Widget Studio|Advanced|Deprecated",Meta=(DeprecatedProperty, DeprecationMessage=
"Per-widget labeling is no longer supported. Place this widget in the Label Widget instead."))
144 EPalette LabelColor = EPalette::PrimaryContent;
150 UPROPERTY(EditAnywhere, Category =
"Widget Studio|Style")
151 ECornerStyle CornerStyle = ECornerStyle::Rounded;
156 UPROPERTY(EditAnywhere, Category =
"Widget Studio|Style")
157 float MenuHeight = 225;
162 UPROPERTY(EditAnywhere, Category =
"Widget Studio|State")
163 bool bIsSelectable =
true;
169 virtual void SetCurrentIndex(int32 Index,
bool bBroadcast)
override;
174 UFUNCTION(BlueprintPure, Category =
"Widget Studio|Advanced|Deprecated",Meta=(DeprecatedProperty, DeprecationMessage=
"Per-widget labeling is no longer supported. Place this widget in the Label Widget instead."))
175 FText GetLabel()
const;
178 UFUNCTION(BlueprintPure, Category =
"Widget Studio|Helper")
179 FText GetPlaceholderText()
const;
182 UFUNCTION(BlueprintPure, Category =
"Widget Studio|Helper")
183 ECornerStyle GetCornerStyle()
const;
186 UFUNCTION(BlueprintPure, Category =
"Widget Studio|Helper|Color")
187 EPalette GetBackgroundColor()
const;
190 UFUNCTION(BlueprintPure, Category =
"Widget Studio|Helper|Color")
191 EPalette GetContentColor()
const;
194 UFUNCTION(BlueprintPure, Category =
"Widget Studio|Helper|Color")
195 EPalette GetSelectionColor()
const;
198 UFUNCTION(BlueprintPure, Category =
"Widget Studio|Advanced|Deprecated",Meta=(DeprecatedProperty, DeprecationMessage=
"Per-widget labeling is no longer supported. Place this widget in the Label Widget instead."))
199 EPalette GetLabelColor()
const;
202 UFUNCTION(BlueprintPure, Category =
"Widget Studio|Helper|Color")
203 bool IsSelectable()
const;
212 UFUNCTION(BlueprintCallable, Category =
"Widget Studio|Advanced|Deprecated",Meta=(DeprecatedProperty, DeprecationMessage=
"Per-widget labeling is no longer supported. Place this widget in the Label Widget instead."))
213 void SetLabel(FText NewLabel);
219 UFUNCTION(BlueprintCallable, Category =
"Widget Studio|Modifier")
220 void SetPlaceholderText(FText NewText);
226 UFUNCTION(BlueprintCallable, Category =
"Widget Studio|Modifier")
227 void SetCornerStyle(ECornerStyle NewStyle);
233 UFUNCTION(BlueprintCallable, Category =
"Widget Studio|Modifier")
234 void SetBackgroundColor(EPalette NewColor);
240 UFUNCTION(BlueprintCallable, Category =
"Widget Studio|Modifier")
241 void SetContentColor(EPalette NewColor);
247 UFUNCTION(BlueprintCallable, Category =
"Widget Studio|Modifier")
248 void SetSelectionColor(EPalette NewColor);
254 UFUNCTION(BlueprintCallable, Category =
"Widget Studio|Advanced|Deprecated",Meta=(DeprecatedProperty, DeprecationMessage=
"Per-widget labeling is no longer supported. Place this widget in the Label Widget instead."))
255 void SetLabelColor(EPalette NewColor);
261 UFUNCTION(BlueprintCallable, Category =
"Widget Studio|Modifier")
262 void SetSelectable(
bool NewState);
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 Icon Widget.
Definition: WSIcon.h:27
The settings for the Widget Studio Text.
Definition: WSText.h:23