Navigation
API > API/Runtime > API/Runtime/SlateCore
A Reply is something that a Slate event returns to the system to notify it about certain aspect of how an event was handled. For example, a widget may handle an OnMouseDown event by asking the system to give mouse capture to a specific Widget. To do this, return FReply::CaptureMouse( NewMouseCapture ).
| Name | FReply |
| Type | class |
| Header File | /Engine/Source/Runtime/SlateCore/Public/Input/Reply.h |
| Include Path | #include "Input/Reply.h" |
Syntax
class FReply : public TReplyBase< FReply >
Inheritance Hierarchy
- FReplyBase → TReplyBase → FReply
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FReply
(
bool bIsHandled |
Hidden default constructor. | Input/Reply.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bAllUsers | uint32 | Input/Reply.h | ||
| bEndDragDrop | uint32 | Input/Reply.h | ||
| bPreventThrottling | uint32 | Input/Reply.h | ||
| bReleaseMouseCapture | uint32 | Input/Reply.h | ||
| bReleaseUserFocus | uint32 | Input/Reply.h | ||
| bSetUserFocus | uint32 | Input/Reply.h | ||
| bShouldReleaseMouseLock | uint32 | Input/Reply.h | ||
| bUseHighPrecisionMouse | uint32 | Input/Reply.h | ||
| DetectDragForMouseButton | FKey | Input/Reply.h | ||
| DetectDragForWidget | TWeakPtr< SWidget > | Input/Reply.h | ||
| DragDropContent | TSharedPtr< FDragDropOperation > | Input/Reply.h | ||
| EventHandler | TWeakPtr< SWidget > | Input/Reply.h | ||
| FocusChangeReason | EFocusCause | Input/Reply.h | ||
| FocusRecipient | TWeakPtr< SWidget > | Input/Reply.h | ||
| MouseCaptor | TWeakPtr< SWidget > | Input/Reply.h | ||
| MouseLockWidget | TWeakPtr< SWidget > | Input/Reply.h | ||
| NavigationDestination | TWeakPtr< SWidget > | Input/Reply.h | ||
| NavigationGenesis | ENavigationGenesis | Input/Reply.h | ||
| NavigationSource | ENavigationSource | Input/Reply.h | ||
| NavigationType | EUINavigation | Input/Reply.h | ||
| RequestedMousePos | TOptional< FIntPoint > | Input/Reply.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool AffectsAllUsers() |
If the event replied with a request to change the user focus whether it should do it for all users or just the current UserIndex | Input/Reply.h | |
FReply & BeginDragDrop
(
TSharedRef< FDragDropOperation > InDragDropContent |
An event should return FReply::Handled().BeginDragDrop( Content ) to initiate a drag and drop operation. | Input/Reply.h | |
FReply & CancelFocusRequest () |
An event should rarely invoke FReply::CancelFocusRequest. | Input/Reply.h | |
FReply & CaptureMouse
(
TSharedRef< SWidget > InMouseCaptor |
An event should return a FReply::Handled().CaptureMouse( SomeWidget ) as a means of asking the system to forward all mouse events to SomeWidget | Input/Reply.h | |
FReply & ClearUserFocus
(
EFocusCause ReasonFocusIsChanging, |
An event should return a FReply::Handled().ClearUserFocus() to ask the system to clear user focus | Input/Reply.h | |
FReply & ClearUserFocus
(
bool bInAllUsers |
An event should return a FReply::Handled().ClearUserFocus() to ask the system to clear user focus | Input/Reply.h | |
FReply & DetectDrag
(
const TSharedRef< SWidget >& DetectDragInMe, |
Ask Slate to detect if a user started dragging in this widget. | Input/Reply.h | |
FReply & EndDragDrop() |
An event should return FReply::Handled().EndDragDrop() to request that the current drag/drop operation be terminated. | Input/Reply.h | |
TSharedPtr< SWidget > GetDetectDragRequest() |
Input/Reply.h | ||
FKey GetDetectDragRequestButton() |
Input/Reply.h | ||
const TSharedPtr< FDragDropOperation > & GetDragDropContent() |
Input/Reply.h | ||
EFocusCause GetFocusCause() |
Get the reason that a focus change is being requested. | Input/Reply.h | |
TSharedPtr< SWidget > GetMouseCaptor () |
If the event replied with a request to capture the mouse, this returns the desired mouse captor. | Input/Reply.h | |
TSharedPtr< SWidget > GetMouseLockWidget() |
Returns the widget that the mouse should be locked to (if any) | Input/Reply.h | |
TSharedPtr< SWidget > GetNavigationDestination() |
Get the widget that is the navigation destination. | Input/Reply.h | |
ENavigationGenesis GetNavigationGenesis() |
Get the genesis of the navigation. | Input/Reply.h | |
ENavigationSource GetNavigationSource() |
Get the source of the navigation. | Input/Reply.h | |
EUINavigation GetNavigationType() |
Get the navigation type (Invalid if no navigation is requested). | Input/Reply.h | |
const TOptional< FIntPoint > & GetRequestedMousePos() |
Input/Reply.h | ||
TSharedPtr< SWidget > GetUserFocusRecepient() |
When not nullptr, user focus has been requested to be set on the FocusRecipient. | Input/Reply.h | |
FReply & LockMouseToWidget
(
TSharedRef< SWidget > InWidget |
An event should return FReply::Handled().LockMouseToWidget( SomeWidget ) as a means of asking the system to Lock the mouse so it cannot move out of the bounds of the widget. | Input/Reply.h | |
FReply & PreventThrottling() |
Ensures throttling for Slate UI responsiveness is not done on mouse down | Input/Reply.h | |
FReply & ReleaseMouseCapture() |
An event should return a FReply::Handled().ReleaseMouse() to ask the system to release mouse capture NOTE: Deactivates high precision mouse movement if activated. | Input/Reply.h | |
FReply & ReleaseMouseLock() |
An event should return a FReply::Handled().ReleaseMouseLock() to ask the system to release mouse lock on a widget | Input/Reply.h | |
FReply & SetMousePos
(
const FIntPoint& NewMousePos |
An event should return FReply::Handled().SetMousePos to ask Slate to move the mouse cursor to a different location | Input/Reply.h | |
FReply & SetNavigation
(
EUINavigation InNavigationType, |
An event should return FReply::Handled().SetNavigation( NavigationType ) as a means of asking the system to attempt a navigation | Input/Reply.h | |
FReply & SetNavigation
(
TSharedRef< SWidget > InNavigationDestination, |
An event should return FReply::Handled().SetNavigation( NavigationDestination ) as a means of asking the system to attempt a navigation to the specified destination | Input/Reply.h | |
FReply & SetUserFocus
(
TSharedRef< SWidget > GiveMeFocus, |
An event should return FReply::Handled().SetUserFocus( SomeWidget ) as a means of asking the system to set users focus to the provided widget | Input/Reply.h | |
bool ShouldEndDragDrop() |
Input/Reply.h | ||
bool ShouldReleaseMouse() |
True if this reply indicated that we should release mouse capture as a result of the event being handled | Input/Reply.h | |
bool ShouldReleaseMouseLock() |
True if the reply indicated that we should release mouse lock | Input/Reply.h | |
bool ShouldReleaseUserFocus() |
True if this reply indicated that we should release focus as a result of the event being handled | Input/Reply.h | |
bool ShouldSetUserFocus() |
True if this reply indicated that we should set focus as a result of the event being handled | Input/Reply.h | |
bool ShouldThrottle() |
Whether or not we should throttle on mouse down | Input/Reply.h | |
bool ShouldUseHighPrecisionMouse() |
True if this reply indicated that we should use high precision mouse movement | Input/Reply.h | |
FString ToString() |
Converts the reply into an string representation. | Input/Reply.h | |
FReply & UseHighPrecisionMouseMovement
(
TSharedRef< SWidget > InMouseCaptor |
Enables the use of high precision (raw input) mouse movement, for more accurate mouse movement without mouse ballistics NOTE: This implies mouse capture and hidden mouse movement. | Input/Reply.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FReply Handled() |
An event should return a FReply::Handled() to let the system know that an event was handled. | Input/Reply.h | |
static FReply Unhandled() |
An event should return a FReply::Unhandled() to let the system know that an event was unhandled. | Input/Reply.h |