UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SGameMenuItemWidget.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
8#include "Layout/Visibility.h"
10#include "Styling/SlateColor.h"
12#include "Input/Reply.h"
17#include "GameMenuWidgetStyle.h"
18
19struct FGeometry;
20struct FPointerEvent;
21
22// Menu item widget
24{
25public:
27
30
33
34
36
37
38 SLATE_EVENT(FOnClicked, OnClicked)
39
40
41 SLATE_EVENT(FOnArrowPressed, OnArrowPressed)
42
43
45
46
47 SLATE_ARGUMENT(bool, bIsMultichoice)
48
49
50 SLATE_ATTRIBUTE(FText, OptionText)
51
52
53 SLATE_ARGUMENT(TOptional<float>, InactiveTextAlpha)
54
55
57
58
59 void Construct(const FArguments& InArgs);
60
61 //~ Begin SWidget Interface
62 virtual bool SupportsKeyboardFocus() const override { return true; }
63
65
66 virtual FReply OnMouseButtonUp(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override;
67
68 virtual FReply OnMouseMove(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override;
69 //~ End SWidget Interface
70
72 void SetMenuItemActive(bool bIsMenuItemActive);
73
76
79
82
84 void SetMenuStyle(const FGameMenuStyle* InMenuStyle);
85
86 void SetClickedDelegate(FOnClicked InOnClicked);
87
89 void SetArrowPressedDelegate(FOnArrowPressed InOnArrowPressed);
90
91protected:
94
97
100
103
106
109
112
115
116 /* The Style of the menu. */
118
119private:
120
122 FSlateColor GetButtonBgColor() const;
123
125 FSlateColor GetButtonTextColor() const;
126
128 EVisibility GetLeftArrowVisibility() const;
129
131 EVisibility GetRightArrowVisibility() const;
132
134 FReply OnRightArrowDown(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent);
135
137 FReply OnLeftArrowDown(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent);
138
139};
140
141
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define SLATE_STYLE_ARGUMENT(ArgType, ArgName)
Definition DeclarativeSyntaxSupport.h:280
#define SLATE_ATTRIBUTE(AttrType, AttrName)
Definition DeclarativeSyntaxSupport.h:192
#define SLATE_EVENT(DelegateName, EventName)
Definition DeclarativeSyntaxSupport.h:458
#define SLATE_END_ARGS()
Definition DeclarativeSyntaxSupport.h:116
#define SLATE_ARGUMENT(ArgType, ArgName)
Definition DeclarativeSyntaxSupport.h:208
void Construct(const FArguments &InArgs)
Definition Reply.h:24
Definition Text.h:385
Definition SCompoundWidget.h:22
Definition SGameMenuItemWidget.h:24
EVisibility LeftArrowVisible
Definition SGameMenuItemWidget.h:75
bool bIsMultichoice
Definition SGameMenuItemWidget.h:111
float InactiveTextAlpha
Definition SGameMenuItemWidget.h:105
const FGameMenuStyle * MenuStyle
Definition SGameMenuItemWidget.h:117
FOnClicked OnClicked
Definition SGameMenuItemWidget.h:93
FOnArrowPressed OnArrowPressed
Definition SGameMenuItemWidget.h:96
bool bIsActiveMenuItem
Definition SGameMenuItemWidget.h:108
DECLARE_DELEGATE_OneParam(FOnArrowPressed, int)
TAttribute< FText > Text
Definition SGameMenuItemWidget.h:99
EVisibility RightArrowVisible
Definition SGameMenuItemWidget.h:78
SLATE_BEGIN_ARGS(SGameMenuItemWidget)
Definition SGameMenuItemWidget.h:28
TWeakObjectPtr< class APlayerController > PCOwner
Definition SGameMenuItemWidget.h:114
TAttribute< FText > OptionText
Definition SGameMenuItemWidget.h:102
virtual SLATECORE_API FReply OnMouseButtonDown(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
Definition SWidget.cpp:451
virtual SLATECORE_API FReply OnMouseButtonUp(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
Definition SWidget.cpp:463
virtual SLATECORE_API FReply OnMouseMove(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
Definition SWidget.cpp:475
Definition Visibility.h:12
Definition GameMenuWidgetStyle.h:30
Definition Geometry.h:40
Definition Events.h:695
Definition SlateColor.h:42
Definition Optional.h:131
Definition WeakObjectPtrTemplates.h:25