diff libinterp/corefcn/event-manager.h @ 28788:aba2c4eadb83

add functions of loaded packages to auto-completion list (bug #56207) * file-editor-tab.cc (update_lexer_settings): add boolean argument for updating apis but no other settings, clear current apis entries before adding all current functions and keywords * file-editor-tab.h: (update_lexer_settings): add boolean argument for updating apis but no other settings and define as slot * file-editor.cc (make_file_editor_tab): connect new main window signal for updating auto completion word lists with the slot in file_editor_tab * main-window.cc (construct_octave_qt_link): connect new qt-link signal for updating auto completion word lists with the related new main window signal * main-window.h: new signal for word list update * qt-interpreter-events.cc (update_gui_lexer): new method emitting signal for updateing the auto completion word list * qt-interpreter-events.h: new method update_gui_lexer and new signal update_gui_lexer_signal * event-manager.cc (__event_manager_update_gui_lexer__): new function for requesting an update of the auto completion worf lists * event-manager.h (void update_gui_lexer): new method calling the virtual methos which is re-implemented in qt event manager * load_packages_and_dependencies.m: call __event_manager_update_gui_lexer__ after laoding a package if gui is running * unload_packages.m: call __event_manager_update_gui_lexer__ after unloading a packages if gui is running
author Torsten Lilge <ttl-octave@mailbox.org>
date Thu, 24 Sep 2020 20:49:43 +0200
parents ec769a7ab9fb
children 43ad651cf5a0
line wrap: on
line diff
--- a/libinterp/corefcn/event-manager.h	Wed Sep 23 21:23:32 2020 +0200
+++ b/libinterp/corefcn/event-manager.h	Thu Sep 24 20:49:43 2020 +0200
@@ -195,6 +195,8 @@
 
     virtual void unregister_doc (const std::string& /*file*/) { }
 
+    virtual void update_gui_lexer (void) { }
+
     // Notifications of events in the interpreter that a GUI will
     // normally wish to respond to.
 
@@ -495,7 +497,17 @@
         }
       else
         return false;
+    }
 
+    bool update_gui_lexer (void)
+    {
+      if (enabled ())
+        {
+          instance->update_gui_lexer ();
+          return true;
+        }
+      else
+        return false;
     }
 
     void directory_changed (const std::string& dir)