Fixes viewport scrollbars not updating with plugins

This commit is contained in:
groud 2018-10-18 14:06:57 +02:00
parent ebdb374d80
commit ced6f43455
7 changed files with 120 additions and 123 deletions

View file

@ -129,7 +129,7 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) {
capsule->set_height(parameter * 2 - capsule->get_radius() * 2);
}
canvas_item_editor->get_viewport_control()->update();
canvas_item_editor->update_viewport();
}
} break;
@ -138,7 +138,7 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) {
Ref<CircleShape2D> circle = node->get_shape();
circle->set_radius(p_point.length());
canvas_item_editor->get_viewport_control()->update();
canvas_item_editor->update_viewport();
} break;
@ -160,7 +160,7 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) {
line->set_normal(p_point.normalized());
}
canvas_item_editor->get_viewport_control()->update();
canvas_item_editor->update_viewport();
}
} break;
@ -170,7 +170,7 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) {
ray->set_length(Math::abs(p_point.y));
canvas_item_editor->get_viewport_control()->update();
canvas_item_editor->update_viewport();
} break;
@ -183,7 +183,7 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) {
rect->set_extents(extents.abs());
canvas_item_editor->get_viewport_control()->update();
canvas_item_editor->update_viewport();
}
} break;
@ -198,7 +198,7 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) {
seg->set_b(p_point);
}
canvas_item_editor->get_viewport_control()->update();
canvas_item_editor->update_viewport();
}
} break;
@ -207,7 +207,6 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) {
void CollisionShape2DEditor::commit_handle(int idx, Variant &p_org) {
Control *c = canvas_item_editor->get_viewport_control();
undo_redo->create_action(TTR("Set Handle"));
switch (shape_type) {
@ -216,14 +215,14 @@ void CollisionShape2DEditor::commit_handle(int idx, Variant &p_org) {
if (idx == 0) {
undo_redo->add_do_method(capsule.ptr(), "set_radius", capsule->get_radius());
undo_redo->add_do_method(c, "update");
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
undo_redo->add_undo_method(capsule.ptr(), "set_radius", p_org);
undo_redo->add_do_method(c, "update");
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
} else if (idx == 1) {
undo_redo->add_do_method(capsule.ptr(), "set_height", capsule->get_height());
undo_redo->add_do_method(c, "update");
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
undo_redo->add_undo_method(capsule.ptr(), "set_height", p_org);
undo_redo->add_undo_method(c, "update");
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
}
} break;
@ -232,9 +231,9 @@ void CollisionShape2DEditor::commit_handle(int idx, Variant &p_org) {
Ref<CircleShape2D> circle = node->get_shape();
undo_redo->add_do_method(circle.ptr(), "set_radius", circle->get_radius());
undo_redo->add_do_method(c, "update");
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
undo_redo->add_undo_method(circle.ptr(), "set_radius", p_org);
undo_redo->add_undo_method(c, "update");
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
} break;
@ -251,14 +250,14 @@ void CollisionShape2DEditor::commit_handle(int idx, Variant &p_org) {
if (idx == 0) {
undo_redo->add_do_method(line.ptr(), "set_d", line->get_d());
undo_redo->add_do_method(c, "update");
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
undo_redo->add_undo_method(line.ptr(), "set_d", p_org);
undo_redo->add_undo_method(c, "update");
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
} else {
undo_redo->add_do_method(line.ptr(), "set_normal", line->get_normal());
undo_redo->add_do_method(c, "update");
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
undo_redo->add_undo_method(line.ptr(), "set_normal", p_org);
undo_redo->add_undo_method(c, "update");
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
}
} break;
@ -267,9 +266,9 @@ void CollisionShape2DEditor::commit_handle(int idx, Variant &p_org) {
Ref<RayShape2D> ray = node->get_shape();
undo_redo->add_do_method(ray.ptr(), "set_length", ray->get_length());
undo_redo->add_do_method(c, "update");
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
undo_redo->add_undo_method(ray.ptr(), "set_length", p_org);
undo_redo->add_undo_method(c, "update");
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
} break;
@ -277,9 +276,9 @@ void CollisionShape2DEditor::commit_handle(int idx, Variant &p_org) {
Ref<RectangleShape2D> rect = node->get_shape();
undo_redo->add_do_method(rect.ptr(), "set_extents", rect->get_extents());
undo_redo->add_do_method(c, "update");
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
undo_redo->add_undo_method(rect.ptr(), "set_extents", p_org);
undo_redo->add_undo_method(c, "update");
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
} break;
@ -287,14 +286,14 @@ void CollisionShape2DEditor::commit_handle(int idx, Variant &p_org) {
Ref<SegmentShape2D> seg = node->get_shape();
if (idx == 0) {
undo_redo->add_do_method(seg.ptr(), "set_a", seg->get_a());
undo_redo->add_do_method(c, "update");
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
undo_redo->add_undo_method(seg.ptr(), "set_a", p_org);
undo_redo->add_undo_method(c, "update");
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
} else if (idx == 1) {
undo_redo->add_do_method(seg.ptr(), "set_b", seg->get_b());
undo_redo->add_do_method(c, "update");
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
undo_redo->add_undo_method(seg.ptr(), "set_b", p_org);
undo_redo->add_undo_method(c, "update");
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
}
} break;
@ -411,7 +410,7 @@ void CollisionShape2DEditor::_get_current_shape_type() {
shape_type = -1;
}
canvas_item_editor->get_viewport_control()->update();
canvas_item_editor->update_viewport();
}
void CollisionShape2DEditor::forward_canvas_draw_over_viewport(Control *p_overlay) {
@ -538,7 +537,7 @@ void CollisionShape2DEditor::edit(Node *p_node) {
node = NULL;
}
canvas_item_editor->get_viewport_control()->update();
canvas_item_editor->update_viewport();
}
void CollisionShape2DEditor::_bind_methods() {