# HG changeset patch # User John W. Eaton # Date 1365055796 14400 # Node ID 203976ae18d1d3cc615bda5a0b405ba65fc584d0 # Parent 8ff9006cedc33ac93214244c62536f2c094638a6 use signals for octave_link::enter_debugger_event and octave_link::exit_debugger_event * main-window.h, main-window.cc (main_window::handle_insert_debugger_pointer_request, main_window::handle_delete_debugger_pointer_request): Delete. (main_window::construct): Delete signal connections from _octave_qt_event_listener::insert_debugger_pointer_signal to main_window::handle_insert_debugger_pointer_request and from _octave_qt_event_listener::delete_debugger_pointer_signal to main_window::handle_delete_debugger_pointer_request. Connect _octave_qt_link::insert_debugger_pointer_signal signal to _file_editor::handle_insert_debugger_pointer_request. Connect _octave_qt_link::delete_debugger_pointer_signal signal to _file_editor::handle_delete_debugger_pointer_request. * octave-qt-event-listener.h, octave-qt-event-listener.cc octave_qt_event_listener::insert_debugger_pointer, octave_qt_event_listener::delete_debugger_pointer): Delete. (octave_qt_event_listener::insert_debugger_pointer_signal octave_qt_event_listener::delete_debugger_pointer_signal): Delete signals. * octave-qt-link.h, octave-qt-link.cc (octave_qt_link::do_insert_debugger_pointer, octave_qt_link::do_delete_debugger_pointer): Now private. Emit signals instead of using event_listener. * octave-event-listener.h (octave_event_listener::insert_debugger_pointer, octave_event_listener::delete_debugger_pointer): Delete. * octave-link.h (octave_link::do_insert_debugger_pointer, octave_link::do_delete_debugger_pointer): Delete. diff --git a/libgui/src/main-window.cc b/libgui/src/main-window.cc --- a/libgui/src/main-window.cc +++ b/libgui/src/main-window.cc @@ -495,22 +495,6 @@ } void -main_window::handle_insert_debugger_pointer_request (const QString& file, int line) -{ -#ifdef HAVE_QSCINTILLA - _file_editor->handle_insert_debugger_pointer_request (file, line); -#endif -} - -void -main_window::handle_delete_debugger_pointer_request (const QString& file, int line) -{ -#ifdef HAVE_QSCINTILLA - _file_editor->handle_delete_debugger_pointer_request (file, line); -#endif -} - -void main_window::debug_continue () { octave_link::post_event (this, &main_window::debug_continue_callback); @@ -1175,14 +1159,6 @@ this, SLOT (handle_quit_debug_mode ())); - connect (_octave_qt_event_listener, - SIGNAL (insert_debugger_pointer_signal (const QString&, int)), this, - SLOT (handle_insert_debugger_pointer_request (const QString&, int))); - - connect (_octave_qt_event_listener, - SIGNAL (delete_debugger_pointer_signal (const QString&, int)), this, - SLOT (handle_delete_debugger_pointer_request (const QString&, int))); - // FIXME -- is it possible to eliminate the event_listenter? _octave_qt_link = new octave_qt_link (); @@ -1197,6 +1173,16 @@ _file_editor, SLOT (handle_edit_file_request (const QString&))); + connect (_octave_qt_link, + SIGNAL (insert_debugger_pointer_signal (const QString&, int)), + _file_editor, + SLOT (handle_insert_debugger_pointer_request (const QString&, int))); + + connect (_octave_qt_link, + SIGNAL (delete_debugger_pointer_signal (const QString&, int)), + _file_editor, + SLOT (handle_delete_debugger_pointer_request (const QString&, int))); + octave_link::connect_link (_octave_qt_link); octave_link::register_event_listener (_octave_qt_event_listener); diff --git a/libgui/src/main-window.h b/libgui/src/main-window.h --- a/libgui/src/main-window.h +++ b/libgui/src/main-window.h @@ -108,8 +108,6 @@ void handle_entered_debug_mode (); void handle_quit_debug_mode (); - void handle_insert_debugger_pointer_request (const QString& file, int line); - void handle_delete_debugger_pointer_request (const QString& file, int line); void debug_continue (); void debug_step_into (); void debug_step_over (); diff --git a/libgui/src/octave-qt-event-listener.cc b/libgui/src/octave-qt-event-listener.cc --- a/libgui/src/octave-qt-event-listener.cc +++ b/libgui/src/octave-qt-event-listener.cc @@ -54,20 +54,6 @@ } void -octave_qt_event_listener::insert_debugger_pointer (const std::string& file, - int line) -{ - emit insert_debugger_pointer_signal (QString::fromStdString (file), line); -} - -void -octave_qt_event_listener::delete_debugger_pointer (const std::string& file, - int line) -{ - emit delete_debugger_pointer_signal (QString::fromStdString (file), line); -} - -void octave_qt_event_listener::about_to_exit () { qApp->quit (); diff --git a/libgui/src/octave-qt-event-listener.h b/libgui/src/octave-qt-event-listener.h --- a/libgui/src/octave-qt-event-listener.h +++ b/libgui/src/octave-qt-event-listener.h @@ -37,8 +37,6 @@ void current_directory_has_changed (const std::string& directory); void update_workspace (void); void update_history (void); - void insert_debugger_pointer (const std::string& file, int line); - void delete_debugger_pointer (const std::string& file, int line); void about_to_exit (); void entered_debug_mode (); @@ -48,8 +46,6 @@ void current_directory_has_changed_signal (const QString& directory); void update_workspace_signal (void); void update_history_signal (void); - void insert_debugger_pointer_signal (const QString& file, int line); - void delete_debugger_pointer_signal (const QString& file, int line); void entered_debug_mode_signal (); void quit_debug_mode_signal (); }; diff --git a/libgui/src/octave-qt-link.cc b/libgui/src/octave-qt-link.cc --- a/libgui/src/octave-qt-link.cc +++ b/libgui/src/octave-qt-link.cc @@ -58,28 +58,6 @@ } void -octave_qt_link::do_insert_debugger_pointer (const std::string& file, int line) -{ - if (event_listener) - { - event_listener->insert_debugger_pointer (file, line); - - do_process_events (); - } -} - -void -octave_qt_link::do_delete_debugger_pointer (const std::string& file, int line) -{ - if (event_listener) - { - event_listener->delete_debugger_pointer (file, line); - - do_process_events (); - } -} - -void octave_qt_link::do_pre_input_event (void) { do_update_workspace (); @@ -117,3 +95,15 @@ return true; } + +void +octave_qt_link::do_insert_debugger_pointer (const std::string& file, int line) +{ + emit insert_debugger_pointer_signal (QString::fromStdString (file), line); +} + +void +octave_qt_link::do_delete_debugger_pointer (const std::string& file, int line) +{ + emit delete_debugger_pointer_signal (QString::fromStdString (file), line); +} diff --git a/libgui/src/octave-qt-link.h b/libgui/src/octave-qt-link.h --- a/libgui/src/octave-qt-link.h +++ b/libgui/src/octave-qt-link.h @@ -55,9 +55,6 @@ void do_update_history (void); - void do_insert_debugger_pointer (const std::string& file, int line); - void do_delete_debugger_pointer (const std::string& file, int line); - void do_pre_input_event (void); void do_post_input_event (void); @@ -76,6 +73,10 @@ octave_qt_link& operator = (const octave_qt_link&); + void do_insert_debugger_pointer (const std::string& file, int line); + + void do_delete_debugger_pointer (const std::string& file, int line); + // Thread running octave_main. octave_main_thread *main_thread; @@ -84,6 +85,10 @@ void update_dbstop_marker_signal (bool insert, const QString& file, int line); void edit_file_signal (const QString& file); + + void insert_debugger_pointer_signal (const QString&, int); + + void delete_debugger_pointer_signal (const QString&, int); }; #endif diff --git a/libinterp/interp-core/octave-event-listener.h b/libinterp/interp-core/octave-event-listener.h --- a/libinterp/interp-core/octave-event-listener.h +++ b/libinterp/interp-core/octave-event-listener.h @@ -40,12 +40,6 @@ virtual void update_history (void) = 0; - virtual void - insert_debugger_pointer (const std::string& file, int line) = 0; - - virtual void - delete_debugger_pointer (const std::string& file, int line) = 0; - virtual void about_to_exit () = 0; virtual void entered_debug_mode () = 0; diff --git a/libinterp/interpfcn/octave-link.h b/libinterp/interpfcn/octave-link.h --- a/libinterp/interpfcn/octave-link.h +++ b/libinterp/interpfcn/octave-link.h @@ -227,12 +227,6 @@ virtual void do_update_history (void) = 0; - virtual void - do_insert_debugger_pointer (const std::string& file, int line) = 0; - - virtual void - do_delete_debugger_pointer (const std::string& file, int line) = 0; - virtual void do_pre_input_event (void) = 0; virtual void do_post_input_event (void) = 0;