UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SRichTextHyperlink.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
5#include "SlateGlobals.h"
6#include "Input/Reply.h"
7#include "Layout/Margin.h"
11#include "Styling/CoreStyle.h"
13
15enum class ETextShapingMethod : uint8;
16
17#if WITH_FANCY_TEXT
18
19class SRichTextHyperlink : public SHyperlink
20{
21public:
22
24 : _Text()
25 , _Style(&FCoreStyle::Get().GetWidgetStyle< FHyperlinkStyle >("Hyperlink"))
26 , _OnNavigate()
29 {}
32 SLATE_EVENT( FSimpleDelegate, OnNavigate )
36
37public:
38
39 void Construct( const FArguments& InArgs, const TSharedRef< FSlateHyperlinkRun::FWidgetViewModel >& InViewModel )
40 {
42
44 SHyperlink::FArguments()
45 .Text( InArgs._Text )
46 .Style( InArgs._Style )
47 .Padding( FMargin(0))
48 .OnNavigate( InArgs._OnNavigate )
49 .TextShapingMethod( InArgs._TextShapingMethod )
50 .TextFlowDirection( InArgs._TextFlowDirection )
51 );
52 }
53
54 virtual void OnMouseEnter( const FGeometry& MyGeometry, const FPointerEvent& MouseEvent ) override
55 {
57 ViewModel->SetIsHovered( IsHovered() );
58 }
59
60 virtual void OnMouseLeave( const FPointerEvent& MouseEvent ) override
61 {
63 ViewModel->SetIsHovered( IsHovered() );
64 }
65
66 virtual FReply OnMouseButtonDown( const FGeometry& MyGeometry, const FPointerEvent& MouseEvent ) override
67 {
69 ViewModel->SetIsPressed( IsPressed() );
70
71 return Reply;
72 }
73
74 virtual FReply OnMouseButtonUp( const FGeometry& MyGeometry, const FPointerEvent& MouseEvent ) override
75 {
77 ViewModel->SetIsPressed( IsPressed() );
78
79 return Reply;
80 }
81
82private:
83
85};
86
87
88#endif //WITH_FANCY_TEXT
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_BEGIN_ARGS(InWidgetType)
Definition DeclarativeSyntaxSupport.h:63
#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
ETextShapingMethod
Definition FontCache.h:52
void Construct(const FArguments &InArgs)
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition CoreStyle.h:15
Definition Reply.h:24
Definition Text.h:385
bool IsPressed() const
Definition SButton.h:184
virtual SLATE_API void OnMouseEnter(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
Definition SButton.cpp:476
virtual SLATE_API FReply OnMouseButtonUp(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
Definition SButton.cpp:403
virtual SLATE_API void OnMouseLeave(const FPointerEvent &MouseEvent) override
Definition SButton.cpp:544
virtual SLATE_API FReply OnMouseButtonDown(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
Definition SButton.cpp:351
bool IsHovered() const
Definition SWidget.h:983
Definition SharedPointer.h:692
Definition SharedPointer.h:153
FORCEINLINE T * Get(const FObjectPtr &ObjectPtr)
Definition ObjectPtr.h:426
Definition Geometry.h:40
Definition SlateTypes.h:832
Definition Margin.h:17
Definition Events.h:695
Definition Optional.h:131