Mercurial > octave
diff libinterp/corefcn/octave-link.h @ 24645:f61502510d08
restore ability to select variables for editing from workspace widget
* octave-qt-link.h, octave-qt-link.cc: Declare octave::symbol_scope as
a Qt metatype.
(octave_qt_link::set_workspace_signal): Pass scope instead of
individual lists of scope things. Change all uses.
(octave_qt_link::do_set_workspace): Pass scope instead of list of
workspace_element objects.
* octave-link.h, octave-link.cc (octave_link::set_workspace,
octave_link::do_set_workspace): Pass scope instead of list of
workspace_element objects. Change all uses.
* workspace-model.h, workspace-model.cc (workspace_model::m_scope):
New data member.
(workspace_model::set_workspace): Pass and store scope instead of
individual lists of scope things. Change all uses.
(workspace_model::clear_data): Also invalidate m_scope.
(workspace_model::update_table): Unpack scope info here without using
an intermediate list of workspace elements.
(workspace_model::scope): New function.
* workspace-view.h, workspace-view.cc
(workspace_view::edit_variable_signal): Also pass value object.
Change all uses.
(workspace_view::setModel): Also extract value from scope.
* workspace-element.h: Delete.
* libinterp/corefcn/module.mk: Update.
* symscope.h, symscope.cc (symbol_scope::workspace_info,
symbol_scope::symbol_scope_rep::workspace_info): Delete.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sat, 27 Jan 2018 09:06:50 -0500 |
parents | 7d177be54c37 |
children | 13c207835e79 |
line wrap: on
line diff
--- a/libinterp/corefcn/octave-link.h Fri Jan 26 19:50:04 2018 -0800 +++ b/libinterp/corefcn/octave-link.h Sat Jan 27 09:06:50 2018 -0500 @@ -36,7 +36,11 @@ class octave_value; class string_vector; -class workspace_element; + +namespace octave +{ + class symbol_scope; +} //! Provides threadsafe access to octave. //! @author Jacob Dawid @@ -261,11 +265,11 @@ static void set_workspace (void); static void set_workspace (bool top_level, - const std::list<workspace_element>& ws, + const octave::symbol_scope& scope, bool update_variable_editor = true) { if (enabled ()) - instance->do_set_workspace (top_level, instance->debugging, ws, + instance->do_set_workspace (top_level, instance->debugging, scope, update_variable_editor); } @@ -548,7 +552,7 @@ virtual void do_set_workspace (bool top_level, bool debug, - const std::list<workspace_element>& ws, + const octave::symbol_scope& scope, bool update_variable_editor) = 0; virtual void do_clear_workspace (void) = 0;