comparison libgui/src/main-window.cc @ 16438:a971d8bdaadc

use signals instead of event queue for entering/leaving debug mode * file-editor-interface.h (file_editor_interface::handle_enter_debug_mode): Rename from file_editor_interface::handle_entered_debug_mode. Change all uses. (file_editor_interface::handle_exit_debug_mode): Rename from file_editor_interface::handle_quit_debug_mode. Change all uses. * file_editor.h, file_editor.cc (file_editor::handle_enter_debug_mode): Rename from file_editor::handle_entered_debug_mode. Change all uses. (file_editor::handle_exit_debug_mode): Rename from file_editor::handle_quit_debug_mode. Change all uses. * main-window.h, main-window.cc (main_window::handle_enter_debugger): Rename from main_window::handle_entered_debug_mode. Change all uses. (main_window::handle_exit_debugger): Rename from main_window::handle_quit_debug_mode. Change all uses. (main_window::construct): Delete signal connection from _octave_qt_event_listener::entered_debug_mode_signal to main_window::handle_entered_debug_mode. Delete signal connection from _octave_qt_event_listener::quit_debug_mode_signal to main_window::handle_quit_debug_mode. Connect _octave_qt_link::enter_debugger_signal signal to main_window::handle_enter_debugger. Connect _octave_qt_link::exit_debugger_signal signal to main_window::handle_exit_debugger. * octave-qt-event-listener.h, octave-qt-event-listener.cc (octave_qt_event_listener::entered_debug_mode, octave_qt_event_listener::quit_debug_mode): Delete. (octave_qt_event_listener::entered_debug_mode_signal, octave_qt_event_listener::quit_debug_mode_signal): Delete signals. * octave-qt-link.h, octave-qt-link.cc (octave_qt_link::do_enter_debugger_event): Emit enter_debugger_signal. (octave_qt_link::do_execute_in_debugger_event): New function. (octave_qt_link::do_exit_debugger_event): Emit exit_debugger_signal. (octave_qt_link::enter_debugger_signal, octave_qt_link::exit_debugger_signal): New signals. * octave-event-listener.h (octave_event_listener::entered_debug_mode, octave_event_listener::quit_debug_mode): Delete. * input.cc (octave_base_reader::octave_gets): Call octave_link::exit_debugger_event if not debugging. (execute_in_debugger_handler): Rename from exit_debugger_handler. Change all uses. Call octave_link::execute_in_debugger_event instead of octave_link::exit_debugger_event. * octave-link.h, octave-link.cc (octave_link::do_generate_events): Don't call debugging mode functions here. (octave_link::enter_debugger_event): Set instance->debugging to true. (octave_link::execute_in_debugger_event): New function. (octave_link::exit_debugger_event): Don't do anything unless instance->debugging is true. Toggle instance->debugging.
author John W. Eaton <jwe@octave.org>
date Fri, 05 Apr 2013 03:04:56 -0400
parents 919796a440c6
children 7a2ee6ea7800
comparison
equal deleted inserted replaced
16437:919796a440c6 16438:a971d8bdaadc
474 if (visible && !_documentation_dock_widget->isFloating ()) 474 if (visible && !_documentation_dock_widget->isFloating ())
475 focus_documentation (); 475 focus_documentation ();
476 } 476 }
477 477
478 void 478 void
479 main_window::handle_entered_debug_mode () 479 main_window::handle_enter_debugger (void)
480 { 480 {
481 setWindowTitle ("Octave (Debugging)"); 481 setWindowTitle ("Octave (Debugging)");
482
482 _debug_continue->setEnabled (true); 483 _debug_continue->setEnabled (true);
483 _debug_step_into->setEnabled (true); 484 _debug_step_into->setEnabled (true);
484 _debug_step_over->setEnabled (true); 485 _debug_step_over->setEnabled (true);
485 _debug_step_out->setEnabled (true); 486 _debug_step_out->setEnabled (true);
486 _debug_quit->setEnabled (true); 487 _debug_quit->setEnabled (true);
487 #ifdef HAVE_QSCINTILLA 488
488 _file_editor->handle_entered_debug_mode (); 489 #ifdef HAVE_QSCINTILLA
489 #endif 490 _file_editor->handle_enter_debug_mode ();
490 } 491 #endif
491 492 }
492 void 493
493 main_window::handle_quit_debug_mode () 494 void
495 main_window::handle_exit_debugger (void)
494 { 496 {
495 setWindowTitle ("Octave"); 497 setWindowTitle ("Octave");
498
496 _debug_continue->setEnabled (false); 499 _debug_continue->setEnabled (false);
497 _debug_step_into->setEnabled (false); 500 _debug_step_into->setEnabled (false);
498 _debug_step_over->setEnabled (false); 501 _debug_step_over->setEnabled (false);
499 _debug_step_out->setEnabled (false); 502 _debug_step_out->setEnabled (false);
500 _debug_quit->setEnabled (false); 503 _debug_quit->setEnabled (false);
501 #ifdef HAVE_QSCINTILLA 504
502 _file_editor->handle_quit_debug_mode (); 505 #ifdef HAVE_QSCINTILLA
506 _file_editor->handle_exit_debug_mode ();
503 #endif 507 #endif
504 } 508 }
505 509
506 void 510 void
507 main_window::debug_continue () 511 main_window::debug_continue ()
1146 connect (_octave_qt_event_listener, 1150 connect (_octave_qt_event_listener,
1147 SIGNAL (update_workspace_signal ()), 1151 SIGNAL (update_workspace_signal ()),
1148 this, 1152 this,
1149 SLOT (update_workspace ())); 1153 SLOT (update_workspace ()));
1150 1154
1151 connect (_octave_qt_event_listener,
1152 SIGNAL (entered_debug_mode_signal ()),
1153 this,
1154 SLOT(handle_entered_debug_mode ()));
1155
1156 connect (_octave_qt_event_listener,
1157 SIGNAL (quit_debug_mode_signal ()),
1158 this,
1159 SLOT (handle_quit_debug_mode ()));
1160
1161 // FIXME -- is it possible to eliminate the event_listenter? 1155 // FIXME -- is it possible to eliminate the event_listenter?
1162 1156
1163 _octave_qt_link = new octave_qt_link (); 1157 _octave_qt_link = new octave_qt_link ();
1164 1158
1165 connect (_octave_qt_link, SIGNAL (change_directory_signal (QString)), 1159 connect (_octave_qt_link, SIGNAL (change_directory_signal (QString)),
1174 _history_dock_widget, SLOT (append_history (const QString&))); 1168 _history_dock_widget, SLOT (append_history (const QString&)));
1175 1169
1176 connect (_octave_qt_link, 1170 connect (_octave_qt_link,
1177 SIGNAL (clear_history_signal (void)), 1171 SIGNAL (clear_history_signal (void)),
1178 _history_dock_widget, SLOT (clear_history (void))); 1172 _history_dock_widget, SLOT (clear_history (void)));
1173
1174 connect (_octave_qt_link, SIGNAL (enter_debugger_signal ()),
1175 this, SLOT (handle_enter_debugger ()));
1176
1177 connect (_octave_qt_link, SIGNAL (exit_debugger_signal ()),
1178 this, SLOT (handle_exit_debugger ()));
1179 1179
1180 connect (_octave_qt_link, 1180 connect (_octave_qt_link,
1181 SIGNAL (update_dbstop_marker_signal (bool, const QString&, int)), 1181 SIGNAL (update_dbstop_marker_signal (bool, const QString&, int)),
1182 _file_editor, 1182 _file_editor,
1183 SLOT (handle_update_dbstop_marker_request (bool, const QString&, int))); 1183 SLOT (handle_update_dbstop_marker_request (bool, const QString&, int)));