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,