UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UMGDragDropOp.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/CursorReply.h"
7#include "Input/DragAndDrop.h"
8#include "UObject/GCObject.h"
9
10class SObjectWidget;
11class SWidget;
14
20{
21public:
23
24 UMG_API static TSharedRef<FUMGDragDropOp> New(UDragDropOperation* Operation, const int32 PointerIndex, const FVector2D &CursorPosition, const FVector2D &ScreenPositionOfNode, float DPIScale, TSharedPtr<SObjectWidget> SourceUserWidget);
25
27
28 // Begin FGCObject
29 virtual void AddReferencedObjects(FReferenceCollector& Collector) override;
30 virtual FString GetReferencerName() const override;
31 // End FGCObject
32
33 virtual bool AffectedByPointerEvent(const FPointerEvent& PointerEvent) override;
34 virtual void OnDrop( bool bDropWasHandled, const FPointerEvent& MouseEvent ) override;
35 virtual void OnDragged( const class FDragDropEvent& DragDropEvent ) override;
36 virtual FCursorReply OnCursorQuery() override;
37 virtual TSharedPtr<SWidget> GetDefaultDecorator() const override;
38
39 UDragDropOperation* GetOperation() const { return DragOperation; }
40
41protected:
42 virtual void Construct() override;
43
44private:
45
46 // Raw pointer to the drag operation, kept alive by AddReferencedObjects.
48
50 TWeakPtr<SObjectWidget> SourceUserWidget;
51
54
56 TSharedPtr<SWidget> DecoratorWidget;
57
59 FVector2D MouseDownOffset;
60
62 FVector2D StartingScreenPos;
63
64 int32 PointerIndex;
65
67 double StartTime;
68};
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 DRAG_DROP_OPERATOR_TYPE(TYPE, BASE)
Definition DragAndDrop.h:207
Definition CursorReply.h:16
Definition DragAndDrop.h:141
Definition GCObject.h:128
Definition DragAndDrop.h:258
Definition UObjectGlobals.h:2492
Definition UMGDragDropOp.h:20
static UMG_API TSharedRef< FUMGDragDropOp > New(UDragDropOperation *Operation, const int32 PointerIndex, const FVector2D &CursorPosition, const FVector2D &ScreenPositionOfNode, float DPIScale, TSharedPtr< SObjectWidget > SourceUserWidget)
Definition UMGDragDropOp.cpp:170
virtual void Construct() override
Definition UMGDragDropOp.cpp:35
virtual void OnDragged(const class FDragDropEvent &DragDropEvent) override
Definition UMGDragDropOp.cpp:67
virtual bool AffectedByPointerEvent(const FPointerEvent &PointerEvent) override
Definition UMGDragDropOp.cpp:40
UDragDropOperation * GetOperation() const
Definition UMGDragDropOp.h:39
virtual void OnDrop(bool bDropWasHandled, const FPointerEvent &MouseEvent) override
Definition UMGDragDropOp.cpp:45
virtual TSharedPtr< SWidget > GetDefaultDecorator() const override
Definition UMGDragDropOp.cpp:133
virtual void AddReferencedObjects(FReferenceCollector &Collector) override
Definition UMGDragDropOp.cpp:25
virtual FCursorReply OnCursorQuery() override
Definition UMGDragDropOp.cpp:138
FUMGDragDropOp()
Definition UMGDragDropOp.cpp:18
virtual FString GetReferencerName() const override
Definition UMGDragDropOp.cpp:30
Definition SObjectWidget.h:31
Definition SWidget.h:165
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SharedPointer.h:1295
Definition DragDropOperation.h:55
Definition GameViewportClient.h:71
Definition Events.h:695
Definition ObjectPtr.h:488
Definition WeakObjectPtrTemplates.h:25