Mercurial > octave-nkf
diff libinterp/corefcn/workspace-element.h @ 17824:86e8dbccf7c7
show when variables are complex in workspace view (bug #40445)
* octave-qt-link.h, octave-qt-link.cc
(octave_qt_link::do_set_workspace,
octave_qt_link::set_workspace_signal):
Pass complex info in set_workspace_signal.
* main-window.cc (main_window::construct_octave_qt_link): Update
set_workspace_signal signal to set_workspace slot connection.
* workspace-model.h, workspace-model.cc (workspace_model::data):
Display whether variables are complex in "Storage Class" column.
(workspace_model::_complex_flags): New data member.
(workspace_model::set_workspace): Store _complex_flags.
(workspace_model::clear_data): Clear _complex_flags.
* workspace-element.h (workspace_element::xcomplex_flags):
New data member.
* symtab.cc (symbol_table::do_workspace_info):
Also stash complex flag.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 01 Nov 2013 14:30:47 -0400 |
parents | 68fc671a9339 |
children | 4197fc428c7d |
line wrap: on
line diff
--- a/libinterp/corefcn/workspace-element.h Fri Nov 01 12:20:18 2013 -0400 +++ b/libinterp/corefcn/workspace-element.h Fri Nov 01 14:30:47 2013 -0400 @@ -33,16 +33,17 @@ const std::string& symbol_arg = "<name>", const std::string& class_name_arg = "<class>", const std::string& value_arg = "<value>", - const std::string& dimension_arg = "<dimension>") + const std::string& dimension_arg = "<dimension>", + bool complex_flag_arg = false) : xscope (scope_arg), xsymbol (symbol_arg), xclass_name (class_name_arg), xvalue (value_arg), - xdimension (dimension_arg) + xdimension (dimension_arg), xcomplex_flag (complex_flag_arg) { } workspace_element (const workspace_element& ws_elt) : xscope (ws_elt.xscope), xsymbol (ws_elt.xsymbol), xclass_name (ws_elt.xclass_name), xvalue (ws_elt.xvalue), - xdimension (ws_elt.xdimension) + xdimension (ws_elt.xdimension), xcomplex_flag (ws_elt.xcomplex_flag) { } workspace_element operator = (const workspace_element& ws_elt) @@ -54,6 +55,7 @@ xclass_name = ws_elt.xclass_name; xvalue = ws_elt.xvalue; xdimension = ws_elt.xdimension; + xcomplex_flag = ws_elt.xcomplex_flag; } return *this; @@ -71,6 +73,8 @@ std::string dimension (void) const { return xdimension; } + bool complex_flag (void) const { return xcomplex_flag; } + private: // [g]lobal, [p]ersistent, [l]ocal @@ -79,6 +83,7 @@ std::string xclass_name; std::string xvalue; std::string xdimension; + bool xcomplex_flag; }; #endif