changeset 28795:901a92f45ff0

provide access to worksapce model via base_object * main-window.cc (main_window): get m_workspace_model from octave qobject and do not create it here * octave-qobject.cc (base_qobject): create workspace model here * octave-qobject.h: include workspace-model.h; (get_workspace_model): new method just returning the workspace model; new class variable for the workspace model * workspace-model.h (get_symbol_names): new method just returning the list of current worksapce symbol names
author Torsten Lilge <ttl-octave@mailbox.org>
date Sat, 26 Sep 2020 11:50:17 +0200
parents 3bd58f479489
children ac5461b59b93
files libgui/src/main-window.cc libgui/src/octave-qobject.cc libgui/src/octave-qobject.h libgui/src/workspace-model.h
diffstat 4 files changed, 13 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/main-window.cc	Fri Sep 25 12:01:43 2020 -0400
+++ b/libgui/src/main-window.cc	Sat Sep 26 11:50:17 2020 +0200
@@ -164,9 +164,10 @@
     shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager ();
     scmgr.init_data ();
 
+    m_workspace_model = m_octave_qobj.get_workspace_model ();
+
     construct_central_widget ();
 
-    m_workspace_model = new workspace_model (m_octave_qobj);
     m_status_bar = new QStatusBar ();
     m_command_window = new terminal_dock_widget (this, m_octave_qobj);
     m_history_window = new history_dock_widget (this, m_octave_qobj);
--- a/libgui/src/octave-qobject.cc	Fri Sep 25 12:01:43 2020 -0400
+++ b/libgui/src/octave-qobject.cc	Sat Sep 26 11:50:17 2020 +0200
@@ -160,6 +160,7 @@
       m_argv (m_app_context.sys_argv ()),
       m_qapplication (new octave_qapplication (m_argc, m_argv)),
       m_resource_manager (), m_shortcut_manager (*this),
+      m_workspace_model (new workspace_model (*this)),
       m_qt_tr (new QTranslator ()), m_gui_tr (new QTranslator ()),
       m_qsci_tr (new QTranslator ()), m_translators_installed (false),
       m_qt_interpreter_events (new qt_interpreter_events (*this)),
--- a/libgui/src/octave-qobject.h	Fri Sep 25 12:01:43 2020 -0400
+++ b/libgui/src/octave-qobject.h	Sat Sep 26 11:50:17 2020 +0200
@@ -37,6 +37,7 @@
 #include "interpreter-qobject.h"
 #include "resource-manager.h"
 #include "shortcut-manager.h"
+#include "workspace-model.h"
 
 namespace octave
 {
@@ -108,6 +109,11 @@
       return m_shortcut_manager;
     }
 
+    workspace_model * get_workspace_model (void)
+    {
+      return m_workspace_model;
+    }
+
     std::shared_ptr<qt_interpreter_events> get_qt_interpreter_events (void)
     {
       return m_qt_interpreter_events;
@@ -159,6 +165,8 @@
 
     shortcut_manager m_shortcut_manager;
 
+    workspace_model *m_workspace_model;
+
     QTranslator *m_qt_tr;
     QTranslator *m_gui_tr;
     QTranslator *m_qsci_tr;
--- a/libgui/src/workspace-model.h	Fri Sep 25 12:01:43 2020 -0400
+++ b/libgui/src/workspace-model.h	Sat Sep 26 11:50:17 2020 +0200
@@ -75,6 +75,8 @@
 
     symbol_info_list get_symbol_info (void) const { return m_syminfo_list; }
 
+    QStringList get_symbol_names (void) const { return m_symbols; }
+
   signals:
 
     void model_changed (void);