diff libinterp/interpfcn/load-path.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 2fc554ffbc28
children 7368654f302f
line wrap: on
line diff
--- a/libinterp/interpfcn/load-path.h
+++ b/libinterp/interpfcn/load-path.h
@@ -89,6 +89,11 @@
       instance->do_update ();
   }
 
+  static bool contains_canonical (const std::string& dir_name)
+  {
+    return instance_ok () ? instance->do_contains_canonical (dir_name) : false;
+  }
+
   static std::string find_method (const std::string& class_name,
                                   const std::string& meth,
                                   std::string& dir_name)
@@ -465,6 +470,8 @@
 
   bool contains (const std::string& dir) const;
 
+  bool do_contains_canonical (const std::string& dir) const;
+
   void move_fcn_map (const std::string& dir,
                      const string_vector& fcn_files, bool at_end);