Mercurial > hg > octave-lyh
diff libinterp/interp-core/oct-obj.h @ 15420:1249a615c91b
call built-in functions directly in GUI callbacks
* main-window.cc: Include builtins.h instead of debug.h and
variables.h.
(main_window::save_workspace_callback): Call Fsave directly.
(main_window::load_workspace_callback): Call Fload directly.
(main_window::clear_workspace_callback):Call Fclear directly.
(main_window::change_directory_callback): Call Fcd, not
octave_env::chdir.
(main_window::debug_continue_callback): Call Fdbcont directly.
(main_window::debug_step_into_callback): Call Fdbstep directly.
(main_window::debug_step_over_callback): Call Fdbstep directly.
(main_window::debug_step_out_callback): Call Fdbstep directly.
(main_window::debug_quit_callback): Call Fdbquit directly.
(main_window::exit_callback): Call Fquit directly.
* oct-obj.h (ovl): New functions.
* debug.cc, debug.h (debug_step, debug_quit, debug_continue): Delete.
* load-save.cc, load-save.h (load_workspace, save_workspace): Delete.
* variables.cc, varaibles.h (clear_current_scope): Delete.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 19 Sep 2012 14:38:47 -0400 |
parents | 2fc554ffbc28 |
children |
line wrap: on
line diff
--- a/libinterp/interp-core/oct-obj.h +++ b/libinterp/interp-core/oct-obj.h @@ -166,4 +166,152 @@ DECLARE_OCTAVE_ALLOCATOR }; +// Make it easy to build argument lists for built-in functions or for +// returning values. + +inline octave_value_list +ovl (const octave_value& a0) +{ + octave_value_list retval; + retval(0) = a0; + return retval; +} + +inline octave_value_list +ovl (const octave_value& a0, const octave_value& a1) +{ + octave_value_list retval; + retval(1) = a1; + retval(0) = a0; + return retval; +} + +inline octave_value_list +ovl (const octave_value& a0, const octave_value& a1, + const octave_value& a2) +{ + octave_value_list retval; + retval(2) = a2; + retval(1) = a1; + retval(0) = a0; + return retval; +} + +inline octave_value_list +ovl (const octave_value& a0, const octave_value& a1, + const octave_value& a2, const octave_value& a3) +{ + octave_value_list retval; + retval(3) = a3; + retval(2) = a2; + retval(1) = a1; + retval(0) = a0; + return retval; +} + +inline octave_value_list +ovl (const octave_value& a0, const octave_value& a1, + const octave_value& a2, const octave_value& a3, + const octave_value& a4) +{ + octave_value_list retval; + retval(4) = a4; + retval(3) = a3; + retval(2) = a2; + retval(1) = a1; + retval(0) = a0; + return retval; +} + +inline octave_value_list +ovl (const octave_value& a0, const octave_value& a1, + const octave_value& a2, const octave_value& a3, + const octave_value& a4, const octave_value& a5) +{ + octave_value_list retval; + retval(5) = a5; + retval(4) = a4; + retval(3) = a3; + retval(2) = a2; + retval(1) = a1; + retval(0) = a0; + return retval; +} + +inline octave_value_list +ovl (const octave_value& a0, const octave_value& a1, + const octave_value& a2, const octave_value& a3, + const octave_value& a4, const octave_value& a5, + const octave_value& a6) +{ + octave_value_list retval; + retval(6) = a6; + retval(5) = a5; + retval(4) = a4; + retval(3) = a3; + retval(2) = a2; + retval(1) = a1; + retval(0) = a0; + return retval; +} + +inline octave_value_list +ovl (const octave_value& a0, const octave_value& a1, + const octave_value& a2, const octave_value& a3, + const octave_value& a4, const octave_value& a5, + const octave_value& a6, const octave_value& a7) +{ + octave_value_list retval; + retval(7) = a7; + retval(6) = a6; + retval(5) = a5; + retval(4) = a4; + retval(3) = a3; + retval(2) = a2; + retval(1) = a1; + retval(0) = a0; + return retval; +} + +inline octave_value_list +ovl (const octave_value& a0, const octave_value& a1, + const octave_value& a2, const octave_value& a3, + const octave_value& a4, const octave_value& a5, + const octave_value& a6, const octave_value& a7, + const octave_value& a8) +{ + octave_value_list retval; + retval(8) = a8; + retval(7) = a7; + retval(6) = a6; + retval(5) = a5; + retval(4) = a4; + retval(3) = a3; + retval(2) = a2; + retval(1) = a1; + retval(0) = a0; + return retval; +} + +inline octave_value_list +ovl (const octave_value& a0, const octave_value& a1, + const octave_value& a2, const octave_value& a3, + const octave_value& a4, const octave_value& a5, + const octave_value& a6, const octave_value& a7, + const octave_value& a8, const octave_value& a9) +{ + octave_value_list retval; + retval(9) = a9; + retval(8) = a8; + retval(7) = a7; + retval(6) = a6; + retval(5) = a5; + retval(4) = a4; + retval(3) = a3; + retval(2) = a2; + retval(1) = a1; + retval(0) = a0; + return retval; +} + #endif