GPv3: Send updates after drop operation #111519

Merged
Falk David merged 6 commits from PratikPB2123/blender:gpv3-drop-node-update into main 2023-09-15 11:31:32 +02:00
1 changed files with 16 additions and 7 deletions

View File

@ -19,6 +19,8 @@
#include "ED_undo.hh"
#include "WM_api.hh"
#include <fmt/format.h>
namespace blender::ui::greasepencil {
@ -74,7 +76,7 @@ class LayerNodeDropTarget : public TreeViewItemDropTarget {
return "";
}
bool on_drop(bContext * /*C*/, const DragInfo &drag_info) const override
bool on_drop(bContext *C, const DragInfo &drag_info) const override
{
const wmDragGreasePencilLayer *drag_grease_pencil =
static_cast<const wmDragGreasePencilLayer *>(drag_info.drag_data.poin);
@ -102,21 +104,28 @@ class LayerNodeDropTarget : public TreeViewItemDropTarget {
LayerGroup &drop_group = drop_tree_node_.as_group();
drag_parent.unlink_node(&drag_layer.as_node());
drop_group.add_layer(&drag_layer);
return true;
break;
}
case DropLocation::Before:
case DropLocation::Before: {
drag_parent.unlink_node(&drag_layer.as_node());
/* Draw order is inverted, so inserting before means inserting below. */
drop_parent_group->add_layer_after(&drag_layer, &drop_tree_node_);
return true;
case DropLocation::After:
break;
}
case DropLocation::After: {
drag_parent.unlink_node(&drag_layer.as_node());
/* Draw order is inverted, so inserting after means inserting above. */
drop_parent_group->add_layer_before(&drag_layer, &drop_tree_node_);
return true;
break;
}
default: {
BLI_assert_unreachable();
return false;
}
}
WM_event_add_notifier(C, NC_GPENCIL | NA_EDITED, nullptr);
return false;
return true;
}
};