Mercurial > octave-antonio
diff src/DLD-FUNCTIONS/__init_fltk__.cc @ 14021:e3bed294b117
refactor graphics_toolkit class (bug #31583)
* graphics_toolkit.m: Call loaded_graphics_toolkits to check whether
the given toolkit was correctly loaded.
* graphics.cc (gnuplot_toolkit): Move to separate file.
* __init_gnuplot__.cc: New file, split from graphics.cc.
* DLD-FUNCTIONS/module-files: Include __init_gnuplot__.cc in the list.
* graphics.h.in, graphics.cc (gtk_manager): New class, extracted from
graphics_toolkit, to manage the available and loaded
graphics_toolkits. Change all uses of moved functions.
* __init_fltk__.cc: Add PKG_ADD line to register toolkit.
(toolkit_loaded): Rename from toolkit_registered.
* graphics.cc (Fregister_graphics_toolkit, Floaded_graphics_toolkits):
New functions.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 09 Dec 2011 11:12:50 -0500 |
parents | caf69ec5b94c |
children | c5222658dc3c |
line wrap: on
line diff
--- a/src/DLD-FUNCTIONS/__init_fltk__.cc Fri Dec 09 08:53:44 2011 -0500 +++ b/src/DLD-FUNCTIONS/__init_fltk__.cc Fri Dec 09 11:12:50 2011 -0500 @@ -29,6 +29,8 @@ */ +// PKG_ADD: register_graphics_toolkit ("fltk"); + #ifdef HAVE_CONFIG_H #include <config.h> #endif @@ -1769,12 +1771,12 @@ std::string figure_manager::fltk_idx_header="fltk index="; int figure_manager::curr_index = 1; -static bool toolkit_registered = false; +static bool toolkit_loaded = false; static int __fltk_redraw__ (void) { - if (toolkit_registered) + if (toolkit_loaded) { // We scan all figures and add those which use FLTK. graphics_object obj = gh_manager::get_object (0); @@ -1941,13 +1943,13 @@ void close (void) { - if (toolkit_registered) + if (toolkit_loaded) { munlock ("__init_fltk__"); figure_manager::close_all (); - graphics_toolkit::unregister_toolkit (FLTK_GRAPHICS_TOOLKIT_NAME); - toolkit_registered = false; + gtk_manager::unload_toolkit (FLTK_GRAPHICS_TOOLKIT_NAME); + toolkit_loaded = false; octave_value_list args; args(0) = "__fltk_redraw__"; @@ -1963,12 +1965,13 @@ DEFUN_DLD (__init_fltk__, , , "") { - if (! toolkit_registered) + if (! toolkit_loaded) { mlock (); - graphics_toolkit::register_toolkit (new fltk_graphics_toolkit); - toolkit_registered = true; + graphics_toolkit tk (new fltk_graphics_toolkit ()); + gtk_manager::load_toolkit (tk); + toolkit_loaded = true; octave_value_list args; args(0) = "__fltk_redraw__";