Plasma Engine  2.0
Loading...
Searching...
No Matches
plMeshComponentDragDropHandler Class Reference
Inheritance diagram for plMeshComponentDragDropHandler:

Public Member Functions

virtual float CanHandle (const plDragDropInfo *pInfo) const override
 Used to ask a handler whether it knows how to handle a certain drag & drop situation.
 
virtual void OnDragBegin (const plDragDropInfo *pInfo) override
 Called shortly after CanHandle returned true to begin handling a drag operation.
 
- Public Member Functions inherited from plReflectedClass
virtual const plRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const plRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
PL_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Additional Inherited Members

- Static Public Member Functions inherited from plDragDropHandler
static bool IsHandlerActive ()
 Returns whether the last call to BeginDragDropOperation() was successful and a handler is now in effect.
 
static bool BeginDragDropOperation (const plDragDropInfo *pInfo, plDragDropConfig *pConfigToFillOut=nullptr)
 Call this when a drag enter event occurs. Return value indicates whether a plDragDropHandler was found to handle the operation. If not, subsequent drag & drop updates are ignored.
 
static void UpdateDragDropOperation (const plDragDropInfo *pInfo)
 Call this when a drag event occurs. Ignored if BeginDragDropOperation() was not successful.
 
static void FinishDragDrop (const plDragDropInfo *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 plDragDropInfo *pInfo)
 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().
 
static bool DropOnly (const plDragDropInfo *pInfo)
 Executes a complete drop action on a target that does not support continuous dragging. See also CanDropOnly().
 
- Static Public Member Functions inherited from plNoBase
static const plRTTIGetStaticRTTI ()
 
- Protected Member Functions inherited from plComponentDragDropHandler
void CreateDropObject (const plVec3 &vPosition, const char *szType, const char *szProperty, const plVariant &value, plUuid parent, plInt32 iInsertChildIndex)
 
void AttachComponentToObject (const char *szType, const char *szProperty, const plVariant &value, plUuid ObjectGuid)
 
void MoveObjectToPosition (const plUuid &guid, const plVec3 &vPosition, const plQuat &qRotation)
 
void MoveDraggedObjectsToPosition (plVec3 vPosition, bool bAllowSnap, const plVec3 &normal)
 
void SelectCreatedObjects ()
 
void BeginTemporaryCommands ()
 
void EndTemporaryCommands ()
 
void CancelTemporaryCommands ()
 
virtual void OnDragUpdate (const plDragDropInfo *pInfo) override
 Called to update the drag operation with the latest state.
 
virtual void OnDragCancel () override
 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.
 
virtual void OnDrop (const plDragDropInfo *pInfo) override
 Final call to finish the drag & drop operation. Handler is destroyed after this.
 
- Protected Member Functions inherited from plAssetDragDropHandler
bool IsAssetType (const plDragDropInfo *pInfo) const
 
plString GetAssetGuidString (const plDragDropInfo *pInfo) const
 
plUuid GetAssetGuid (const plDragDropInfo *pInfo) const
 
plString GetAssetsDocumentTypeName (const plUuid &assetTypeGuid) const
 
bool IsSpecificAssetType (const plDragDropInfo *pInfo, const char *szType) const
 
- Protected Member Functions inherited from plDragDropHandler
virtual void RequestConfiguration (plDragDropConfig *pConfigToFillOut)
 Potentially called by the drag drop target to request information about how to determine the plDragDropInfo data.
 
- Protected Attributes inherited from plComponentDragDropHandler
plDocumentm_pDocument
 
plHybridArray< plUuid, 16 > m_DraggedObjects
 
plVec3 m_vAlignAxisWithNormal = plVec3::MakeZero()
 
- Protected Attributes inherited from plAssetDragDropHandler
plDocumentm_pDocument
 

Member Function Documentation

◆ CanHandle()

float plMeshComponentDragDropHandler::CanHandle ( const plDragDropInfo * pInfo) const
overridevirtual

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.

Reimplemented from plComponentDragDropHandler.

◆ OnDragBegin()

void plMeshComponentDragDropHandler::OnDragBegin ( const plDragDropInfo * pInfo)
overridevirtual

Called shortly after CanHandle returned true to begin handling a drag operation.

Reimplemented from plComponentDragDropHandler.


The documentation for this class was generated from the following files: