12#include "CoreMinimal.h"
13#include "UObject/Object.h"
14#include "Theme/WSTheme.h"
15#include "Theme/WSTypography.h"
16#include "Theme/WSIconSet.h"
17#include "WSSettings.generated.h"
19extern int32 DefaultBorderRadius;
20extern float DefaultIdealWidth;
21extern float DefaultIdealHeight;
26UCLASS(config = Game, defaultconfig)
36 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
override;
44 UPROPERTY(Config, EditAnywhere, Category =
"Theme", Meta = (HideViewOptions, DisplayThumbnail =
"false"))
51 UPROPERTY(EditAnywhere, Category = "Theme", Meta = (DisplayName = "Create New Theme"))
52 bool CreateThemeButton = false;
54 UPROPERTY(VisibleAnywhere, Category = "Theme|Preview", Meta = (HideAlphaChannel = "true"))
55 FLinearColor PrimaryAccent;
57 UPROPERTY(VisibleAnywhere, Category = "Theme|Preview", Meta = (HideAlphaChannel = "true"))
58 FLinearColor SecondaryAccent;
60 UPROPERTY(VisibleAnywhere, Category = "Theme|Preview", Meta = (HideAlphaChannel = "true"))
61 FLinearColor PrimaryContent;
63 UPROPERTY(VisibleAnywhere, Category = "Theme|Preview", Meta = (HideAlphaChannel = "true"))
64 FLinearColor SecondaryContent;
66 UPROPERTY(VisibleAnywhere, Category = "Theme|Preview", Meta = (HideAlphaChannel = "true"))
67 FLinearColor TertiaryContent;
69 UPROPERTY(VisibleAnywhere, Category = "Theme|Preview", Meta = (HideAlphaChannel = "true"))
70 FLinearColor PrimaryBackground;
72 UPROPERTY(VisibleAnywhere, Category = "Theme|Preview", Meta = (HideAlphaChannel = "true"))
73 FLinearColor SecondaryBackground;
75 UPROPERTY(VisibleAnywhere, Category = "Theme|Preview", Meta = (HideAlphaChannel = "true"))
76 FLinearColor TertiaryBackground;
82 UPROPERTY(Config, EditAnywhere, Category = "Typography", Meta = (HideViewOptions, DisplayThumbnail = "false"))
89 UPROPERTY(EditAnywhere, Category = "Typography", Meta = (DisplayName = "Create New Typography"))
90 bool CreateTypographyButton = false;
96 UPROPERTY(Config, EditAnywhere, Category = "Icon Set", Meta = (HideViewOptions, DisplayThumbnail = "false"))
103 UPROPERTY(EditAnywhere, Category = "Icon Set", Meta = (DisplayName = "Create New Icon Set"))
104 bool CreateIconSetButton = false;
110 UPROPERTY(Config, EditAnywhere, Category = "Style", Meta = (ClampMin = "0", UIMin = "0", ClampMax = "45", UIMax = "45"))
111 int32 BorderRadius = DefaultBorderRadius;
114 UPROPERTY(Config, EditAnywhere, Category = "Style", Meta = (ClampMin = "75", UIMin = "75", ClampMax = "1000", UIMax = "1000"))
115 float IdealWidth = DefaultIdealWidth;
118 UPROPERTY(Config, EditAnywhere, Category = "Style", Meta = (ClampMin = "35", UIMin = "35", ClampMax = "1000", UIMax = "1000"))
119 float IdealHeight = DefaultIdealHeight;
126 void UpdateThemePreview();
133 void CreateNewThemeDataAssetObject(const FString FileName, const FString PackageName) const;
140 void CreateNewTypographyDataAssetObject(const FString FileName, const FString PackageName) const;
147 void CreateNewIconSetDataAssetObject(const FString FileName, const FString PackageName) const;