Mercurial > hg > octave-lyh
diff libinterp/interpfcn/octave-link.h @ 16547:3cd80afc3509
improve debugging with the GUI
* dialog.h, dialog.cc (cd_or_addpath_dialog): New class.
(QUIWidgetCreator::signal_debug_cd_or_addpath): New function.
(QUIWidgetCreator::create_debug_cd_or_addpath_dialog): New signal.
* file-editor-tab.h, file-editor-tab.cc
(file_editor_tab::file_in_path): New function.
(file_editor_tab::add_breakpoint_callback,
file_editor_tab::remove_breakpoint_callback,
file_editor_tab::remove_all_breakpoints_callback): Use file_in_path.
Don't cd to the directory containing the file. Don't add 1 to the
line number.
(file_editor_tab::request_add_breakpoint,
file_editor_tab::request_remove_breakpoint):
Add 1 to the line number.
(file_editor_tab::insert_debugger_pointer,
file_editor_tab::delete_debugger_pointer,
file_editor_tab::do_breakpoint_marker): Subtract 1 from line.
(file_editor_tab::bp_info): Also cache full file name. Change all uses.
* file-editor.h, file-editor.cc (file_editor::request_open_file,
file_editor::handle_delete_debugger_pointer_request):
Don't subtract 1 from line numbers.
* main-window.h, main-window.cc (main_window::connect_uiwidget_links):
Connect uiwidget_creator::create_debug_cd_or_addpath_dialog to
main_window::handle_create_debug_cd_or_addpath_dialog.
(main_window::handle_create_debug_cd_or_addpath_dialog):
New function.
* octave-qt-link.h, octave-qt-link.cc
(octave_qt_link::do_debug_cd_or_addpath_error): New function.
* load-path.h, load-path.cc (load_path::contains_canonical,
load_path::do_contains_canonical): New functions.
* octave-link.h (octave_link::debug_cd_or_addpath_error,
octave_link::do_debug_cd_or_addpath_error): New functions.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 19 Apr 2013 17:36:40 -0400 |
parents | 9bc1f8278966 |
children | 6ae555fc8c43 |
line wrap: on
line diff
--- a/libinterp/interpfcn/octave-link.h +++ b/libinterp/interpfcn/octave-link.h @@ -170,6 +170,14 @@ : std::list<std::string> (); } + static int debug_cd_or_addpath_error (const std::string& file, + const std::string& dir, + bool addpath_option) + { + return enabled () + ? instance->do_debug_cd_or_addpath_error (file, dir, addpath_option) : 0; + } + static void change_directory (const std::string& dir) { if (enabled ()) @@ -341,6 +349,11 @@ const std::list<int>& nc, const std::list<std::string>& defaults) = 0; + virtual int + do_debug_cd_or_addpath_error (const std::string& file, + const std::string& dir, + bool addpath_option) = 0; + virtual void do_change_directory (const std::string& dir) = 0; virtual void