diff options
Diffstat (limited to 'tools/editor')
-rw-r--r-- | tools/editor/code_editor.cpp | 14 | ||||
-rw-r--r-- | tools/editor/code_editor.h | 2 |
2 files changed, 15 insertions, 1 deletions
diff --git a/tools/editor/code_editor.cpp b/tools/editor/code_editor.cpp index a780c0173e..994e3e1e68 100644 --- a/tools/editor/code_editor.cpp +++ b/tools/editor/code_editor.cpp @@ -479,10 +479,15 @@ void CodeTextEditor::_line_col_changed() { void CodeTextEditor::_text_changed() { - + code_complete_timer->start(); idle->start(); } +void CodeTextEditor::_code_complete_timer_timeout() { + + text_editor->query_code_comple(); +} + void CodeTextEditor::_complete_request(const String& p_request, int p_line) { List<String> entries; @@ -551,6 +556,7 @@ void CodeTextEditor::_bind_methods() { ObjectTypeDB::bind_method("_text_changed",&CodeTextEditor::_text_changed); ObjectTypeDB::bind_method("_on_settings_change",&CodeTextEditor::_on_settings_change); ObjectTypeDB::bind_method("_text_changed_idle_timeout",&CodeTextEditor::_text_changed_idle_timeout); + ObjectTypeDB::bind_method("_code_complete_timer_timeout",&CodeTextEditor::_code_complete_timer_timeout); ObjectTypeDB::bind_method("_complete_request",&CodeTextEditor::_complete_request); } @@ -575,6 +581,11 @@ CodeTextEditor::CodeTextEditor() { idle->set_one_shot(true); idle->set_wait_time(EDITOR_DEF("text_editor/idle_parse_delay",2)); + code_complete_timer = memnew(Timer); + add_child(code_complete_timer); + code_complete_timer->set_one_shot(true); + code_complete_timer->set_wait_time(EDITOR_DEF("text_editor/code_complete_delay",.3f)); + error = memnew( Label ); add_child(error); error->set_anchor_and_margin(MARGIN_LEFT,ANCHOR_BEGIN,5); @@ -593,6 +604,7 @@ CodeTextEditor::CodeTextEditor() { cs.push_back("."); text_editor->set_completion(true,cs); idle->connect("timeout", this,"_text_changed_idle_timeout"); + code_complete_timer->connect("timeout", this,"_code_complete_timer_timeout"); EditorSettings::get_singleton()->connect("settings_changed",this,"_on_settings_change"); } diff --git a/tools/editor/code_editor.h b/tools/editor/code_editor.h index 0ca0e1e234..2ca2ae9873 100644 --- a/tools/editor/code_editor.h +++ b/tools/editor/code_editor.h @@ -128,6 +128,7 @@ class CodeTextEditor : public Control { Label *line_col; Label *info; Timer *idle; + Timer *code_complete_timer; Label *error; @@ -145,6 +146,7 @@ protected: void _text_changed_idle_timeout(); + void _code_complete_timer_timeout(); void _text_changed(); void _line_col_changed(); void _notification(int); |