Mercurial > octave-dspies
comparison libgui/src/main-window.cc @ 16468:0f143f68078d
use signal/slot for updating workspace instead of using event listener
* main-window.h, main-window.cc: Clean up list of include files.
(main_window::prepare_to_exit): Rename from prepare_to_quit. Change
all uses.
(main_window::update_workspace): Delete.
(main_window::construct): Don't connect
_octave_qt_event_listener:update_workspace_signal to
main_window::update_workspace.
(main_window::construct_octave_qt_link):
Connect _octave_qt_link::set_workspace_signal to
_workspace_model::set_workspace.
Connect _octave_qt_link::clear_workspace_signal to
_workspace_model::clear_workspace.
* symbol-information.h, symbol-information.cc: Delete
* libgui/src/module.mk (noinst_HEADERS, src_libgui_src_la_SOURCES):
Remove them from the lists.
* octave-qt-link.h, octave-qt-link.cc: Don't use symbol_information to
store workspace info.
(octave_qt_link::do_update_workspace): Delete.
(octave_qt_link::do_set_workspace,
octave_qt_link::do_clear_workspace): New functions.
(octave_qt_link::do_pre_input_event): Don't call do_update_workspace.
(octave_qt_link::set_workspace_signal,
octave_qt_link::clear_workspace_signal): New signals.
* workspace-model.h, workspace-model.cc: Don't use symbol_information
to store workspace info. Accept workspace info through a signal/slot
combination, not by asking the symbol table.
(workspace_model::request_update_workspace,
(workspace_model::update_workspace_callback): Delete.
(workspace_model::set_workspace, workspace_model::clear_workspace,
workspace_model::clear_data, workspace_model::clear_tree,
workspace_model::update_tree, workspace_model::append_tree):
New functions.
* workspace-view.h, workspace-view.cc (workspace_view::model_changed):
Don't call update_workspace_callback. The model now signals the view
when it has changed.
* input.cc (octave_base_reader::octave_gets, get_debug_input):
Call octave_link::set_workspace just prior to prompting for input.
* workspace-element.h: New file.
* libinterp/interpfcn/module.mk (INTERPFCN_INC): Include it in the list.
* octave-link.cc: Don't include symtab.h.
* octave-link.h (octave_link::update_workspace): Delete.
(octave_link::set_workspace, octave_link::do_set_workspace,
* octave_link::clear_workspace, octave_link::do_clear_workspace):
New functions.
* symtab.h, symtab.cc (symbol_table::workspace_info,
symbol_table::do_workspace_info): New functions.
* ov.h (octave_value::short_disp): New function.
* ov-base.h, ov-base.cc (octave_base_value::short_disp): New function.
* ov-base-scalar.h, ov-base-scalar.cc
(octave_base_scalar<ST>::short_disp): New function.
* ov-range.h, ov-range.cc (octave_range::short_disp): New function.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 08 Apr 2013 12:01:24 -0400 |
parents | 4d4e7c6f839d |
children | 079ec7ce60e0 |
comparison
equal
deleted
inserted
replaced
16467:cc9e2751e073 | 16468:0f143f68078d |
---|---|
43 #include "file-editor.h" | 43 #include "file-editor.h" |
44 #endif | 44 #endif |
45 #include "main-window.h" | 45 #include "main-window.h" |
46 #include "settings-dialog.h" | 46 #include "settings-dialog.h" |
47 | 47 |
48 #include "builtins.h" | 48 #include "cmd-edit.h" |
49 | |
50 #include "builtin-defun-decls.h" | |
49 #include "defaults.h" | 51 #include "defaults.h" |
50 #include "load-save.h" | |
51 #include "toplev.h" | |
52 #include "version.h" | 52 #include "version.h" |
53 | |
54 #include "cmd-edit.h" | |
55 #include "cmd-hist.h" | |
56 #include "oct-env.h" | |
57 | 53 |
58 static file_editor_interface * | 54 static file_editor_interface * |
59 create_default_editor (QWidget *p) | 55 create_default_editor (QWidget *p) |
60 { | 56 { |
61 #ifdef HAVE_QSCINTILLA | 57 #ifdef HAVE_QSCINTILLA |
262 resource_manager::update_network_settings (); | 258 resource_manager::update_network_settings (); |
263 } | 259 } |
264 | 260 |
265 | 261 |
266 void | 262 void |
267 main_window::prepare_for_quit (void) | 263 main_window::prepare_to_exit (void) |
268 { | 264 { |
269 write_settings (); | 265 write_settings (); |
270 } | 266 } |
271 | 267 |
272 void | 268 void |
273 main_window::reset_windows () | 269 main_window::reset_windows () |
274 { | 270 { |
275 // TODO: Implement. | 271 // TODO: Implement. |
276 } | |
277 | |
278 void | |
279 main_window::update_workspace (void) | |
280 { | |
281 workspace_window->model_changed (); | |
282 } | 272 } |
283 | 273 |
284 void | 274 void |
285 main_window::change_directory (const QString& dir) | 275 main_window::change_directory (const QString& dir) |
286 { | 276 { |
551 construct_menu_bar (); | 541 construct_menu_bar (); |
552 | 542 |
553 construct_tool_bar (); | 543 construct_tool_bar (); |
554 | 544 |
555 connect (qApp, SIGNAL (aboutToQuit ()), | 545 connect (qApp, SIGNAL (aboutToQuit ()), |
556 this, SLOT (prepare_for_quit ())); | 546 this, SLOT (prepare_to_exit ())); |
557 | 547 |
558 connect (this, SIGNAL (settings_changed (const QSettings *)), | 548 connect (this, SIGNAL (settings_changed (const QSettings *)), |
559 this, SLOT (notice_settings (const QSettings *))); | 549 this, SLOT (notice_settings (const QSettings *))); |
560 | 550 |
561 setWindowTitle ("Octave"); | 551 setWindowTitle ("Octave"); |
590 | 580 |
591 setStatusBar (status_bar); | 581 setStatusBar (status_bar); |
592 | 582 |
593 _octave_qt_event_listener = new octave_qt_event_listener (); | 583 _octave_qt_event_listener = new octave_qt_event_listener (); |
594 | 584 |
595 connect (_octave_qt_event_listener, SIGNAL (update_workspace_signal ()), | |
596 this, SLOT (update_workspace ())); | |
597 | |
598 // FIXME -- is it possible to eliminate the event_listenter? | 585 // FIXME -- is it possible to eliminate the event_listenter? |
599 | 586 |
600 construct_octave_qt_link (); | 587 construct_octave_qt_link (); |
601 | 588 |
602 QDir curr_dir; | 589 QDir curr_dir; |
605 | 592 |
606 void | 593 void |
607 main_window::construct_octave_qt_link (void) | 594 main_window::construct_octave_qt_link (void) |
608 { | 595 { |
609 _octave_qt_link = new octave_qt_link (); | 596 _octave_qt_link = new octave_qt_link (); |
597 | |
598 connect (_octave_qt_link, | |
599 SIGNAL (set_workspace_signal | |
600 (const QString&, const QStringList&, const QStringList&, | |
601 const QStringList&, const QStringList&)), | |
602 _workspace_model, | |
603 SLOT (set_workspace | |
604 (const QString&, const QStringList&,const QStringList&, | |
605 const QStringList&, const QStringList&))); | |
606 | |
607 connect (_octave_qt_link, SIGNAL (clear_workspace_signal ()), | |
608 _workspace_model, SLOT (clear_workspace ())); | |
610 | 609 |
611 connect (_octave_qt_link, SIGNAL (change_directory_signal (QString)), | 610 connect (_octave_qt_link, SIGNAL (change_directory_signal (QString)), |
612 this, SLOT (change_directory (QString))); | 611 this, SLOT (change_directory (QString))); |
613 | 612 |
614 connect (_octave_qt_link, | 613 connect (_octave_qt_link, |