XII Release 0.1.0
Loading...
Searching...
No Matches
xiiDragDropHandler Class Referenceabstract
Inheritance diagram for xiiDragDropHandler:
[legend]

Static Public Member Functions

static bool IsHandlerActive ()
 Returns whether the last call to BeginDragDropOperation() was successful and a handler is now in effect.
static bool BeginDragDropOperation (const xiiDragDropInfo *pInfo, xiiDragDropConfig *pConfigToFillOut=nullptr)
static void UpdateDragDropOperation (const xiiDragDropInfo *pInfo)
 Call this when a drag event occurs. Ignored if BeginDragDropOperation() was not successful.
static void FinishDragDrop (const xiiDragDropInfo *pInfo)
 Call this when a drop event occurs. Ignored if BeginDragDropOperation() was not successful.
static void CancelDragDrop ()
 Call this when a drag leave event occurs. Ignored if BeginDragDropOperation() was not successful.
static bool CanDropOnly (const xiiDragDropInfo *pInfo)
static bool DropOnly (const xiiDragDropInfo *pInfo)
 Executes a complete drop action on a target that does not support continuous dragging. See also CanDropOnly().
Static Public Member Functions inherited from xiiNoBase
static const xiiRTTI * GetStaticRTTI ()

Protected Member Functions

virtual float CanHandle (const xiiDragDropInfo *pInfo) const =0
virtual void RequestConfiguration (xiiDragDropConfig *pConfigToFillOut)
 Potentially called by the drag drop target to request information about how to determine the xiiDragDropInfo data.
virtual void OnDragBegin (const xiiDragDropInfo *pInfo)=0
 Called shortly after CanHandle returned true to begin handling a drag operation.
virtual void OnDragUpdate (const xiiDragDropInfo *pInfo)=0
 Called to update the drag operation with the latest state.
virtual void OnDragCancel ()=0
virtual void OnDrop (const xiiDragDropInfo *pInfo)=0
 Final call to finish the drag & drop operation. Handler is destroyed after this.

Additional Inherited Members

Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTI * GetDynamicRTTI () const
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.

Member Function Documentation

◆ BeginDragDropOperation()

bool xiiDragDropHandler::BeginDragDropOperation ( const xiiDragDropInfo * pInfo,
xiiDragDropConfig * pConfigToFillOut = nullptr )
static

Call this when a drag enter event occurs. Return value indicates whether a xiiDragDropHandler was found to handle the operation. If not, subsequent drag & drop updates are ignored.

◆ CanDropOnly()

bool xiiDragDropHandler::CanDropOnly ( const xiiDragDropInfo * pInfo)
static

For targets that do not support full dragging, but only dropping on a single target, this allows to query whether there is a handler for the given target. See also DropOnly().

◆ CanHandle()

virtual float xiiDragDropHandler::CanHandle ( const xiiDragDropInfo * pInfo) const
protectedpure virtual

Used to ask a handler whether it knows how to handle a certain drag & drop situation.

The return value is a priority. By default CanHandle should return 0 or 1. To override an existing handler, values larger than 1 may be returned to take precedence.

Implemented in xiiAnimatedMeshComponentDragDropHandler, xiiComponentDragDropHandler, xiiDecalComponentDragDropHandler, xiiGameObjectOnLayerDragDropHandler, xiiLayerOnLayerDragDropHandler, xiiMaterialDragDropHandler, xiiMeshComponentDragDropHandler, xiiPrefabComponentDragDropHandler, xiiSkeletonComponentDragDropHandler, and xiiVisualScriptComponentDragDropHandler.

◆ OnDragBegin()

virtual void xiiDragDropHandler::OnDragBegin ( const xiiDragDropInfo * pInfo)
protectedpure virtual

◆ OnDragCancel()

virtual void xiiDragDropHandler::OnDragCancel ( )
protectedpure virtual

Called when the drag operation leaves the designated area. The handler will be destroyed after this. It should clean up all temporary objects that it created before.

Implemented in xiiComponentDragDropHandler, xiiLayerDragDropHandler, and xiiMaterialDragDropHandler.

◆ OnDragUpdate()

virtual void xiiDragDropHandler::OnDragUpdate ( const xiiDragDropInfo * pInfo)
protectedpure virtual

Called to update the drag operation with the latest state.

Implemented in xiiComponentDragDropHandler, xiiLayerDragDropHandler, xiiMaterialDragDropHandler, and xiiPrefabComponentDragDropHandler.

◆ OnDrop()

virtual void xiiDragDropHandler::OnDrop ( const xiiDragDropInfo * pInfo)
protectedpure virtual

Final call to finish the drag & drop operation. Handler is destroyed after this.

Implemented in xiiComponentDragDropHandler, xiiGameObjectOnLayerDragDropHandler, xiiLayerOnLayerDragDropHandler, and xiiMaterialDragDropHandler.

◆ RequestConfiguration()

virtual void xiiDragDropHandler::RequestConfiguration ( xiiDragDropConfig * pConfigToFillOut)
inlineprotectedvirtual

Potentially called by the drag drop target to request information about how to determine the xiiDragDropInfo data.

Reimplemented in xiiMaterialDragDropHandler.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/DragDrop/DragDropHandler.h
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/DragDrop/Implementation/DragDropHandler.cpp