diff options
Diffstat (limited to 'editor/code_editor.cpp')
-rw-r--r-- | editor/code_editor.cpp | 47 |
1 files changed, 20 insertions, 27 deletions
diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index a7a51cb93d..4ab9a72694 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -708,8 +708,7 @@ void CodeTextEditor::_text_changed() { void CodeTextEditor::_code_complete_timer_timeout() { if (!is_visible_in_tree()) return; - if (enable_complete_timer) - text_editor->query_code_comple(); + text_editor->query_code_comple(); } void CodeTextEditor::_complete_request() { @@ -768,7 +767,6 @@ void CodeTextEditor::update_editor_settings() { text_editor->set_indent_using_spaces(EditorSettings::get_singleton()->get("text_editor/indent/type")); text_editor->set_indent_size(EditorSettings::get_singleton()->get("text_editor/indent/size")); text_editor->set_auto_indent(EditorSettings::get_singleton()->get("text_editor/indent/auto_indent")); - text_editor->set_draw_indent_guides(EditorSettings::get_singleton()->get("text_editor/indent/draw_indent_guides")); text_editor->set_draw_tabs(EditorSettings::get_singleton()->get("text_editor/indent/draw_tabs")); text_editor->set_show_line_numbers(EditorSettings::get_singleton()->get("text_editor/line_numbers/show_line_numbers")); text_editor->set_line_numbers_zero_padded(EditorSettings::get_singleton()->get("text_editor/line_numbers/line_numbers_zero_padded")); @@ -1131,8 +1129,11 @@ void CodeTextEditor::set_edit_state(const Variant &p_state) { void CodeTextEditor::set_error(const String &p_error) { error->set_text(p_error); - error->set_tooltip(p_error); - error->set_visible(p_error != ""); + if (p_error != "") { + error->set_default_cursor_shape(CURSOR_POINTING_HAND); + } else { + error->set_default_cursor_shape(CURSOR_ARROW); + } } void CodeTextEditor::set_error_pos(int p_line, int p_column) { @@ -1140,10 +1141,12 @@ void CodeTextEditor::set_error_pos(int p_line, int p_column) { error_column = p_column; } -void CodeTextEditor::_error_pressed() { - text_editor->cursor_set_line(error_line); - text_editor->cursor_set_column(error_column); - text_editor->center_viewport_to_cursor(); +void CodeTextEditor::goto_error() { + if (error->get_text() != "") { + text_editor->cursor_set_line(error_line); + text_editor->cursor_set_column(error_column); + text_editor->center_viewport_to_cursor(); + } } void CodeTextEditor::_update_font() { @@ -1173,8 +1176,6 @@ void CodeTextEditor::_on_settings_change() { code_complete_timer->set_wait_time( EDITOR_DEF("text_editor/completion/code_complete_delay", .3f)); - enable_complete_timer = EDITOR_DEF("text_editor/completion/enable_code_completion_delay", true); - // call hint settings text_editor->set_callhint_settings( EDITOR_DEF("text_editor/completion/put_callhint_tooltip_below_current_line", true), @@ -1208,7 +1209,6 @@ void CodeTextEditor::_bind_methods() { ClassDB::bind_method("_code_complete_timer_timeout", &CodeTextEditor::_code_complete_timer_timeout); ClassDB::bind_method("_complete_request", &CodeTextEditor::_complete_request); ClassDB::bind_method("_font_resize_timeout", &CodeTextEditor::_font_resize_timeout); - ClassDB::bind_method("_error_pressed", &CodeTextEditor::_error_pressed); ADD_SIGNAL(MethodInfo("validate_script")); ADD_SIGNAL(MethodInfo("load_theme_settings")); @@ -1253,26 +1253,19 @@ CodeTextEditor::CodeTextEditor() { code_complete_timer = memnew(Timer); add_child(code_complete_timer); code_complete_timer->set_one_shot(true); - enable_complete_timer = EDITOR_DEF("text_editor/completion/enable_code_completion_delay", true); - code_complete_timer->set_wait_time(EDITOR_DEF("text_editor/completion/code_complete_delay", .3f)); error_line = 0; error_column = 0; - Control *error_box = memnew(Control); - status_bar->add_child(error_box); - error_box->set_v_size_flags(SIZE_EXPAND_FILL); - error_box->set_h_size_flags(SIZE_EXPAND_FILL); - error_box->set_clip_contents(true); - - error = memnew(LinkButton); - error_box->add_child(error); - error->set_anchors_and_margins_preset(Control::PRESET_CENTER_LEFT); - error->set_underline_mode(LinkButton::UNDERLINE_MODE_ON_HOVER); + error = memnew(Label); + status_bar->add_child(error); + error->set_autowrap(true); + error->set_valign(Label::VALIGN_CENTER); + error->set_h_size_flags(SIZE_EXPAND_FILL); //required for it to display, given now it's clipping contents, do not touch error->add_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_color("error_color", "Editor")); error->add_font_override("font", EditorNode::get_singleton()->get_gui_base()->get_font("status_source", "EditorFonts")); - error->connect("pressed", this, "_error_pressed"); + error->set_mouse_filter(MOUSE_FILTER_STOP); find_replace_bar->connect("error", error, "set_text"); status_bar->add_child(memnew(Label)); //to keep the height if the other labels are not visible |