summaryrefslogtreecommitdiffstats
path: root/editor/plugins/animation_state_machine_editor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editor/plugins/animation_state_machine_editor.cpp')
-rw-r--r--editor/plugins/animation_state_machine_editor.cpp28
1 files changed, 11 insertions, 17 deletions
diff --git a/editor/plugins/animation_state_machine_editor.cpp b/editor/plugins/animation_state_machine_editor.cpp
index 2a2f3ee635..3741e79ef0 100644
--- a/editor/plugins/animation_state_machine_editor.cpp
+++ b/editor/plugins/animation_state_machine_editor.cpp
@@ -606,7 +606,7 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
state_machine->get_node_list(&nodes);
node_rects.clear();
- Rect2 scroll_range(Point2(), state_machine_draw->get_size());
+ Rect2 scroll_range;
//snap lines
if (dragging_selected) {
@@ -823,7 +823,8 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
}
}
- scroll_range = scroll_range.grow(200 * EDSCALE);
+ scroll_range.position -= state_machine_draw->get_size();
+ scroll_range.size += state_machine_draw->get_size() * 2.0;
//adjust scrollbars
updating = true;
@@ -1307,17 +1308,13 @@ AnimationNodeStateMachineEditor::AnimationNodeStateMachineEditor() {
play_mode = memnew(OptionButton);
top_hb->add_child(play_mode);
- GridContainer *main_grid = memnew(GridContainer);
- main_grid->set_columns(2);
- add_child(main_grid);
- main_grid->set_v_size_flags(SIZE_EXPAND_FILL);
-
panel = memnew(PanelContainer);
panel->set_clip_contents(true);
- main_grid->add_child(panel);
- panel->set_h_size_flags(SIZE_EXPAND_FILL);
+ add_child(panel);
+ panel->set_v_size_flags(SIZE_EXPAND_FILL);
state_machine_draw = memnew(Control);
+ panel->add_child(state_machine_draw);
state_machine_draw->connect("gui_input", this, "_state_machine_gui_input");
state_machine_draw->connect("draw", this, "_state_machine_draw");
state_machine_draw->set_focus_mode(FOCUS_ALL);
@@ -1328,24 +1325,21 @@ AnimationNodeStateMachineEditor::AnimationNodeStateMachineEditor() {
state_machine_play_pos->set_anchors_and_margins_preset(PRESET_WIDE);
state_machine_play_pos->connect("draw", this, "_state_machine_pos_draw");
- panel->add_child(state_machine_draw);
- panel->set_v_size_flags(SIZE_EXPAND_FILL);
-
v_scroll = memnew(VScrollBar);
- main_grid->add_child(v_scroll);
+ state_machine_draw->add_child(v_scroll);
+ v_scroll->set_anchors_and_margins_preset(PRESET_RIGHT_WIDE);
v_scroll->connect("value_changed", this, "_scroll_changed");
h_scroll = memnew(HScrollBar);
- main_grid->add_child(h_scroll);
+ state_machine_draw->add_child(h_scroll);
+ h_scroll->set_anchors_and_margins_preset(PRESET_BOTTOM_WIDE);
+ h_scroll->set_margin(MARGIN_RIGHT, -v_scroll->get_size().x * EDSCALE);
h_scroll->connect("value_changed", this, "_scroll_changed");
- main_grid->add_child(memnew(Control)); //empty bottom right
-
error_panel = memnew(PanelContainer);
add_child(error_panel);
error_label = memnew(Label);
error_panel->add_child(error_label);
- error_label->set_text("eh");
undo_redo = EditorNode::get_singleton()->get_undo_redo();