UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SEditableText.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 "Misc/Attribute.h"
9#include "Input/CursorReply.h"
10#include "Input/Reply.h"
11#include "Layout/Visibility.h"
13#include "Widgets/SWidget.h"
14#include "Styling/SlateTypes.h"
15#include "Styling/CoreStyle.h"
21
24class FChildren;
25class FPaintArgs;
29class IBreakIterator;
30struct FTextLocation;
31enum class ETextFlowDirection : uint8;
32enum class ETextShapingMethod : uint8;
33
38{
39public:
71
74
75
76 SLATE_ATTRIBUTE( FText, HintText )
77
78
79 SLATE_ATTRIBUTE( FText, SearchText )
80
81
83
84
86
87
89
90
92
93
94 SLATE_ATTRIBUTE( const FSlateBrush*, BackgroundImageComposing )
95
96
97 SLATE_ATTRIBUTE( const FSlateBrush*, CaretImage )
98
99
100 SLATE_ATTRIBUTE( bool, IsReadOnly )
101
102
103 SLATE_ATTRIBUTE( bool, IsPassword )
104
105
106 SLATE_ATTRIBUTE( bool, IsCaretMovedWhenGainFocus )
107
108
109 SLATE_ATTRIBUTE( bool, SelectAllTextWhenFocused )
110
111
113
114
115 SLATE_ATTRIBUTE( bool, RevertTextOnEscape )
116
117
118 SLATE_ATTRIBUTE( bool, ClearKeyboardFocusOnCommit )
119
120
121 SLATE_ATTRIBUTE(ETextJustify::Type, Justification)
122
123
124 SLATE_ATTRIBUTE(bool, AllowContextMenu)
125
126
127 SLATE_ATTRIBUTE(bool, EnableIntegratedKeyboard)
128
129
131
132
139
140
142
143
145
146
148
149
151
152
153 SLATE_ATTRIBUTE( bool, SelectAllTextOnCommit )
154
155
157
158
160
161
163
164
166
167
169
170
172
173
175
176
178
179
181
182
185
186
188
191
197 SLATE_API void Construct( const FArguments& InArgs );
198
204 SLATE_API void SetText( const TAttribute< FText >& InNewText );
205
211 SLATE_API FText GetText() const;
212
222
225
228
231
234
237
240
243
246
249
252
259
262
269
277
284
291
298
305
312
319
326
338
348
351
354
357
359 SLATE_API bool AnyTextSelected() const;
360
363
366
369
372
375
378
381
384
386 SLATE_API void AdvanceSearch(const bool InReverse = false);
387
390
393
396
397 /* Function to spawn virtual keyboard on demand */
398 SLATE_API void ToggleVirtualKeyboard(bool bShow, const int32 UserIndex);
399
400protected:
401 //~ Begin SWidget Interface
402 SLATE_API virtual void Tick( const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime ) override;
403 SLATE_API virtual int32 OnPaint(const FPaintArgs& Args, const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled) const override;
404 SLATE_API virtual void CacheDesiredSize(float LayoutScaleMultiplier) override;
405 SLATE_API virtual FVector2D ComputeDesiredSize(float LayoutScaleMultiplier) const override;
406 SLATE_API virtual FChildren* GetChildren() override;
407 SLATE_API virtual void OnArrangeChildren(const FGeometry& AllottedGeometry, FArrangedChildren& ArrangedChildren) const override;
409 SLATE_API virtual FReply OnDrop( const FGeometry& MyGeometry, const FDragDropEvent& DragDropEvent ) override;
410 SLATE_API virtual bool SupportsKeyboardFocus() const override;
412 SLATE_API virtual void OnFocusLost( const FFocusEvent& InFocusEvent ) override;
414 SLATE_API virtual FReply OnKeyDown( const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent ) override;
415 SLATE_API virtual FReply OnKeyUp( const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent ) override;
420 SLATE_API virtual FCursorReply OnCursorQuery( const FGeometry& MyGeometry, const FPointerEvent& CursorEvent ) const override;
421 SLATE_API virtual const FSlateBrush* GetFocusBrush() const;
422 SLATE_API virtual bool IsInteractable() const override;
423 SLATE_API virtual bool ComputeVolatility() const override;
424#if WITH_ACCESSIBILITY
427#endif
428 //~ End SWidget Interface
429
430protected:
433
434public:
435 //~ Begin ISlateEditableTextWidget Interface
436 SLATE_API virtual bool IsTextReadOnly() const override;
437 SLATE_API virtual bool IsTextPassword() const override;
438 SLATE_API virtual bool IsMultiLineTextEdit() const override;
439 SLATE_API virtual bool IsIntegratedKeyboardEnabled() const override;
440 //~ End ISlateEditableTextWidget Interface
441
442protected:
443 //~ Begin ISlateEditableTextWidget Interface
444 SLATE_API virtual bool ShouldJumpCursorToEndWhenFocused() const override;
445 SLATE_API virtual bool ShouldSelectAllTextWhenFocused() const override;
446 SLATE_API virtual bool ShouldClearTextSelectionOnFocusLoss() const override;
447 SLATE_API virtual bool ShouldRevertTextOnEscape() const override;
448 SLATE_API virtual bool ShouldClearKeyboardFocusOnCommit() const override;
449 SLATE_API virtual bool ShouldSelectAllTextOnCommit() const override;
450 SLATE_API virtual bool ShouldSelectWordOnMouseDoubleClick() const override;
451 SLATE_API virtual bool CanInsertCarriageReturn() const override;
452 SLATE_API virtual bool CanTypeCharacter(const TCHAR InChar) const override;
453 SLATE_API virtual void EnsureActiveTick() override;
454 SLATE_API virtual EKeyboardType GetVirtualKeyboardType() const override;
461 SLATE_API virtual void OnBeginTextEdit(const FText& InText) override;
462 SLATE_API virtual void OnTextChanged(const FText& InText) override;
463 SLATE_API virtual void OnTextCommitted(const FText& InText, const ETextCommit::Type InTextAction) override;
464 SLATE_API virtual void OnCursorMoved(const FTextLocation& InLocation) override;
465 SLATE_API virtual float UpdateAndClampHorizontalScrollBar(const float InViewOffset, const float InViewFraction, const EVisibility InVisiblityOverride) override;
466 SLATE_API virtual float UpdateAndClampVerticalScrollBar(const float InViewOffset, const float InViewFraction, const EVisibility InVisiblityOverride) override;
467 //~ End ISlateEditableTextWidget Interface
468
469protected:
472
475
478
481
484
487
490
493
496
499
502
505
508
511
514
517
520
523
526
529
532
535
538
541
544
547
550
553
556
559};
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
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
return true
Definition ExternalRpcRegistry.cpp:601
ETextShapingMethod
Definition FontCache.h:52
EVirtualKeyboardDismissAction
Definition ISlateEditableTextWidget.h:66
EVirtualKeyboardTrigger
Definition ISlateEditableTextWidget.h:57
ETextLocation
Definition ISlateEditableTextWidget.h:40
EKeyboardType
Definition IVirtualKeyboardEntry.h:12
@ Keyboard_Default
Definition IVirtualKeyboardEntry.h:13
EAccessibleType
Definition SWidget.h:76
ETextFlowDirection
Definition TextLayout.h:81
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition ActiveTimerHandle.h:12
Definition ArrangedChildren.h:15
Definition ChildrenBase.h:27
Definition CoreStyle.h:15
Definition CursorReply.h:16
Definition DragAndDrop.h:141
Definition PaintArgs.h:23
Definition PlainTextLayoutMarshaller.h:14
Definition Reply.h:24
Definition SlateEditableTextLayout.h:36
Definition SlateRect.h:26
Definition DrawElements.h:220
Definition TextLayout.h:150
Definition Text.h:385
Definition WidgetStyle.h:15
Definition IBreakIterator.h:9
Definition ISlateEditableTextWidget.h:202
Definition SEditableText.h:38
SLATE_API void SetClearKeyboardFocusOnCommit(const TAttribute< bool > &InClearKeyboardFocusOnCommit)
Definition SEditableText.cpp:369
virtual SLATE_API FVirtualKeyboardOptions GetVirtualKeyboardOptions() const override
Definition SEditableText.cpp:624
TAttribute< EVirtualKeyboardDismissAction > VirtualKeyboardDismissAction
Definition SEditableText.h:558
virtual SLATE_API FVector2D ComputeDesiredSize(float LayoutScaleMultiplier) const override
Definition SEditableText.cpp:157
SLATE_API void SetSelectAllTextWhenFocused(const TAttribute< bool > &InSelectAllTextWhenFocused)
Definition SEditableText.cpp:359
virtual SLATE_API FReply OnDrop(const FGeometry &MyGeometry, const FDragDropEvent &DragDropEvent) override
Definition SEditableText.cpp:188
TAttribute< bool > bClearKeyboardFocusOnCommit
Definition SEditableText.h:501
virtual SLATE_API bool ShouldRevertTextOnEscape() const override
Definition SEditableText.cpp:565
FOnBeginTextEdit OnBeginTextEditCallback
Definition SEditableText.h:522
SLATE_API void SetText(const TAttribute< FText > &InNewText)
Definition SEditableText.cpp:87
TAttribute< EKeyboardType > VirtualKeyboardType
Definition SEditableText.h:549
TAttribute< bool > bIsPassword
Definition SEditableText.h:489
SLATE_API void SetSelectWordOnMouseDoubleClick(const TAttribute< bool > &InSelectWordOnMouseDoubleClick)
Definition SEditableText.cpp:379
virtual SLATE_API bool CanInsertCarriageReturn() const override
Definition SEditableText.cpp:585
virtual SLATE_API FReply OnMouseButtonDoubleClick(const FGeometry &InMyGeometry, const FPointerEvent &InMouseEvent) override
Definition SEditableText.cpp:280
virtual SLATE_API EKeyboardType GetVirtualKeyboardType() const override
Definition SEditableText.cpp:619
TAttribute< FSlateFontInfo > Font
Definition SEditableText.h:477
virtual SLATE_API void OnCursorMoved(const FTextLocation &InLocation) override
Definition SEditableText.cpp:683
TAttribute< FSlateColor > ColorAndOpacity
Definition SEditableText.h:480
TAttribute< bool > bSelectAllTextOnCommit
Definition SEditableText.h:504
virtual SLATE_API const FSlateBrush * GetFocusBrush() const
Definition SEditableText.cpp:290
SLATE_API void SetIsPassword(TAttribute< bool > InIsPassword)
Definition SEditableText.cpp:338
SLATE_API FText GetHintText() const
Definition SEditableText.cpp:318
SLATE_API FTextSelection GetSelection() const
Definition SEditableText.cpp:474
SLATE_API bool SetEditableText(const FText &InNewText)
Definition SEditableText.cpp:97
virtual SLATE_API bool IsInteractable() const override
Definition SEditableText.cpp:295
TAttribute< bool > bIsCaretMovedWhenGainFocus
Definition SEditableText.h:492
TAttribute< EVirtualKeyboardTrigger > VirtualKeyboardTrigger
Definition SEditableText.h:555
SLATE_API void SetIsCaretMovedWhenGainFocus(const TAttribute< bool > &InIsCaretMovedWhenGainFocus)
Definition SEditableText.cpp:354
TAttribute< bool > bSelectAllTextWhenFocused
Definition SEditableText.h:495
SLATE_API void SetEnableIntegratedKeyboard(const TAttribute< bool > &InEnableIntegratedKeyboard)
Definition SEditableText.cpp:394
SLATE_API void EnableTextInputMethodContext()
Definition SEditableText.cpp:469
virtual SLATE_API void OnFocusLost(const FFocusEvent &InFocusEvent) override
Definition SEditableText.cpp:214
virtual SLATE_API bool IsTextPassword() const override
Definition SEditableText.cpp:535
virtual SLATE_API FReply OnMouseButtonDown(const FGeometry &InMyGeometry, const FPointerEvent &InMouseEvent) override
Definition SEditableText.cpp:265
void SetOnKeyDownHandler(FOnKeyDown InOnKeyDownHandler)
Definition SEditableText.h:344
virtual SLATE_API EVirtualKeyboardDismissAction GetVirtualKeyboardDismissAction() const override
Definition SEditableText.cpp:634
SLATE_API void SetTextStyle(const FEditableTextStyle &InNewTextStyle)
Definition SEditableText.cpp:114
FOnKeyChar OnKeyCharHandler
Definition SEditableText.h:543
virtual SLATE_API bool IsMultiLineTextEdit() const override
Definition SEditableText.cpp:540
SLATE_BEGIN_ARGS(SEditableText)
Definition SEditableText.h:40
SLATE_API void SetAllowContextMenu(const TAttribute< bool > &InAllowContextMenu)
Definition SEditableText.cpp:389
SLATE_API void AdvanceSearch(const bool InReverse=false)
Definition SEditableText.cpp:464
virtual SLATE_API int32 OnPaint(const FPaintArgs &Args, const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled) const override
Definition SEditableText.cpp:137
SLATE_API FText GetText() const
Definition SEditableText.cpp:92
SLATE_API void SynchronizeTextStyle()
Definition SEditableText.cpp:484
virtual SLATE_API void OnTextCommitted(const FText &InText, const ETextCommit::Type InTextAction) override
Definition SEditableText.cpp:678
virtual SLATE_API FCursorReply OnCursorQuery(const FGeometry &MyGeometry, const FPointerEvent &CursorEvent) const override
Definition SEditableText.cpp:285
TUniquePtr< FSlateEditableTextLayout > EditableTextLayout
Definition SEditableText.h:474
TSharedPtr< FPlainTextLayoutMarshaller > PlainTextMarshaller
Definition SEditableText.h:471
FOnKeyDown OnKeyDownHandler
Definition SEditableText.h:546
virtual SLATE_API EVirtualKeyboardTrigger GetVirtualKeyboardTrigger() const override
Definition SEditableText.cpp:629
FOnContextMenuOpening OnContextMenuOpening
Definition SEditableText.h:516
virtual SLATE_API FReply OnKeyUp(const FGeometry &MyGeometry, const FKeyEvent &InKeyEvent) override
Definition SEditableText.cpp:260
SLATE_API FText GetSelectedText() const
Definition SEditableText.cpp:434
virtual SLATE_API void CacheDesiredSize(float LayoutScaleMultiplier) override
Definition SEditableText.cpp:150
SLATE_API void SetSearchText(const TAttribute< FText > &InSearchText)
Definition SEditableText.cpp:323
virtual SLATE_API FReply OnKeyDown(const FGeometry &MyGeometry, const FKeyEvent &InKeyEvent) override
Definition SEditableText.cpp:237
SLATE_API void SetJustification(const TAttribute< ETextJustify::Type > &InJustification)
Definition SEditableText.cpp:384
TAttribute< float > MinDesiredWidth
Definition SEditableText.h:531
TAttribute< bool > bIsReadOnly
Definition SEditableText.h:486
SLATE_API void ClearSelection()
Definition SEditableText.cpp:429
virtual SLATE_API bool ShouldSelectWordOnMouseDoubleClick() const override
Definition SEditableText.cpp:580
FOnTextChanged OnTextChangedCallback
Definition SEditableText.h:525
virtual SLATE_API FReply OnFocusReceived(const FGeometry &MyGeometry, const FFocusEvent &InFocusEvent) override
Definition SEditableText.cpp:208
TWeakPtr< FActiveTimerHandle > ActiveTickTimer
Definition SEditableText.h:537
SLATE_API bool AnyTextSelected() const
Definition SEditableText.cpp:419
virtual SLATE_API float UpdateAndClampHorizontalScrollBar(const float InViewOffset, const float InViewFraction, const EVisibility InVisiblityOverride) override
Definition SEditableText.cpp:688
virtual SLATE_API bool SupportsKeyboardFocus() const override
Definition SEditableText.cpp:203
SLATE_API void SetHintText(const TAttribute< FText > &InHintText)
Definition SEditableText.cpp:313
SLATE_API void SetTextFlowDirection(const TOptional< ETextFlowDirection > &InTextFlowDirection)
Definition SEditableText.cpp:409
virtual SLATE_API FReply OnDragOver(const FGeometry &MyGeometry, const FDragDropEvent &DragDropEvent) override
Definition SEditableText.cpp:174
virtual SLATE_API bool ShouldJumpCursorToEndWhenFocused() const override
Definition SEditableText.cpp:550
SLATE_API void BeginSearch(const FText &InSearchText, const ESearchCase::Type InSearchCase=ESearchCase::IgnoreCase, const bool InReverse=false)
Definition SEditableText.cpp:459
TAttribute< const FSlateBrush * > BackgroundImageSelected
Definition SEditableText.h:483
virtual SLATE_API TSharedPtr< SWidget > BuildContextMenuContent() const override
Definition SEditableText.cpp:653
SLATE_API void Construct(const FArguments &InArgs)
Definition SEditableText.cpp:27
virtual SLATE_API FReply OnKeyChar(const FGeometry &MyGeometry, const FCharacterEvent &InCharacterEvent) override
Definition SEditableText.cpp:219
TAttribute< bool > bEnableIntegratedKeyboard
Definition SEditableText.h:513
virtual SLATE_API FChildren * GetChildren() override
Definition SEditableText.cpp:164
SLATE_API void SetColorAndOpacity(TAttribute< FSlateColor > Color)
Definition SEditableText.cpp:344
virtual SLATE_API void OnTextChanged(const FText &InText) override
Definition SEditableText.cpp:673
SLATE_API void ScrollTo(const FTextLocation &NewLocation)
Definition SEditableText.cpp:449
virtual SLATE_API bool ShouldClearKeyboardFocusOnCommit() const override
Definition SEditableText.cpp:570
virtual SLATE_API bool ShouldClearTextSelectionOnFocusLoss() const override
Definition SEditableText.cpp:560
SLATE_API void SetIsReadOnly(TAttribute< bool > InIsReadOnly)
Definition SEditableText.cpp:333
void SetOnKeyCharHandler(FOnKeyChar InOnKeyCharHandler)
Definition SEditableText.h:334
TSharedPtr< IBreakIterator > WordBreakIterator
Definition SEditableText.h:540
SLATE_API void SetTextBlockStyle(const FTextBlockStyle *InTextStyle)
Definition SEditableText.cpp:123
TAttribute< bool > bAllowContextMenu
Definition SEditableText.h:510
virtual SLATE_API void OnArrangeChildren(const FGeometry &AllottedGeometry, FArrangedChildren &ArrangedChildren) const override
Definition SEditableText.cpp:169
virtual SLATE_API bool ComputeVolatility() const override
Definition SEditableText.cpp:300
SLATE_API void SelectAllText()
Definition SEditableText.cpp:424
virtual SLATE_API float UpdateAndClampVerticalScrollBar(const float InViewOffset, const float InViewFraction, const EVisibility InVisiblityOverride) override
Definition SEditableText.cpp:693
virtual SLATE_API bool ShouldSelectAllTextWhenFocused() const override
Definition SEditableText.cpp:555
TSharedPtr< FExtender > MenuExtender
Definition SEditableText.h:534
SLATE_API void SetRevertTextOnEscape(const TAttribute< bool > &InRevertTextOnEscape)
Definition SEditableText.cpp:364
virtual SLATE_API FReply OnMouseMove(const FGeometry &InMyGeometry, const FPointerEvent &InMouseEvent) override
Definition SEditableText.cpp:275
SLATE_API void SetMinDesiredWidth(const TAttribute< float > &InMinDesiredWidth)
Definition SEditableText.cpp:349
virtual SLATE_API bool CanTypeCharacter(const TCHAR InChar) const override
Definition SEditableText.cpp:590
SLATE_API void GoTo(const FTextLocation &NewLocation)
Definition SEditableText.cpp:439
SLATE_API void SetTextShapingMethod(const TOptional< ETextShapingMethod > &InTextShapingMethod)
Definition SEditableText.cpp:404
virtual SLATE_API bool ShouldSelectAllTextOnCommit() const override
Definition SEditableText.cpp:575
TAttribute< bool > bRevertTextOnEscape
Definition SEditableText.h:498
SLATE_API void ToggleVirtualKeyboard(bool bShow, const int32 UserIndex)
Definition SEditableText.cpp:710
virtual SLATE_API void EnsureActiveTick() override
Definition SEditableText.cpp:600
SLATE_API void SetOverflowPolicy(TOptional< ETextOverflowPolicy > InOverflowPolicy)
Definition SEditableText.cpp:414
SLATE_API void SetVirtualKeyboardDismissAction(TAttribute< EVirtualKeyboardDismissAction > InVirtualKeyboardDismissAction)
Definition SEditableText.cpp:399
virtual SLATE_API TSharedRef< SWidget > GetSlateWidget() override
Definition SEditableText.cpp:639
TAttribute< bool > bSelectWordOnMouseDoubleClick
Definition SEditableText.h:507
FOnIsTypedCharValid OnIsTypedCharValid
Definition SEditableText.h:519
FVirtualKeyboardOptions VirtualKeyboardOptions
Definition SEditableText.h:552
virtual SLATE_API bool IsIntegratedKeyboardEnabled() const override
Definition SEditableText.cpp:545
virtual SLATE_API FReply OnMouseButtonUp(const FGeometry &InMyGeometry, const FPointerEvent &InMouseEvent) override
Definition SEditableText.cpp:270
SLATE_API void SetSelectAllTextOnCommit(const TAttribute< bool > &InSelectAllTextOnCommit)
Definition SEditableText.cpp:374
SLATE_API FText GetSearchText() const
Definition SEditableText.cpp:328
FOnTextCommitted OnTextCommittedCallback
Definition SEditableText.h:528
virtual SLATE_API bool IsTextReadOnly() const override
Definition SEditableText.cpp:530
virtual SLATE_API void OnBeginTextEdit(const FText &InText) override
Definition SEditableText.cpp:668
virtual SLATE_API TSharedPtr< SWidget > GetSlateWidgetPtr() override
Definition SEditableText.cpp:644
SLATE_API void SetFont(const TAttribute< FSlateFontInfo > &InNewFont)
Definition SEditableText.cpp:102
SLATE_API FSlateFontInfo GetFont() const
Definition SEditableText.cpp:109
Definition SWidget.h:165
Definition Attribute.h:17
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition UniquePtr.h:107
Definition SharedPointer.h:1295
Type
Definition CString.h:21
@ IgnoreCase
Definition CString.h:26
Type
Definition SlateEnums.h:291
Definition TextLayout.h:26
Type
Definition TextLayout.h:28
@ false
Definition radaudio_common.h:23
Definition Visibility.h:12
Definition Events.h:606
Definition SlateTypes.h:868
Definition Events.h:51
Definition Geometry.h:40
Definition Events.h:431
Definition Events.h:695
Definition SlateBrush.h:239
Definition SlateColor.h:42
Definition SlateFontInfo.h:147
Definition SlateTypes.h:326
Definition TextLayout.h:100
Definition IVirtualKeyboardEntry.h:33
Definition Optional.h:131