Merge pull request #42891 from gvaneyck/graph-begin-node-move-timing
Fix emit_signal timing for GraphEdit's begin/end node move
This commit is contained in:
commit
970d0d433b
@ -775,6 +775,11 @@ void GraphEdit::_gui_input(const Ref<InputEvent> &p_ev) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (mm.is_valid() && dragging) {
|
if (mm.is_valid() && dragging) {
|
||||||
|
if (!moving_selection) {
|
||||||
|
emit_signal("_begin_node_move");
|
||||||
|
moving_selection = true;
|
||||||
|
}
|
||||||
|
|
||||||
just_selected = true;
|
just_selected = true;
|
||||||
drag_accum += mm->get_relative();
|
drag_accum += mm->get_relative();
|
||||||
for (int i = get_child_count() - 1; i >= 0; i--) {
|
for (int i = get_child_count() - 1; i >= 0; i--) {
|
||||||
@ -881,16 +886,17 @@ void GraphEdit::_gui_input(const Ref<InputEvent> &p_ev) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (drag_accum != Vector2()) {
|
if (drag_accum != Vector2()) {
|
||||||
emit_signal("_begin_node_move");
|
|
||||||
|
|
||||||
for (int i = get_child_count() - 1; i >= 0; i--) {
|
for (int i = get_child_count() - 1; i >= 0; i--) {
|
||||||
GraphNode *gn = Object::cast_to<GraphNode>(get_child(i));
|
GraphNode *gn = Object::cast_to<GraphNode>(get_child(i));
|
||||||
if (gn && gn->is_selected()) {
|
if (gn && gn->is_selected()) {
|
||||||
gn->set_drag(false);
|
gn->set_drag(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (moving_selection) {
|
||||||
emit_signal("_end_node_move");
|
emit_signal("_end_node_move");
|
||||||
|
moving_selection = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
dragging = false;
|
dragging = false;
|
||||||
|
@ -98,6 +98,7 @@ private:
|
|||||||
|
|
||||||
bool dragging;
|
bool dragging;
|
||||||
bool just_selected;
|
bool just_selected;
|
||||||
|
bool moving_selection;
|
||||||
Vector2 drag_accum;
|
Vector2 drag_accum;
|
||||||
|
|
||||||
float zoom;
|
float zoom;
|
||||||
|
Loading…
Reference in New Issue
Block a user