Files
UnrealEngine/Engine/Source/Runtime/FriendsAndChat/Public/FriendsListStyle.h
2025-05-18 13:04:45 +08:00

349 lines
11 KiB
C

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/NameTypes.h"
#include "Math/Vector2D.h"
#include "UObject/ObjectMacros.h"
#include "Layout/Margin.h"
#include "Styling/SlateColor.h"
#include "Styling/SlateBrush.h"
#include "Styling/SlateWidgetStyle.h"
#include "Styling/SlateTypes.h"
#include "FriendsListStyle.generated.h"
/**
* Interface for the services manager.
*/
USTRUCT()
struct FRIENDSANDCHAT_API FFriendsListStyle
: public FSlateWidgetStyle
{
GENERATED_USTRUCT_BODY()
// Default Constructor
FFriendsListStyle()
: BackButtonMargin(0.0, 0.0, 0.0, 1.0)
, HeaderButtonMargin(0.0, 0.0, 1.0, 0.0)
, FriendsListMargin(0.0, 1.0, 0.0, 0.0)
, BackButtonContentMargin(15.0, 13.0, 0.0, 13.0)
, FriendsListNoFriendsMargin(15.0, 10.0, 15.0, 0.0)
, FriendsListHeaderMargin(45.0, 20.0, 0.0, 20.0)
, FriendsListHeaderCountMargin(5.0, 20.0, 0.0, 20.0)
, HeaderButtonContentMargin(0.0, 13.0)
, FriendItemMargin(0.0, 17.0)
, FriendItemStatusMargin(15.0, 0.0)
, FriendItemPresenceMargin(27.0, 0.0, 35.0, 0.0)
, FriendItemPlatformMargin(0, 0, 5, 0)
, FriendItemTextScrollerMargin(5, 0, 0, 0)
, ConfirmationBorderMargin(0.0, 0.0, 5.0, 0.0)
, ConfirmationButtonMargin(5.0, 0.0, 0.0, 0.0)
, ConfirmationButtonContentMargin(5.0, 20.0)
, NoneFriendContentMargin(0)
, NoneFriendContentHeight(75.f)
, NoneFriendIconWidth(40.f)
, SubMenuBackIconMargin(0.0, 0.0, 20.0, 0.0)
, SubMenuPageIconMargin(20.0, 0.0)
, RadioSettingTitleMargin(45.0, 10.0)
, SubMenuSearchIconMargin(20.0, 50.0)
, SubMenuSearchTextMargin(0.0, 0.0, 0.0, 0.0)
, SubMenuBackButtonMargin(20.0)
, SubMenuSettingButtonMargin(37.0, 20.0, 45.0, 20.0)
, SubMenuListMargin(0.0, 5.0)
, SubMenuSeperatorThickness(2.f)
, PresenceSeperatorThickness(1.f)
, FriendTipMargin(0, 10, 15, 10)
, FriendTipSeperatorMargin(0, 10)
, ToolTipMargin(10.0)
, TipStatusMargin(0.0, 0.0, 15.0, 0.0)
, AddButtonMargin(50, 12)
, AddButtonSpacing(12.f, 25.f)
{ }
// Default Destructor
virtual ~FFriendsListStyle() { }
/**
* Override widget style function.
*/
virtual void GetResources( TArray< const FSlateBrush* >& OutBrushes ) const override { }
// Holds the widget type name
static const FName TypeName;
/**
* Get the type name.
* @return the type name
*/
virtual const FName GetTypeName() const override { return TypeName; };
/**
* Get the default style.
* @return the default style
*/
static const FFriendsListStyle& GetDefault();
// Friends List Style
UPROPERTY( EditAnywhere, Category = Appearance )
FButtonStyle GlobalChatButtonStyle;
FFriendsListStyle& SetGlobalChatButtonStyle(const FButtonStyle& ButtonStyle);
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush GlobalChatIcon;
FFriendsListStyle& SetGlobalChatIcon(const FSlateBrush& BrushStyle);
/** Friends List Open Button style */
UPROPERTY(EditAnywhere, Category = Appearance)
FButtonStyle FriendItemButtonStyle;
FFriendsListStyle& SetFriendItemButtonStyle(const FButtonStyle& ButtonStyle);
UPROPERTY(EditAnywhere, Category = Appearance)
FButtonStyle ConfirmButtonStyle;
FFriendsListStyle& SetConfirmButtonStyle(const FButtonStyle& ButtonStyle);
UPROPERTY(EditAnywhere, Category = Appearance)
FButtonStyle CancelButtonStyle;
FFriendsListStyle& SetCancelButtonStyle(const FButtonStyle& ButtonStyle);
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateColor ButtonContentColor;
FFriendsListStyle& SetButtonContentColor(const FSlateColor& InColor);
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateColor ButtonHoverContentColor;
FFriendsListStyle& SetButtonHoverContentColor(const FSlateColor& InColor);
/** Optional content for the Add Friend button */
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush ActionMenuArrowBrush;
FFriendsListStyle& SetActionMenuArrowBrush(const FSlateBrush& BrushStyle);
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush ToolTipArrowBrush;
FFriendsListStyle& SetToolTipArrowBrush(const FSlateBrush& BrushStyle);
UPROPERTY(EditAnywhere, Category = Appearance)
FButtonStyle BackButtonStyle;
FFriendsListStyle& SetBackButtonStyle(const FButtonStyle& ButtonStyle);
UPROPERTY(EditAnywhere, Category = Appearance)
FButtonStyle HeaderButtonStyle;
FFriendsListStyle& SetHeaderButtonStyle(const FButtonStyle& ButtonStyle);
/** Friends List Action Button style */
UPROPERTY( EditAnywhere, Category = Appearance )
FButtonStyle FriendListActionButtonStyle;
FFriendsListStyle& SetFriendListActionButtonStyle(const FButtonStyle& ButtonStyle);
/** Optional content for the Add Friend button */
UPROPERTY( EditAnywhere, Category = Appearance )
FSlateBrush AddFriendButtonContentBrush;
FFriendsListStyle& SetAddFriendButtonContentBrush(const FSlateBrush& BrushStyle);
/** Friend Image brush style */
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush StatusIconBrush;
FFriendsListStyle& SetStatusIconBrush(const FSlateBrush& BrushStyle);
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush PCIconBrush;
FFriendsListStyle& SetPCIconBrush(const FSlateBrush& BrushStyle);
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush ConsoleIconBrush;
FFriendsListStyle& SetConsoleIconBrush(const FSlateBrush& BrushStyle);
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush EpicIconBrush;
FFriendsListStyle& SetEpicIconBrush(const FSlateBrush& BrushStyle);
/** Friend Image brush style */
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush FriendImageBrush;
FFriendsListStyle& SetFriendImageBrush(const FSlateBrush& BrushStyle);
/** Offline brush style */
UPROPERTY(EditAnywhere, Category=Appearance)
FSlateBrush OfflineBrush;
FFriendsListStyle& SetOfflineBrush(const FSlateBrush& InOffLine);
/** Online brush style */
UPROPERTY(EditAnywhere, Category=Appearance)
FSlateBrush OnlineBrush;
FFriendsListStyle& SetOnlineBrush(const FSlateBrush& InOnLine);
/** Away brush style */
UPROPERTY(EditAnywhere, Category=Appearance)
FSlateBrush AwayBrush;
FFriendsListStyle& SetAwayBrush(const FSlateBrush& AwayBrush);
/** Away brush style */
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush SpectateBrush;
FFriendsListStyle& SetSpectateBrush(const FSlateBrush& SpectateBrush);
/** Friends window background */
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush FriendsContainerBackground;
FFriendsListStyle& SetFriendContainerBackground(const FSlateBrush& InFriendContainerBackground);
/** Friends window background */
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush FriendsListBackground;
FFriendsListStyle& SetFriendsListBackground(const FSlateBrush& InBrush);
UPROPERTY(EditAnywhere, Category = Appearance)
FEditableTextBoxStyle AddFriendEditableTextStyle;
FFriendsListStyle& SetAddFriendEditableTextStyle(const FEditableTextBoxStyle& InEditableTextStyle);
UPROPERTY(EditAnywhere, Category = Appearance)
FVector2D UserPresenceImageSize;
FFriendsListStyle& SetUserPresenceImageSize(const FVector2D& InUserPresenceImageSize);
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush BackBrush;
FFriendsListStyle& SetBackBrush(const FSlateBrush& Brush);
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush SelectedOptionBrush;
FFriendsListStyle& SetSelectedOptionBrush(const FSlateBrush& Brush);
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush SettingsBrush;
FFriendsListStyle& SetSettingsBrush(const FSlateBrush& Brush);
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush SeperatorBrush;
FFriendsListStyle& SetSeperatorBrush(const FSlateBrush& Brush);
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush PresenceSeperatorBrush;
FFriendsListStyle& SetPresenceSeperatorBrush(const FSlateBrush& Brush);
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush FontSizeBrush;
FFriendsListStyle& SetFontSizeBrush(const FSlateBrush& Brush);
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush SearchBrush;
FFriendsListStyle& SetSearchBrush(const FSlateBrush& Brush);
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin BackButtonMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin HeaderButtonMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin FriendsListMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin BackButtonContentMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin FriendsListNoFriendsMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin FriendsListHeaderMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin FriendsListHeaderCountMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin HeaderButtonContentMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin FriendItemMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin FriendItemStatusMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin FriendItemPresenceMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin FriendItemPlatformMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin FriendItemTextScrollerMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin ConfirmationBorderMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin ConfirmationButtonMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin ConfirmationButtonContentMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin NoneFriendContentMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
float NoneFriendContentHeight;
UPROPERTY(EditAnywhere, Category = Appearance)
float NoneFriendIconWidth;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin SubMenuBackIconMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin SubMenuPageIconMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin RadioSettingTitleMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin SubMenuSearchIconMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin SubMenuSearchTextMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin SubMenuBackButtonMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin SubMenuSettingButtonMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin SubMenuListMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
float SubMenuSeperatorThickness;
UPROPERTY(EditAnywhere, Category = Appearance)
float PresenceSeperatorThickness;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin FriendTipMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin FriendTipSeperatorMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin ToolTipMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin TipStatusMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FMargin AddButtonMargin;
UPROPERTY(EditAnywhere, Category = Appearance)
FVector2D AddButtonSpacing;
// Clan Settings
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush ClanDetailsBrush;
FFriendsListStyle& SetClanDetailsBrush(const FSlateBrush& Brush);
UPROPERTY(EditAnywhere, Category = Appearance)
FSlateBrush ClanMembersBrush;
FFriendsListStyle& SetClanMembersBrush(const FSlateBrush& Brush);
};