diff options
Diffstat (limited to 'editor/plugins/text_shader_editor.cpp')
-rw-r--r-- | editor/plugins/text_shader_editor.cpp | 166 |
1 files changed, 83 insertions, 83 deletions
diff --git a/editor/plugins/text_shader_editor.cpp b/editor/plugins/text_shader_editor.cpp index 17b48118ac..ad64e1d1d7 100644 --- a/editor/plugins/text_shader_editor.cpp +++ b/editor/plugins/text_shader_editor.cpp @@ -628,100 +628,100 @@ ShaderTextEditor::ShaderTextEditor() { /*** SCRIPT EDITOR ******/ void TextShaderEditor::_menu_option(int p_option) { - shader_editor->get_text_editor()->apply_ime(); + code_editor->get_text_editor()->apply_ime(); switch (p_option) { case EDIT_UNDO: { - shader_editor->get_text_editor()->undo(); + code_editor->get_text_editor()->undo(); } break; case EDIT_REDO: { - shader_editor->get_text_editor()->redo(); + code_editor->get_text_editor()->redo(); } break; case EDIT_CUT: { - shader_editor->get_text_editor()->cut(); + code_editor->get_text_editor()->cut(); } break; case EDIT_COPY: { - shader_editor->get_text_editor()->copy(); + code_editor->get_text_editor()->copy(); } break; case EDIT_PASTE: { - shader_editor->get_text_editor()->paste(); + code_editor->get_text_editor()->paste(); } break; case EDIT_SELECT_ALL: { - shader_editor->get_text_editor()->select_all(); + code_editor->get_text_editor()->select_all(); } break; case EDIT_MOVE_LINE_UP: { - shader_editor->move_lines_up(); + code_editor->move_lines_up(); } break; case EDIT_MOVE_LINE_DOWN: { - shader_editor->move_lines_down(); + code_editor->move_lines_down(); } break; case EDIT_INDENT: { if (shader.is_null() && shader_inc.is_null()) { return; } - shader_editor->get_text_editor()->indent_lines(); + code_editor->get_text_editor()->indent_lines(); } break; case EDIT_UNINDENT: { if (shader.is_null() && shader_inc.is_null()) { return; } - shader_editor->get_text_editor()->unindent_lines(); + code_editor->get_text_editor()->unindent_lines(); } break; case EDIT_DELETE_LINE: { - shader_editor->delete_lines(); + code_editor->delete_lines(); } break; case EDIT_DUPLICATE_SELECTION: { - shader_editor->duplicate_selection(); + code_editor->duplicate_selection(); } break; case EDIT_DUPLICATE_LINES: { - shader_editor->get_text_editor()->duplicate_lines(); + code_editor->get_text_editor()->duplicate_lines(); } break; case EDIT_TOGGLE_WORD_WRAP: { - TextEdit::LineWrappingMode wrap = shader_editor->get_text_editor()->get_line_wrapping_mode(); - shader_editor->get_text_editor()->set_line_wrapping_mode(wrap == TextEdit::LINE_WRAPPING_BOUNDARY ? TextEdit::LINE_WRAPPING_NONE : TextEdit::LINE_WRAPPING_BOUNDARY); + TextEdit::LineWrappingMode wrap = code_editor->get_text_editor()->get_line_wrapping_mode(); + code_editor->get_text_editor()->set_line_wrapping_mode(wrap == TextEdit::LINE_WRAPPING_BOUNDARY ? TextEdit::LINE_WRAPPING_NONE : TextEdit::LINE_WRAPPING_BOUNDARY); } break; case EDIT_TOGGLE_COMMENT: { if (shader.is_null() && shader_inc.is_null()) { return; } - shader_editor->toggle_inline_comment("//"); + code_editor->toggle_inline_comment("//"); } break; case EDIT_COMPLETE: { - shader_editor->get_text_editor()->request_code_completion(); + code_editor->get_text_editor()->request_code_completion(); } break; case SEARCH_FIND: { - shader_editor->get_find_replace_bar()->popup_search(); + code_editor->get_find_replace_bar()->popup_search(); } break; case SEARCH_FIND_NEXT: { - shader_editor->get_find_replace_bar()->search_next(); + code_editor->get_find_replace_bar()->search_next(); } break; case SEARCH_FIND_PREV: { - shader_editor->get_find_replace_bar()->search_prev(); + code_editor->get_find_replace_bar()->search_prev(); } break; case SEARCH_REPLACE: { - shader_editor->get_find_replace_bar()->popup_replace(); + code_editor->get_find_replace_bar()->popup_replace(); } break; case SEARCH_GOTO_LINE: { - goto_line_dialog->popup_find_line(shader_editor->get_text_editor()); + goto_line_dialog->popup_find_line(code_editor->get_text_editor()); } break; case BOOKMARK_TOGGLE: { - shader_editor->toggle_bookmark(); + code_editor->toggle_bookmark(); } break; case BOOKMARK_GOTO_NEXT: { - shader_editor->goto_next_bookmark(); + code_editor->goto_next_bookmark(); } break; case BOOKMARK_GOTO_PREV: { - shader_editor->goto_prev_bookmark(); + code_editor->goto_prev_bookmark(); } break; case BOOKMARK_REMOVE_ALL: { - shader_editor->remove_all_bookmarks(); + code_editor->remove_all_bookmarks(); } break; case HELP_DOCS: { OS::get_singleton()->shell_open(vformat("%s/tutorials/shaders/shader_reference/index.html", VERSION_DOCS_URL)); } break; } if (p_option != SEARCH_FIND && p_option != SEARCH_REPLACE && p_option != SEARCH_GOTO_LINE) { - callable_mp((Control *)shader_editor->get_text_editor(), &Control::grab_focus).call_deferred(); + callable_mp((Control *)code_editor->get_text_editor(), &Control::grab_focus).call_deferred(); } } @@ -740,14 +740,16 @@ void TextShaderEditor::_notification(int p_what) { } void TextShaderEditor::_editor_settings_changed() { - if (!EditorSettings::get_singleton()->check_changed_settings_in_group("text_editor")) { + if (!EditorSettings::get_singleton()->check_changed_settings_in_group("interface/editor") && + !EditorSettings::get_singleton()->check_changed_settings_in_group("text_editor")) { return; } - shader_editor->update_editor_settings(); - shader_editor->get_text_editor()->add_theme_constant_override("line_spacing", EDITOR_GET("text_editor/appearance/whitespace/line_spacing")); - shader_editor->get_text_editor()->set_draw_breakpoints_gutter(false); - shader_editor->get_text_editor()->set_draw_executing_lines_gutter(false); + _apply_editor_settings(); +} + +void TextShaderEditor::_apply_editor_settings() { + code_editor->update_editor_settings(); trim_trailing_whitespace_on_save = EDITOR_GET("text_editor/behavior/files/trim_trailing_whitespace_on_save"); } @@ -758,7 +760,7 @@ void TextShaderEditor::_show_warnings_panel(bool p_show) { void TextShaderEditor::_warning_clicked(Variant p_line) { if (p_line.get_type() == Variant::INT) { - shader_editor->get_text_editor()->set_caret_line(p_line.operator int64_t()); + code_editor->get_text_editor()->set_caret_line(p_line.operator int64_t()); } } @@ -773,7 +775,7 @@ void TextShaderEditor::ensure_select_current() { } void TextShaderEditor::goto_line_selection(int p_line, int p_begin, int p_end) { - shader_editor->goto_line_selection(p_line, p_begin, p_end); + code_editor->goto_line_selection(p_line, p_begin, p_end); } void TextShaderEditor::_project_settings_changed() { @@ -812,8 +814,8 @@ void TextShaderEditor::_update_warnings(bool p_validate) { saved_warning_flags = (uint32_t)ShaderWarning::get_flags_from_codemap(saved_warnings); } - if (p_validate && changed && shader_editor && shader_editor->get_edited_shader().is_valid()) { - shader_editor->validate_script(); + if (p_validate && changed && code_editor && code_editor->get_edited_shader().is_valid()) { + code_editor->validate_script(); } } @@ -848,22 +850,22 @@ void TextShaderEditor::_reload_shader_from_disk() { Ref<Shader> rel_shader = ResourceLoader::load(shader->get_path(), shader->get_class(), ResourceFormatLoader::CACHE_MODE_IGNORE); ERR_FAIL_COND(!rel_shader.is_valid()); - shader_editor->set_block_shader_changed(true); + code_editor->set_block_shader_changed(true); shader->set_code(rel_shader->get_code()); - shader_editor->set_block_shader_changed(false); + code_editor->set_block_shader_changed(false); shader->set_last_modified_time(rel_shader->get_last_modified_time()); - shader_editor->reload_text(); + code_editor->reload_text(); } void TextShaderEditor::_reload_shader_include_from_disk() { Ref<ShaderInclude> rel_shader_include = ResourceLoader::load(shader_inc->get_path(), shader_inc->get_class(), ResourceFormatLoader::CACHE_MODE_IGNORE); ERR_FAIL_COND(!rel_shader_include.is_valid()); - shader_editor->set_block_shader_changed(true); + code_editor->set_block_shader_changed(true); shader_inc->set_code(rel_shader_include->get_code()); - shader_editor->set_block_shader_changed(false); + code_editor->set_block_shader_changed(false); shader_inc->set_last_modified_time(rel_shader_include->get_last_modified_time()); - shader_editor->reload_text(); + code_editor->reload_text(); } void TextShaderEditor::_reload() { @@ -886,7 +888,7 @@ void TextShaderEditor::edit(const Ref<Shader> &p_shader) { shader = p_shader; shader_inc = Ref<ShaderInclude>(); - shader_editor->set_edited_shader(shader); + code_editor->set_edited_shader(shader); } void TextShaderEditor::edit(const Ref<ShaderInclude> &p_shader_inc) { @@ -901,7 +903,7 @@ void TextShaderEditor::edit(const Ref<ShaderInclude> &p_shader_inc) { shader_inc = p_shader_inc; shader = Ref<Shader>(); - shader_editor->set_edited_shader_include(p_shader_inc); + code_editor->set_edited_shader_include(p_shader_inc); } void TextShaderEditor::save_external_data(const String &p_str) { @@ -916,7 +918,7 @@ void TextShaderEditor::save_external_data(const String &p_str) { apply_shaders(); - Ref<Shader> edited_shader = shader_editor->get_edited_shader(); + Ref<Shader> edited_shader = code_editor->get_edited_shader(); if (edited_shader.is_valid()) { ResourceSaver::save(edited_shader); } @@ -924,56 +926,56 @@ void TextShaderEditor::save_external_data(const String &p_str) { ResourceSaver::save(shader); } - Ref<ShaderInclude> edited_shader_inc = shader_editor->get_edited_shader_include(); + Ref<ShaderInclude> edited_shader_inc = code_editor->get_edited_shader_include(); if (edited_shader_inc.is_valid()) { ResourceSaver::save(edited_shader_inc); } if (shader_inc.is_valid() && shader_inc != edited_shader_inc) { ResourceSaver::save(shader_inc); } - shader_editor->get_text_editor()->tag_saved_version(); + code_editor->get_text_editor()->tag_saved_version(); disk_changed->hide(); } void TextShaderEditor::trim_trailing_whitespace() { - shader_editor->trim_trailing_whitespace(); + code_editor->trim_trailing_whitespace(); } void TextShaderEditor::validate_script() { - shader_editor->_validate_script(); + code_editor->_validate_script(); } bool TextShaderEditor::is_unsaved() const { - return shader_editor->get_text_editor()->get_saved_version() != shader_editor->get_text_editor()->get_version(); + return code_editor->get_text_editor()->get_saved_version() != code_editor->get_text_editor()->get_version(); } void TextShaderEditor::tag_saved_version() { - shader_editor->get_text_editor()->tag_saved_version(); + code_editor->get_text_editor()->tag_saved_version(); } void TextShaderEditor::apply_shaders() { - String editor_code = shader_editor->get_text_editor()->get_text(); + String editor_code = code_editor->get_text_editor()->get_text(); if (shader.is_valid()) { String shader_code = shader->get_code(); - if (shader_code != editor_code || dependencies_version != shader_editor->get_dependencies_version()) { - shader_editor->set_block_shader_changed(true); + if (shader_code != editor_code || dependencies_version != code_editor->get_dependencies_version()) { + code_editor->set_block_shader_changed(true); shader->set_code(editor_code); - shader_editor->set_block_shader_changed(false); + code_editor->set_block_shader_changed(false); shader->set_edited(true); } } if (shader_inc.is_valid()) { String shader_inc_code = shader_inc->get_code(); - if (shader_inc_code != editor_code || dependencies_version != shader_editor->get_dependencies_version()) { - shader_editor->set_block_shader_changed(true); + if (shader_inc_code != editor_code || dependencies_version != code_editor->get_dependencies_version()) { + code_editor->set_block_shader_changed(true); shader_inc->set_code(editor_code); - shader_editor->set_block_shader_changed(false); + code_editor->set_block_shader_changed(false); shader_inc->set_edited(true); } } - dependencies_version = shader_editor->get_dependencies_version(); + dependencies_version = code_editor->get_dependencies_version(); } void TextShaderEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { @@ -981,7 +983,7 @@ void TextShaderEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { if (mb.is_valid()) { if (mb->get_button_index() == MouseButton::RIGHT && mb->is_pressed()) { - CodeEdit *tx = shader_editor->get_text_editor(); + CodeEdit *tx = code_editor->get_text_editor(); tx->apply_ime(); @@ -1014,7 +1016,7 @@ void TextShaderEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { Ref<InputEventKey> k = ev; if (k.is_valid() && k->is_pressed() && k->is_action("ui_menu", true)) { - CodeEdit *tx = shader_editor->get_text_editor(); + CodeEdit *tx = code_editor->get_text_editor(); tx->adjust_viewport_to_caret(); _make_context_menu(tx->has_selection(), (get_global_transform().inverse() * tx->get_global_transform()).xform(tx->get_caret_draw_pos())); context_menu->grab_focus(); @@ -1029,7 +1031,7 @@ void TextShaderEditor::_update_bookmark_list() { bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_bookmark"), BOOKMARK_GOTO_NEXT); bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_bookmark"), BOOKMARK_GOTO_PREV); - PackedInt32Array bookmark_list = shader_editor->get_text_editor()->get_bookmarked_lines(); + PackedInt32Array bookmark_list = code_editor->get_text_editor()->get_bookmarked_lines(); if (bookmark_list.size() == 0) { return; } @@ -1037,7 +1039,7 @@ void TextShaderEditor::_update_bookmark_list() { bookmarks_menu->add_separator(); for (int i = 0; i < bookmark_list.size(); i++) { - String line = shader_editor->get_text_editor()->get_line(bookmark_list[i]).strip_edges(); + String line = code_editor->get_text_editor()->get_line(bookmark_list[i]).strip_edges(); // Limit the size of the line if too big. if (line.length() > 50) { line = line.substr(0, 50); @@ -1052,7 +1054,7 @@ void TextShaderEditor::_bookmark_item_pressed(int p_idx) { if (p_idx < 4) { // Any item before the separator. _menu_option(bookmarks_menu->get_item_id(p_idx)); } else { - shader_editor->goto_line(bookmarks_menu->get_item_metadata(p_idx)); + code_editor->goto_line(bookmarks_menu->get_item_metadata(p_idx)); } } @@ -1083,26 +1085,26 @@ void TextShaderEditor::_make_context_menu(bool p_selection, Vector2 p_position) TextShaderEditor::TextShaderEditor() { _update_warnings(false); - shader_editor = memnew(ShaderTextEditor); + code_editor = memnew(ShaderTextEditor); - shader_editor->connect("script_validated", callable_mp(this, &TextShaderEditor::_script_validated)); + code_editor->connect("script_validated", callable_mp(this, &TextShaderEditor::_script_validated)); - shader_editor->set_v_size_flags(SIZE_EXPAND_FILL); - shader_editor->add_theme_constant_override("separation", 0); - shader_editor->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT); + code_editor->set_v_size_flags(SIZE_EXPAND_FILL); + code_editor->add_theme_constant_override("separation", 0); + code_editor->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT); - shader_editor->connect("show_warnings_panel", callable_mp(this, &TextShaderEditor::_show_warnings_panel)); - shader_editor->connect("script_changed", callable_mp(this, &TextShaderEditor::apply_shaders)); + code_editor->connect("show_warnings_panel", callable_mp(this, &TextShaderEditor::_show_warnings_panel)); + code_editor->connect("script_changed", callable_mp(this, &TextShaderEditor::apply_shaders)); EditorSettings::get_singleton()->connect("settings_changed", callable_mp(this, &TextShaderEditor::_editor_settings_changed)); ProjectSettings::get_singleton()->connect("settings_changed", callable_mp(this, &TextShaderEditor::_project_settings_changed)); - shader_editor->get_text_editor()->set_code_hint_draw_below(EDITOR_GET("text_editor/completion/put_callhint_tooltip_below_current_line")); - - shader_editor->get_text_editor()->set_symbol_lookup_on_click_enabled(true); - shader_editor->get_text_editor()->set_context_menu_enabled(false); - shader_editor->get_text_editor()->connect("gui_input", callable_mp(this, &TextShaderEditor::_text_edit_gui_input)); + code_editor->get_text_editor()->set_symbol_lookup_on_click_enabled(true); + code_editor->get_text_editor()->set_context_menu_enabled(false); + code_editor->get_text_editor()->set_draw_breakpoints_gutter(false); + code_editor->get_text_editor()->set_draw_executing_lines_gutter(false); + code_editor->get_text_editor()->connect("gui_input", callable_mp(this, &TextShaderEditor::_text_edit_gui_input)); - shader_editor->update_editor_settings(); + code_editor->update_editor_settings(); context_menu = memnew(PopupMenu); add_child(context_menu); @@ -1184,12 +1186,12 @@ TextShaderEditor::TextShaderEditor() { main_container->add_child(editor_box); editor_box->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT); editor_box->set_v_size_flags(SIZE_EXPAND_FILL); - editor_box->add_child(shader_editor); + editor_box->add_child(code_editor); FindReplaceBar *bar = memnew(FindReplaceBar); main_container->add_child(bar); bar->hide(); - shader_editor->set_find_replace_bar(bar); + code_editor->set_find_replace_bar(bar); warnings_panel = memnew(RichTextLabel); warnings_panel->set_custom_minimum_size(Size2(0, 100 * EDSCALE)); @@ -1201,7 +1203,7 @@ TextShaderEditor::TextShaderEditor() { warnings_panel->hide(); warnings_panel->connect("meta_clicked", callable_mp(this, &TextShaderEditor::_warning_clicked)); editor_box->add_child(warnings_panel); - shader_editor->set_warnings_panel(warnings_panel); + code_editor->set_warnings_panel(warnings_panel); goto_line_dialog = memnew(GotoLineDialog); add_child(goto_line_dialog); @@ -1221,8 +1223,6 @@ TextShaderEditor::TextShaderEditor() { disk_changed->add_button(TTR("Resave"), !DisplayServer::get_singleton()->get_swap_cancel_ok(), "resave"); disk_changed->connect("custom_action", callable_mp(this, &TextShaderEditor::save_external_data)); - trim_trailing_whitespace_on_save = EDITOR_GET("text_editor/behavior/files/trim_trailing_whitespace_on_save"); - add_child(disk_changed); _editor_settings_changed(); |