Mercurial > octave-nkf
diff libgui/src/m-editor/file-editor.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 | f5204f486a29 |
line wrap: on
line diff
--- a/libgui/src/m-editor/file-editor.cc Thu Mar 28 02:52:18 2013 -0400 +++ b/libgui/src/m-editor/file-editor.cc Thu Mar 28 03:20:25 2013 -0400 @@ -148,7 +148,8 @@ void file_editor::request_open_file (const QString& openFileName, int line, - bool set_marker) + bool debug_pointer, + bool dbstop_marker, bool insert) { if (openFileName.isEmpty ()) { @@ -171,8 +172,11 @@ { emit fetab_goto_line (p->second, line); - if (set_marker) + if (debug_pointer) emit fetab_set_debugger_position (p->second, line-1); + + if (dbstop_marker) + emit fetab_do_dbstop_marker (insert, p->second, line-1); } emit fetab_set_focus (p->second); @@ -196,8 +200,11 @@ { emit fetab_goto_line (fileEditorTab, line); - if (set_marker) + if (debug_pointer) emit fetab_set_debugger_position (fileEditorTab, line-1); + if (dbstop_marker) + emit fetab_do_dbstop_marker + (insert, fileEditorTab, line-1); } } else @@ -298,6 +305,13 @@ } void +file_editor::handle_update_dbstop_marker_request (bool insert, + const QString& file, int line) +{ + request_open_file (file, line, false, true, insert); +} + +void file_editor::request_undo () { emit fetab_undo (_tab_widget->currentWidget ()); @@ -870,6 +884,8 @@ f, SLOT (set_focus (const QWidget*))); connect (this, SIGNAL (fetab_set_debugger_position (const QWidget *, int)), f, SLOT (set_debugger_position (const QWidget *, int))); + connect (this, SIGNAL (fetab_do_dbstop_marker (bool, const QWidget *, int)), + f, SLOT (do_dbstop_marker (bool, const QWidget *, int))); _tab_widget->setCurrentWidget (f); }