GPv3: Send updates after drop operation #111519
|
@ -19,6 +19,8 @@
|
||||||
|
|
||||||
#include "ED_undo.hh"
|
#include "ED_undo.hh"
|
||||||
|
|
||||||
|
#include "WM_api.hh"
|
||||||
|
|
||||||
#include <fmt/format.h>
|
#include <fmt/format.h>
|
||||||
|
|
||||||
namespace blender::ui::greasepencil {
|
namespace blender::ui::greasepencil {
|
||||||
|
@ -74,7 +76,7 @@ class LayerNodeDropTarget : public TreeViewItemDropTarget {
|
||||||
return "";
|
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 =
|
const wmDragGreasePencilLayer *drag_grease_pencil =
|
||||||
static_cast<const wmDragGreasePencilLayer *>(drag_info.drag_data.poin);
|
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();
|
LayerGroup &drop_group = drop_tree_node_.as_group();
|
||||||
drag_parent.unlink_node(&drag_layer.as_node());
|
drag_parent.unlink_node(&drag_layer.as_node());
|
||||||
drop_group.add_layer(&drag_layer);
|
drop_group.add_layer(&drag_layer);
|
||||||
return true;
|
break;
|
||||||
}
|
}
|
||||||
case DropLocation::Before:
|
case DropLocation::Before: {
|
||||||
drag_parent.unlink_node(&drag_layer.as_node());
|
drag_parent.unlink_node(&drag_layer.as_node());
|
||||||
/* Draw order is inverted, so inserting before means inserting below. */
|
/* Draw order is inverted, so inserting before means inserting below. */
|
||||||
drop_parent_group->add_layer_after(&drag_layer, &drop_tree_node_);
|
drop_parent_group->add_layer_after(&drag_layer, &drop_tree_node_);
|
||||||
return true;
|
break;
|
||||||
case DropLocation::After:
|
}
|
||||||
|
case DropLocation::After: {
|
||||||
drag_parent.unlink_node(&drag_layer.as_node());
|
drag_parent.unlink_node(&drag_layer.as_node());
|
||||||
/* Draw order is inverted, so inserting after means inserting above. */
|
/* Draw order is inverted, so inserting after means inserting above. */
|
||||||
drop_parent_group->add_layer_before(&drag_layer, &drop_tree_node_);
|
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;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue