Mercurial > octave-nkf
diff libgui/src/octave-adapter/octave-link.cc @ 15402:7f423c6111c6
refactor GUI event handling to use new event_queue class
* octave-link.h, octave-link.cc (event_queue): Delete.
(gui_event_queue): New event_queue variable. Change all uses of
event_queue to user gui_event_queue instead.
(octave_link::handle_event): Delete.
(octave_link::post_event, octave_link::do_post_event): Provide methods
that work directly with member functions pointers and data.
* octave-event.h, octave-event.cc, octave-event-observer.h: Delete.
Delete all uses.
* libgui/src/module.mk (noinst_HEADERS): Delete octave-event.h and
octave-event-observer.h from the list.
(src_libgui_src_la_SOURCES): Delete octave-event.cc from the list.
* workspace-view.h, history-dockwidget.h, main-window.h:
Don't include octave-link.h.
* history-dockwidget.cc (history_dock_widget::handle_event): Delete.
(history_dock_widget::handle_event): New function adapted from
handle_event.
(history_dock_widget::request_history_model_update): Update for new
event callback mechanism.
* history-dockwidget.h: Update decls.
* file-editor-tab.cc (file_editor_tab::handle_event): Delete.
(file_editor_tab::run_file_callback,
file_editor_tab::add_breakpoint_callback,
file_editor_tab::remove_breakpoint_callback,
file_editor_tab::remove_all_breakpoints_callback):
New functions adapted from handle_event and corresponding octave_event
classes.
(file_editor_tab::request_add_breakpoint,
file_editor_tab::request_remove_breakpoint,
file_editor_tab::remove_all_breakpoints, file_editor_tab::run_file):
Update for new event callback mechanism.
* file-editor-tab.h: Update decls.
(file_editor_tab::bp_info): New nested struct.
* main-window.cc (main_window::handle_event): Delete.
(main_window::save_workspace_callback,
main_window::load_workspace_callback,
main_window::clear_workspace_callback,
main_window::clear_history_callback,
main_window::change_directory_callback,
main_window::debug_continue_callback,
main_window::debug_step_into_callback,
main_window::debug_step_over_callback,
main_window::debug_step_out_callback,
main_window::debug_quit_callback, main_window::exit_callback):
New functions.
(main_window::handle_save_workspace_request,
main_window::handle_load_workspace_request,
main_window::handle_clear_workspace_request,
main_window::handle_clear_history_request,
main_window::change_current_working_directory,
main_window::set_current_working_directory,
main_window::debug_continue, main_window::debug_step_into,
main_window::debug_step_over, main_window::debug_step_out,
main_window::debug_quit):
Update for new event callback mechanism.
* main-window.h: Update decls.
* workspace-model.cc (workspace_model::handle_event): Delete.
(workspace_model::update_workspace_callback): New function.
(workspace_model::request_update_workspace): Update for new event
callback mechanism.
* workspace-model.h: Update decls.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 17 Sep 2012 23:07:22 -0400 |
parents | 24b5348d38e7 |
children | d4b6ad43bc87 |
line wrap: on
line diff
--- a/libgui/src/octave-adapter/octave-link.cc Mon Sep 17 22:38:53 2012 -0400 +++ b/libgui/src/octave-adapter/octave-link.cc Mon Sep 17 23:07:22 2012 -0400 @@ -55,7 +55,7 @@ octave_link::octave_link (void) : event_listener (0), event_queue_mutex (new octave_mutex ()), - event_queue (), last_cwd (), debugging (false) + gui_event_queue (), last_cwd (), debugging (false) { } void @@ -110,40 +110,17 @@ { event_queue_mutex->lock (); - while (event_queue.size () > 0) - { - octave_event *e = event_queue.front (); - - event_queue.pop (); - - bool status = e->perform (); - - e->handle_event (status); - - delete e; - } + gui_event_queue.run (); event_queue_mutex->unlock (); } void -octave_link::do_post_event (octave_event *e) -{ - if (e) - { - event_queue_mutex->lock (); - event_queue.push (e); - event_queue_mutex->unlock (); - } -} - -void octave_link::do_about_to_exit (void) { event_queue_mutex->lock (); - while (! event_queue.empty ()) - event_queue.pop (); + gui_event_queue.discard (); event_queue_mutex->unlock (); @@ -157,11 +134,6 @@ return last_cwd; } -void -octave_link::handle_event (octave_event *, bool) -{ -} - bool octave_link::instance_ok (void) {