You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-12-04 17:04:49 +00:00
Expose the TextEdit control of the script editor
Refactor ScriptEditor and ScriptTextEditor with added method to retrieve the script editor's TextEdit control. Update doc/classes/ScriptEditor.xml script_editor_plugin.cpp script_editor_plugin.h script_text_editor.cpp script_text_editor.h
This commit is contained in:
@@ -25,6 +25,12 @@
|
|||||||
<description>
|
<description>
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="get_base_editor" qualifiers="const">
|
||||||
|
<return type="Control" />
|
||||||
|
<description>
|
||||||
|
Returns the underlying [Control] used for editing scripts. For text scripts, this is a [TextEdit].
|
||||||
|
</description>
|
||||||
|
</method>
|
||||||
<method name="get_current_script">
|
<method name="get_current_script">
|
||||||
<return type="Script" />
|
<return type="Script" />
|
||||||
<description>
|
<description>
|
||||||
|
|||||||
@@ -343,6 +343,10 @@ ScriptEditorBase *ScriptEditor::_get_current_editor() const {
|
|||||||
return Object::cast_to<ScriptEditorBase>(tab_container->get_child(selected));
|
return Object::cast_to<ScriptEditorBase>(tab_container->get_child(selected));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Control *ScriptEditor::_get_base_editor() const {
|
||||||
|
return Object::cast_to<ScriptTextEditor>(_get_current_editor())->get_code_editor_text_edit();
|
||||||
|
}
|
||||||
|
|
||||||
void ScriptEditor::_update_history_arrows() {
|
void ScriptEditor::_update_history_arrows() {
|
||||||
script_back->set_disabled(history_pos <= 0);
|
script_back->set_disabled(history_pos <= 0);
|
||||||
script_forward->set_disabled(history_pos >= history.size() - 1);
|
script_forward->set_disabled(history_pos >= history.size() - 1);
|
||||||
@@ -3235,6 +3239,7 @@ void ScriptEditor::_bind_methods() {
|
|||||||
ClassDB::bind_method(D_METHOD("get_open_scripts"), &ScriptEditor::_get_open_scripts);
|
ClassDB::bind_method(D_METHOD("get_open_scripts"), &ScriptEditor::_get_open_scripts);
|
||||||
ClassDB::bind_method(D_METHOD("open_script_create_dialog", "base_name", "base_path"), &ScriptEditor::open_script_create_dialog);
|
ClassDB::bind_method(D_METHOD("open_script_create_dialog", "base_name", "base_path"), &ScriptEditor::open_script_create_dialog);
|
||||||
ClassDB::bind_method(D_METHOD("reload_scripts"), &ScriptEditor::reload_scripts);
|
ClassDB::bind_method(D_METHOD("reload_scripts"), &ScriptEditor::reload_scripts);
|
||||||
|
ClassDB::bind_method(D_METHOD("get_base_editor"), &ScriptEditor::_get_base_editor);
|
||||||
|
|
||||||
ADD_SIGNAL(MethodInfo("editor_script_changed", PropertyInfo(Variant::OBJECT, "script", PROPERTY_HINT_RESOURCE_TYPE, "Script")));
|
ADD_SIGNAL(MethodInfo("editor_script_changed", PropertyInfo(Variant::OBJECT, "script", PROPERTY_HINT_RESOURCE_TYPE, "Script")));
|
||||||
ADD_SIGNAL(MethodInfo("script_close", PropertyInfo(Variant::OBJECT, "script", PROPERTY_HINT_RESOURCE_TYPE, "Script")));
|
ADD_SIGNAL(MethodInfo("script_close", PropertyInfo(Variant::OBJECT, "script", PROPERTY_HINT_RESOURCE_TYPE, "Script")));
|
||||||
|
|||||||
@@ -338,6 +338,7 @@ class ScriptEditor : public PanelContainer {
|
|||||||
void _script_created(Ref<Script> p_script);
|
void _script_created(Ref<Script> p_script);
|
||||||
|
|
||||||
ScriptEditorBase *_get_current_editor() const;
|
ScriptEditorBase *_get_current_editor() const;
|
||||||
|
Control *_get_base_editor() const;
|
||||||
|
|
||||||
void _save_layout();
|
void _save_layout();
|
||||||
void _editor_settings_changed();
|
void _editor_settings_changed();
|
||||||
|
|||||||
@@ -1432,6 +1432,10 @@ Control *ScriptTextEditor::get_edit_menu() {
|
|||||||
return edit_hb;
|
return edit_hb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Control *ScriptTextEditor::get_code_editor_text_edit() {
|
||||||
|
return code_editor->get_text_edit();
|
||||||
|
}
|
||||||
|
|
||||||
void ScriptTextEditor::clear_edit_menu() {
|
void ScriptTextEditor::clear_edit_menu() {
|
||||||
memdelete(edit_hb);
|
memdelete(edit_hb);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -236,6 +236,7 @@ public:
|
|||||||
virtual void set_debugger_active(bool p_active);
|
virtual void set_debugger_active(bool p_active);
|
||||||
|
|
||||||
Control *get_edit_menu();
|
Control *get_edit_menu();
|
||||||
|
Control *get_code_editor_text_edit();
|
||||||
virtual void clear_edit_menu();
|
virtual void clear_edit_menu();
|
||||||
static void register_editor();
|
static void register_editor();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user