Mercurial > hg > octave-lyh
comparison libgui/src/octave-adapter/octave-link.cc @ 16395:fc491da603f6
also provide a hook for exiting debugger
* file-editor-interface.h
(file_editor_interface::insert_debugger_pointer_request): Rename from
file_editor_interface::handle_update_debug_pointer_request
(file_editor_interface::delete_debugger_pointer_request): New function.
* file-editor-tab.h, file-editor-tab.cc
(file_editor_tab::insert_debugger_pointer): Rename from
file_editor_tab::set_debugger_position. Change all uses.
(file_editor_tab::delete_debugger_pointer): New function.
* file-editor.h, file-editor.cc
(file_editor::handle_insert_debugger_pointer_request): Renamem from
file_editor::handle_update_debug_pointer_request. Change all uses.
(file_editor::handle_delete_debugger_pointer_request): New function.
(file_editor::add_file_editor_tab): Connect
fetab_delete_debugger_pointer signal to delete_debugger_pointer.
(file_editor::fetab_insert_debugger_pointer): Rename from
file_editor::fetab_set_debugger_position. Change all uses.
(file_editor::fetab_delete_debugger_pointer): New signal.
* main-window.h, main-window.cc
(main_window::handle_insert_debugger_pointer_request): Rename from
main_window::handle_update_debug_pointer_request.
(main_window::handle_delete_debugger_pointer_request): New function.
(main_window::construct): Connect delete_debugger_pointer_signal to
handle_delete_debugger_pointer_request.
* octave-event-listener.h (event_listener::insert_debugger_pointer):
Rename from event_listener::update_debug_pointer):
(event_listener::delete_debugger_pointer): New function
* octave-link.h, octave-link.cc
(octave_link::do_insert_debugger_pointer): Rename from
octave_link::do_update_debug_pointer. Change all uses.
(octave_link::do_delete_debugger_pointer): New function.
(octave_link::do_enter_debugger_event_hook_fcn): Rename from
octave_link::do_debug_input_event_hook_fcn.
(octave_link::do_exit_debugger_event_hook_fcn): New function.
(enter_debugger_event_hook_fcn): Rename form
debug_input_event_hook_fcn. Change all uses.
(octave_link::exit_debugger_event_hook_fcn): New function.
* octave-main-thread.h, octave-main-thread.cc
(enter_debugger_event_hook_fcn): Rename from
debug_input_event_hook_fcn.
(exit_debugger_event_hook_fcn): New function.
(octave_main_thread::run): Install exit_debugger_event_hook_fcn hook
function.
* octave-qt-event-listener.h, octave-qt-event-listener.cc
(octave_qt_event_listener::insert_debugger_pointer): Rename from
octave_qt_event_listener::update_debug_pointer. Change all uses.
(octave_qt_event_listener::delete_debugger_pointer): New function.
* octave-qt-event-listener.h
(octave_qt_event_listener::update_debug_pointer_signal): Rename from
octave_qt_event_listener::insert_debugger_pointer_signal. Change all
uses.
(octave_qt_event_listner::delete_debugger_pointer_signal): New signal.
* input.cc (enter_debugger_event_hook_functions): Rename from
debug_input_event_hook_functions. Change all uses.
(exit_debugger_event_hook_functions): New static variable.
(exit_debugger_cleanup): new function.
(get_debug_input): Use unwind-protect to run
exit_debugger_event_hook_functions on return.
(Fadd_enter_debugger_event_hook): Rename from
Fadd_debug_input_event_hook. Change all uses.
(Fremove_enter_debugger_event_hook): Rename from
Fremove_debug_input_event_hook. Change all uses.
(Fadd_exit_debugger_event_hook, Fremove_exit_debugger_event_hook):
New functions.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 29 Mar 2013 22:37:01 -0400 |
parents | 4902484f9181 |
children | f9a737fd8829 |
comparison
equal
deleted
inserted
replaced
16394:a53f56e16627 | 16395:fc491da603f6 |
---|---|
155 do_process_events (); | 155 do_process_events (); |
156 } | 156 } |
157 } | 157 } |
158 | 158 |
159 void | 159 void |
160 octave_link::do_update_debug_pointer (const octave_value_list& args) | 160 octave_link::do_insert_debugger_pointer (const octave_value_list& args) |
161 { | 161 { |
162 if (event_listener) | 162 if (event_listener) |
163 { | 163 { |
164 if (args.length () == 1) | 164 if (args.length () == 1) |
165 { | 165 { |
173 std::string file = ov_file.string_value (); | 173 std::string file = ov_file.string_value (); |
174 int line = ov_line.int_value (); | 174 int line = ov_line.int_value (); |
175 | 175 |
176 if (! error_state) | 176 if (! error_state) |
177 { | 177 { |
178 event_listener->update_debug_pointer (file, line); | 178 event_listener->insert_debugger_pointer (file, line); |
179 | 179 |
180 do_process_events (); | 180 do_process_events (); |
181 } | 181 } |
182 else | 182 else |
183 ::error ("invalid struct in debug pointer callback"); | 183 ::error ("invalid struct in debug pointer callback"); |
189 ::error ("invalid call to debug pointer callback"); | 189 ::error ("invalid call to debug pointer callback"); |
190 } | 190 } |
191 } | 191 } |
192 | 192 |
193 void | 193 void |
194 octave_link::do_delete_debugger_pointer (const octave_value_list& args) | |
195 { | |
196 if (event_listener) | |
197 { | |
198 if (args.length () == 1) | |
199 { | |
200 octave_scalar_map m = args(0).scalar_map_value (); | |
201 | |
202 if (! error_state) | |
203 { | |
204 octave_value ov_file = m.getfield ("file"); | |
205 octave_value ov_line = m.getfield ("line"); | |
206 | |
207 std::string file = ov_file.string_value (); | |
208 int line = ov_line.int_value (); | |
209 | |
210 if (! error_state) | |
211 { | |
212 event_listener->delete_debugger_pointer (file, line); | |
213 | |
214 do_process_events (); | |
215 } | |
216 else | |
217 ::error ("invalid struct in debug pointer callback"); | |
218 } | |
219 else | |
220 ::error ("expecting struct in debug pointer callback"); | |
221 } | |
222 else | |
223 ::error ("invalid call to debug pointer callback"); | |
224 } | |
225 } | |
226 | |
227 void | |
194 octave_link::do_pre_input_event_hook_fcn (void) | 228 octave_link::do_pre_input_event_hook_fcn (void) |
195 { | 229 { |
196 do_update_workspace (); | 230 do_update_workspace (); |
197 } | 231 } |
198 | 232 |
201 { | 235 { |
202 do_update_history (); | 236 do_update_history (); |
203 } | 237 } |
204 | 238 |
205 void | 239 void |
206 octave_link::do_debug_input_event_hook_fcn (const octave_value_list& args) | 240 octave_link::do_enter_debugger_event_hook_fcn (const octave_value_list& args) |
207 { | 241 { |
208 do_update_debug_pointer (args); | 242 do_insert_debugger_pointer (args); |
243 } | |
244 | |
245 void | |
246 octave_link::do_exit_debugger_event_hook_fcn (const octave_value_list& args) | |
247 { | |
248 do_delete_debugger_pointer (args); | |
209 } | 249 } |
210 | 250 |
211 void | 251 void |
212 octave_link::do_update_breakpoint_hook_fcn | 252 octave_link::do_update_breakpoint_hook_fcn |
213 (bool insert, const octave_value_list& args) | 253 (bool insert, const octave_value_list& args) |