diff libinterp/interpfcn/input.cc @ 16386:4902484f9181

callbacks to set markers in editor using command line dbstop function * debug.h, debug.cc (location_info): New function. * input.cc (get_debug_input): Use it to pass location info to hook functions. * debug.cc (bp_table::do_add_breakpoint): Likewise. (bp_table::do_remove_all_breakpoints_in_file): Likewise. (bp_table::do_remove_breakpoint): Likewise. (Fadd_dbstop_hook, Fremove_dbstop_hook, Fadd_dbclear_hook, Fremove_dbclear_hook): New functions. (dbstop_hook_functions, dbclear_hook_functions): New static variables. * file-editor-interface.h (file_editor_interface::handle_update_dbstop_marker_request): New pure virtual function. (file_editor_interface::request_open_file): New args, dbstop_marker and insert. * file-editor.h, file-editor.cc (file_editor::request_open_file): Likewise. Emit signal to set or remove dbstop marker. (file_editor::handle_update_dbstop_marker_request): New function. (file_editor::fetab_do_dbstop_marker): New signal. (file_editor::add_file_editor_tab): Connect fetab_do_dbstop_marker signal to do_dbstop_marker. * file-editor-tab.h, file-editor-tab.cc (file_editor_tab::do_dbstop_marker): New function. * file-editor-tab.cc (file_editor::goto_line): Eliminate shadowing variable declaration. * main-window.h, main-window.cc (main_window::handle_update_dbstop_marker_request): New function. (main_window::construct): Connect update_dbstop_marker_signal signal to handle_update_dbstop_marker_request. * octave-event-listener.h (event_listener::update_dbstop_marker): New pure virtual function. * octave-link.h, octave-link.cc (octave_link::update_breakpoint_hook_fcn, octave_link::do_update_breakpoint_hook_fcn): New functions. (octave_link::do_update_debug_pointer): Improve error messages. * octave-main-thread.cc (dbstop_hook_fcn, dbclear_hook_fcn): New functions. (octave_main_thread::octave_main_thread): Install hook functions for for dbstop and dbclear hooks. * octave-qt-event-listener.h, octave-qt-event-listener.cc (octave_qt_event_listener::update_dbstop_marker): New fucntion. (octave_qt_event_listener::update_dbstop_marker_signal): New signal.
author John W. Eaton <jwe@octave.org>
date Thu, 28 Mar 2013 03:20:25 -0400
parents 3cacd597464d
children fc491da603f6
line wrap: on
line diff
--- a/libinterp/interpfcn/input.cc
+++ b/libinterp/interpfcn/input.cc
@@ -501,14 +501,8 @@
 
           if (have_file)
             {
-              octave_scalar_map location_info_map;
-
-              location_info_map.setfield ("file", nm);
-              location_info_map.setfield ("line", curr_debug_line);
-
-              octave_value location_info (location_info_map);
-
-              debug_input_event_hook_functions.run (location_info);
+              debug_input_event_hook_functions.run
+                (location_info (nm, curr_debug_line));
 
               std::string line_buf
                 = get_file_line (nm, curr_debug_line);