Mercurial > hg > octave-jordi
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))); |