Blender V4.3
blender::ui::greasepencil::LayerNodeDropTarget Class Reference

Inherits blender::ui::TreeViewItemDropTarget.

Public Member Functions

 LayerNodeDropTarget (AbstractTreeViewItem &item, TreeNode &drop_tree_node, DropBehavior behavior)
 
bool can_drop (const wmDrag &drag, const char **) const override
 
std::string drop_tooltip (const DragInfo &drag_info) const override
 
bool on_drop (bContext *C, const DragInfo &drag_info) const override
 
- Public Member Functions inherited from blender::ui::TreeViewItemDropTarget
 TreeViewItemDropTarget (AbstractTreeViewItem &view_item, DropBehavior behavior=DropBehavior::Insert)
 
std::optional< DropLocationchoose_drop_location (const ARegion &region, const wmEvent &event) const override
 
template<class ViewType >
ViewType & get_view () const
 
- Public Member Functions inherited from blender::ui::DropTargetInterface
 DropTargetInterface ()=default
 
virtual ~DropTargetInterface ()=default
 

Additional Inherited Members

- Protected Attributes inherited from blender::ui::TreeViewItemDropTarget
AbstractTreeViewItemview_item_
 
const DropBehavior behavior_
 

Detailed Description

Constructor & Destructor Documentation

◆ LayerNodeDropTarget()

blender::ui::greasepencil::LayerNodeDropTarget::LayerNodeDropTarget ( AbstractTreeViewItem & item,
TreeNode & drop_tree_node,
DropBehavior behavior )
inline

Member Function Documentation

◆ can_drop()

bool blender::ui::greasepencil::LayerNodeDropTarget::can_drop ( const wmDrag & drag,
const char ** r_disabled_hint ) const
inlineoverridevirtual

Check if the data dragged with drag can be dropped on the element this drop target is for.

Parameters
r_disabled_hintReturn a static string to display to the user, explaining why dropping isn't possible on this UI element. Shouldn't be done too aggressively, e.g. don't set this if the drag-type can't be dropped here; only if it can but there's another reason it can't be dropped. Can assume this is a non-null pointer.

Implements blender::ui::DropTargetInterface.

Definition at line 54 of file interface_template_grease_pencil_layer_tree.cc.

References ELEM, wmDragGreasePencilLayer::node, wmDrag::poin, wmDrag::type, WM_DRAG_GREASE_PENCIL_GROUP, and WM_DRAG_GREASE_PENCIL_LAYER.

◆ drop_tooltip()

std::string blender::ui::greasepencil::LayerNodeDropTarget::drop_tooltip ( const DragInfo & drag) const
inlineoverridevirtual

Custom text to display when dragging over the element using this drop target. Should explain what happens when dropping the data onto this UI element. Will only be used if DropTargetInterface::can_drop() returns true, so the implementing override doesn't have to check that again. The returned value must be a translated string.

Implements blender::ui::DropTargetInterface.

Definition at line 73 of file interface_template_grease_pencil_layer_tree.cc.

References blender::ui::After, blender::ui::Before, BLI_assert_unreachable, blender::ui::DragInfo::drag_data, blender::ui::DragInfo::drop_location, blender::ui::Into, blender::bke::greasepencil::TreeNode::is_layer(), GreasePencilLayerTreeNode::name, wmDragGreasePencilLayer::node, wmDrag::poin, and TIP_.

◆ on_drop()


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