@@ -1302,11 +1302,14 @@ void CodeTextEditor::_on_settings_change() {
}
void CodeTextEditor::_text_changed_idle_timeout() {
-
_validate_script();
emit_signal("validate_script");
+void CodeTextEditor::validate_script() {
+ idle->start();
+}
+
void CodeTextEditor::_warning_label_gui_input(const Ref<InputEvent> &p_event) {
Ref<InputEventMouseButton> mb = p_event;
if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == BUTTON_LEFT) {
@@ -236,6 +236,8 @@ public:
void set_code_complete_func(CodeTextEditorCodeCompleteFunc p_code_complete_func, void *p_ud);
+ void validate_script();
CodeTextEditor();
};
@@ -429,6 +429,8 @@ void ScriptEditor::_go_to_tab(int p_idx) {
if (script != NULL) {
notify_script_changed(script);
+ Object::cast_to<ScriptEditorBase>(c)->validate();
if (Object::cast_to<EditorHelp>(c)) {
@@ -116,6 +116,8 @@ public:
virtual Control *get_edit_menu() = 0;
virtual void clear_edit_menu() = 0;
+ virtual void validate() = 0;
ScriptEditorBase() {}
@@ -1744,3 +1744,7 @@ void ScriptTextEditor::register_editor() {
ScriptEditor::register_create_script_editor_function(create_editor);
+void ScriptTextEditor::validate() {
+ this->code_editor->validate_script();
@@ -215,6 +215,8 @@ public:
virtual void clear_edit_menu();
static void register_editor();
+ virtual void validate();
ScriptTextEditor();
@@ -622,3 +622,6 @@ TextEditor::TextEditor() {
code_editor->get_text_edit()->set_drag_forwarding(this);
+void TextEditor::validate() {
@@ -140,6 +140,8 @@ public:
virtual Control *get_edit_menu();
TextEditor();
@@ -3754,4 +3754,7 @@ void _VisualScriptEditor::_bind_methods() {
ClassDB::bind_method(D_METHOD("remove_custom_node", "name", "category"), &_VisualScriptEditor::remove_custom_node);
ADD_SIGNAL(MethodInfo("custom_nodes_updated"));
+void VisualScriptEditor::validate() {
#endif
@@ -280,6 +280,7 @@ public:
virtual bool can_lose_focus_on_node_selection() { return false; }