UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Menu.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
"
6
#include "
Input/PopupMethodReply.h
"
7
#include "
Framework/Application/IMenu.h
"
8
9
class
SWidget
;
10
class
SWindow
;
11
15
class
FMenuBase
:
public
IMenu
,
public
TSharedFromThis
<FMenuBase>
16
{
17
public
:
18
virtual
FOnMenuDismissed
&
GetOnMenuDismissed
()
override
{
return
OnMenuDismissed
; }
19
virtual
TSharedPtr<SWidget>
GetContent
()
const override
{
return
Content
; }
20
bool
IsCollapsedByParent
()
const
{
return
bIsCollapsedByParent
; }
21
virtual
bool
UsingApplicationMenuStack
()
const override
{
return
true
; }
22
23
protected
:
24
FMenuBase
(
TSharedRef<SWidget>
InContent
,
const
bool
bCollapsedByParent
);
25
26
FOnMenuDismissed
OnMenuDismissed
;
27
TSharedRef<SWidget>
Content
;
28
bool
bDismissing
;
29
bool
bIsCollapsedByParent
;
30
};
31
35
class
FMenuInWindow
:
public
FMenuBase
36
{
37
public
:
38
FMenuInWindow
(
TSharedRef<SWindow>
InWindow
,
TSharedRef<SWidget>
InContent
,
const
bool
bIsCollapsedByParent
);
39
virtual
~FMenuInWindow
() {}
40
41
virtual
EPopupMethod
GetPopupMethod
()
const override
{
return
EPopupMethod::CreateNewWindow
; }
42
virtual
TSharedPtr<SWindow>
GetParentWindow
()
const override
;
43
virtual
TSharedPtr<SWindow>
GetOwnedWindow
()
const override
{
return
GetParentWindow
(); }
44
virtual
void
Dismiss
()
override
;
45
46
private
:
47
TWeakPtr<SWindow>
Window;
48
};
49
53
class
FMenuInPopup
:
public
FMenuBase
54
{
55
public
:
56
FMenuInPopup
(
TSharedRef<SWidget>
InContent
,
const
bool
bIsCollapsedByParent
);
57
virtual
~FMenuInPopup
() {}
58
59
virtual
EPopupMethod
GetPopupMethod
()
const
{
return
EPopupMethod::UseCurrentWindow
; }
60
virtual
TSharedPtr<SWindow>
GetParentWindow
()
const
;
61
virtual
TSharedPtr<SWindow>
GetOwnedWindow
()
const
{
return
TSharedPtr<SWindow>
(); }
62
virtual
void
Dismiss
()
override
;
63
};
64
68
class
FMenuInHostWidget
:
public
FMenuBase
69
{
70
public
:
71
FMenuInHostWidget
(
TSharedRef<IMenuHost>
InHost
,
const
TSharedRef<SWidget>
&
InContent
,
const
bool
bIsCollapsedByParent
);
72
virtual
~FMenuInHostWidget
() {}
73
74
virtual
EPopupMethod
GetPopupMethod
()
const
{
return
EPopupMethod::UseCurrentWindow
; }
75
virtual
TSharedPtr<SWindow>
GetParentWindow
()
const
;
76
virtual
TSharedPtr<SWindow>
GetOwnedWindow
()
const
{
return
TSharedPtr<SWindow>
(); }
77
virtual
void
Dismiss
()
override
;
78
virtual
bool
UsingApplicationMenuStack
()
const override
;
79
80
private
:
81
TWeakPtr<IMenuHost>
MenuHost;
82
};
CoreMinimal.h
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
IMenu.h
PopupMethodReply.h
EPopupMethod
EPopupMethod
Definition
PopupMethodReply.h:9
EPopupMethod::CreateNewWindow
@ CreateNewWindow
EPopupMethod::UseCurrentWindow
@ UseCurrentWindow
FMenuBase
Definition
Menu.h:16
FMenuBase::UsingApplicationMenuStack
virtual bool UsingApplicationMenuStack() const override
Definition
Menu.h:21
FMenuBase::bIsCollapsedByParent
bool bIsCollapsedByParent
Definition
Menu.h:29
FMenuBase::bDismissing
bool bDismissing
Definition
Menu.h:28
FMenuBase::IsCollapsedByParent
bool IsCollapsedByParent() const
Definition
Menu.h:20
FMenuBase::OnMenuDismissed
FOnMenuDismissed OnMenuDismissed
Definition
Menu.h:26
FMenuBase::Content
TSharedRef< SWidget > Content
Definition
Menu.h:27
FMenuBase::GetContent
virtual TSharedPtr< SWidget > GetContent() const override
Definition
Menu.h:19
FMenuBase::GetOnMenuDismissed
virtual FOnMenuDismissed & GetOnMenuDismissed() override
Definition
Menu.h:18
FMenuInHostWidget
Definition
Menu.h:69
FMenuInHostWidget::Dismiss
virtual void Dismiss() override
Definition
Menu.cpp:83
FMenuInHostWidget::~FMenuInHostWidget
virtual ~FMenuInHostWidget()
Definition
Menu.h:72
FMenuInHostWidget::GetOwnedWindow
virtual TSharedPtr< SWindow > GetOwnedWindow() const
Definition
Menu.h:76
FMenuInHostWidget::GetParentWindow
virtual TSharedPtr< SWindow > GetParentWindow() const
Definition
Menu.cpp:72
FMenuInHostWidget::GetPopupMethod
virtual EPopupMethod GetPopupMethod() const
Definition
Menu.h:74
FMenuInHostWidget::UsingApplicationMenuStack
virtual bool UsingApplicationMenuStack() const override
Definition
Menu.cpp:97
FMenuInPopup
Definition
Menu.h:54
FMenuInPopup::~FMenuInPopup
virtual ~FMenuInPopup()
Definition
Menu.h:57
FMenuInPopup::GetPopupMethod
virtual EPopupMethod GetPopupMethod() const
Definition
Menu.h:59
FMenuInPopup::GetParentWindow
virtual TSharedPtr< SWindow > GetParentWindow() const
Definition
Menu.cpp:50
FMenuInPopup::Dismiss
virtual void Dismiss() override
Definition
Menu.cpp:56
FMenuInPopup::GetOwnedWindow
virtual TSharedPtr< SWindow > GetOwnedWindow() const
Definition
Menu.h:61
FMenuInWindow
Definition
Menu.h:36
FMenuInWindow::GetParentWindow
virtual TSharedPtr< SWindow > GetParentWindow() const override
Definition
Menu.cpp:21
FMenuInWindow::GetPopupMethod
virtual EPopupMethod GetPopupMethod() const override
Definition
Menu.h:41
FMenuInWindow::~FMenuInWindow
virtual ~FMenuInWindow()
Definition
Menu.h:39
FMenuInWindow::Dismiss
virtual void Dismiss() override
Definition
Menu.cpp:27
FMenuInWindow::GetOwnedWindow
virtual TSharedPtr< SWindow > GetOwnedWindow() const override
Definition
Menu.h:43
IMenu
Definition
IMenu.h:15
SWidget
Definition
SWidget.h:165
SWindow
Definition
SWindow.h:243
TSharedFromThis
Definition
SharedPointer.h:1640
TSharedPtr
Definition
SharedPointer.h:692
TSharedRef
Definition
SharedPointer.h:153
TWeakPtr
Definition
SharedPointer.h:1295
Engine
Source
Runtime
Slate
Private
Framework
Application
Menu.h
Generated by
1.9.8