summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Roubinsky <chaosus89@gmail.com>2019-12-18 22:32:25 +0300
committerYuri Roubinsky <chaosus89@gmail.com>2019-12-19 09:30:40 +0300
commitc89df816c1f1e2c1c43776be60e5cf78ad452c36 (patch)
tree6f4ed06331bc8599fab7468f78af24e3262c7cda
parent9cda7f73339f8899fa0a8d0a7ca9e9a002a202ce (diff)
Fix ScriptTextEditor encapsulation
-rw-r--r--editor/code_editor.cpp2
-rw-r--r--editor/plugins/script_editor_plugin.cpp14
-rw-r--r--editor/plugins/script_editor_plugin.h2
-rw-r--r--editor/plugins/script_text_editor.cpp6
-rw-r--r--editor/plugins/script_text_editor.h4
5 files changed, 15 insertions, 13 deletions
diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp
index 44cd15ab90..9a4513d18a 100644
--- a/editor/code_editor.cpp
+++ b/editor/code_editor.cpp
@@ -1509,7 +1509,7 @@ void CodeTextEditor::_set_show_warnings_panel(bool p_show) {
}
void CodeTextEditor::_toggle_scripts_pressed() {
- toggle_scripts_button->set_icon(ScriptEditor::get_singleton()->toggle_scripts_panel(this) ? get_icon("Back", "EditorIcons") : get_icon("Forward", "EditorIcons"));
+ toggle_scripts_button->set_icon(ScriptEditor::get_singleton()->toggle_scripts_panel() ? get_icon("Back", "EditorIcons") : get_icon("Forward", "EditorIcons"));
}
void CodeTextEditor::_error_pressed(const Ref<InputEvent> &p_event) {
diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp
index 54b9cf0630..3d814878a3 100644
--- a/editor/plugins/script_editor_plugin.cpp
+++ b/editor/plugins/script_editor_plugin.cpp
@@ -987,11 +987,8 @@ Array ScriptEditor::_get_open_scripts() const {
return ret;
}
-bool ScriptEditor::toggle_scripts_panel(CodeTextEditor *p_editor) {
+bool ScriptEditor::toggle_scripts_panel() {
list_split->set_visible(!list_split->is_visible());
- if (p_editor) {
- p_editor->update_toggle_scripts_button();
- }
return list_split->is_visible();
}
@@ -1141,14 +1138,13 @@ void ScriptEditor::_menu_option(int p_option) {
} break;
case TOGGLE_SCRIPTS_PANEL: {
if (current) {
- CodeTextEditor *code_editor = NULL;
- ScriptTextEditor *editor = dynamic_cast<ScriptTextEditor *>(current);
+ ScriptTextEditor *editor = Object::cast_to<ScriptTextEditor>(current);
+ toggle_scripts_panel();
if (editor) {
- code_editor = editor->code_editor;
+ editor->update_toggle_scripts_button();
}
- toggle_scripts_panel(code_editor);
} else {
- toggle_scripts_panel(NULL);
+ toggle_scripts_panel();
}
}
}
diff --git a/editor/plugins/script_editor_plugin.h b/editor/plugins/script_editor_plugin.h
index e40d596be7..e2fd67676b 100644
--- a/editor/plugins/script_editor_plugin.h
+++ b/editor/plugins/script_editor_plugin.h
@@ -419,7 +419,7 @@ protected:
public:
static ScriptEditor *get_singleton() { return script_editor; }
- bool toggle_scripts_panel(CodeTextEditor *p_editor);
+ bool toggle_scripts_panel();
bool is_scripts_panel_toggled();
void ensure_focus_current();
void apply_scripts() const;
diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp
index 9bda0f50e4..ec1cda5287 100644
--- a/editor/plugins/script_text_editor.cpp
+++ b/editor/plugins/script_text_editor.cpp
@@ -966,6 +966,12 @@ void ScriptTextEditor::_lookup_symbol(const String &p_symbol, int p_row, int p_c
}
}
+void ScriptTextEditor::update_toggle_scripts_button() {
+ if (code_editor != NULL) {
+ code_editor->update_toggle_scripts_button();
+ }
+}
+
void ScriptTextEditor::_update_connected_methods() {
TextEdit *text_edit = code_editor->get_text_edit();
text_edit->clear_info_icons();
diff --git a/editor/plugins/script_text_editor.h b/editor/plugins/script_text_editor.h
index 82d365fcaa..ac29e90c02 100644
--- a/editor/plugins/script_text_editor.h
+++ b/editor/plugins/script_text_editor.h
@@ -55,6 +55,7 @@ class ScriptTextEditor : public ScriptEditorBase {
GDCLASS(ScriptTextEditor, ScriptEditorBase);
+ CodeTextEditor *code_editor;
RichTextLabel *warnings_panel;
Ref<Script> script;
@@ -186,12 +187,11 @@ protected:
void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
public:
- CodeTextEditor *code_editor;
-
void _update_connected_methods();
virtual void add_syntax_highlighter(SyntaxHighlighter *p_highlighter);
virtual void set_syntax_highlighter(SyntaxHighlighter *p_highlighter);
+ void update_toggle_scripts_button();
virtual void apply_code();
virtual RES get_edited_resource() const;