Mercurial > hg > octave-nkf
changeset 20179:f7846f0ea6db
GUI: enable workspace update when debugging (Bug #44455)
* libgui/src/main-window.cc
(main_window::construct_octave_qt_link): add debug parameter to set_workspace
* libgui/src/octave-qt-link.cc, libgui/src/octave-qt-link.h
(octave_qt_link::do_set_workspace): add debug variable, check top_level AND debug flag for redraw
(octave_qt_link::do_set_workspace): add debug variable to emit set_work_space_signal
* libgui/src/workspace-model.cc, libgui/src/workspace-model.h
(workspace_model::set_workspace): add debug flag to function
* libinterp/corefcn/octave-link.cc, libinterp/corefcn/octave-link.h
(octave_link::set_workspace): send debug flag in do_set_workspace
(octave_link::do_set_workspace): add debug flag
author | John Donoghue |
---|---|
date | Fri, 20 Mar 2015 08:44:20 -0400 |
parents | 3f3418ccd6d4 |
children | 28a9e59d0714 |
files | libgui/src/main-window.cc libgui/src/octave-qt-link.cc libgui/src/octave-qt-link.h libgui/src/workspace-model.cc libgui/src/workspace-model.h libinterp/corefcn/octave-link.cc libinterp/corefcn/octave-link.h |
diffstat | 7 files changed, 12 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/main-window.cc +++ b/libgui/src/main-window.cc @@ -1468,12 +1468,12 @@ { connect (_octave_qt_link, SIGNAL (set_workspace_signal - (bool, const QString&, const QStringList&, + (bool, bool, const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QIntList&)), _workspace_model, SLOT (set_workspace - (bool, const QString&, const QStringList&, + (bool, bool, const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QIntList&)));
--- a/libgui/src/octave-qt-link.cc +++ b/libgui/src/octave-qt-link.cc @@ -374,10 +374,10 @@ } void -octave_qt_link::do_set_workspace (bool top_level, +octave_qt_link::do_set_workspace (bool top_level, bool debug, const std::list<workspace_element>& ws) { - if (! top_level) + if (! top_level && ! debug) return; QString scopes; @@ -398,7 +398,7 @@ complex_flags.append (it->complex_flag ()); } - emit set_workspace_signal (top_level, scopes, symbols, class_names, + emit set_workspace_signal (top_level, debug, scopes, symbols, class_names, dimensions, values, complex_flags); }
--- a/libgui/src/octave-qt-link.h +++ b/libgui/src/octave-qt-link.h @@ -106,7 +106,7 @@ void do_execute_command_in_terminal (const std::string& command); - void do_set_workspace (bool top_level, + void do_set_workspace (bool top_level, bool debug, const std::list<workspace_element>& ws); void do_clear_workspace (void); @@ -164,6 +164,7 @@ void execute_command_in_terminal_signal (const QString& command); void set_workspace_signal (bool top_level, + bool debug, const QString& scopes, const QStringList& symbols, const QStringList& class_names,
--- a/libgui/src/workspace-model.cc +++ b/libgui/src/workspace-model.cc @@ -228,6 +228,7 @@ void workspace_model::set_workspace (bool top_level, + bool debug, const QString& scopes, const QStringList& symbols, const QStringList& class_names,
--- a/libgui/src/workspace-model.h +++ b/libgui/src/workspace-model.h @@ -73,6 +73,7 @@ public slots: void set_workspace (bool top_level, + bool debug, const QString& scopes, const QStringList& symbols, const QStringList& class_names,
--- a/libinterp/corefcn/octave-link.cc +++ b/libinterp/corefcn/octave-link.cc @@ -61,6 +61,7 @@ if (enabled ()) instance->do_set_workspace ((symbol_table::current_scope () == symbol_table::top_scope ()), + instance->debugging, symbol_table::workspace_info ()); }
--- a/libinterp/corefcn/octave-link.h +++ b/libinterp/corefcn/octave-link.h @@ -231,7 +231,7 @@ const std::list<workspace_element>& ws) { if (enabled ()) - instance->do_set_workspace (top_level, ws); + instance->do_set_workspace (top_level, instance->debugging, ws); } static void clear_workspace (void) @@ -437,7 +437,7 @@ virtual void do_execute_command_in_terminal (const std::string& command) = 0; virtual void - do_set_workspace (bool top_level, + do_set_workspace (bool top_level, bool debug, const std::list<workspace_element>& ws) = 0; virtual void do_clear_workspace (void) = 0;