Mercurial > octave
changeset 29775:a64352cadda8
use interpreter events to set initial data for workspace and history widgets
* octave-qobject.cc (base_qojbect::history_widget):
Use interpreter_event to set initial history values.
(base_qojbect::workspace_widget):
Use interpreter_event to set initial workspace values.
* event-manager.h, event-manager.cc (event_manager::set_history):
New function.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 17 Jun 2021 16:24:37 -0400 |
parents | aa46787ed8b7 |
children | 0916ffc997e6 |
files | libgui/src/octave-qobject.cc libinterp/corefcn/event-manager.cc libinterp/corefcn/event-manager.h |
diffstat | 3 files changed, 25 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/octave-qobject.cc Thu Jun 17 15:43:08 2021 -0400 +++ b/libgui/src/octave-qobject.cc Thu Jun 17 16:24:37 2021 -0400 @@ -478,7 +478,14 @@ connect (qt_link (), &qt_interpreter_events::clear_history_signal, m_history_widget, &history_dock_widget::clear_history); - qt_link()->set_history (octave::command_history::list ()); + emit interpreter_event + ([=] (interpreter& interp) { + // INTERPRETER THREAD + + event_manager& xevmgr = interp.get_event_manager (); + + xevmgr.set_history (); + }); } return m_history_widget; @@ -571,6 +578,15 @@ xevmgr.edit_variable (name, val); }); }); + + emit interpreter_event + ([=] (interpreter& interp) { + // INTERPRETER THREAD + + event_manager& xevmgr = interp.get_event_manager (); + + xevmgr.set_workspace (); + }); } return m_workspace_widget;
--- a/libinterp/corefcn/event-manager.cc Thu Jun 17 15:43:08 2021 -0400 +++ b/libinterp/corefcn/event-manager.cc Thu Jun 17 16:24:37 2021 -0400 @@ -182,6 +182,12 @@ tw.get_symbol_info (), true); } } + + void event_manager::set_history (void) + { + if (enabled ()) + instance->set_history (octave::command_history::list ()); + } } // FIXME: Should the following function be __event_manager_desktop__
--- a/libinterp/corefcn/event-manager.h Thu Jun 17 15:43:08 2021 -0400 +++ b/libinterp/corefcn/event-manager.h Thu Jun 17 16:24:37 2021 -0400 @@ -653,6 +653,8 @@ instance->update_prompt (prompt); } + OCTINTERP_API void set_history (void); + void set_history (const string_vector& hist) { if (enabled ())