summaryrefslogtreecommitdiffstats
path: root/editor/plugins/text_shader_editor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editor/plugins/text_shader_editor.cpp')
-rw-r--r--editor/plugins/text_shader_editor.cpp166
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();