Mercurial > hg > octave-nkf
view examples/stringdemo.cc @ 17778:b5d58667d32d
new main program wrapper to handle giving up controlling tty
* octave-gui.cc (octave_cli_thread): New class, from QtHandles.
(dissociate_terminal): Delete.
(octave_start_gui): Third arg is now START_GUI instead of FORK.
Don't call dissociate_terminal. If start_gui is false, use
octave_cli_thread to start Octave within a QApplication context.
* sighandlers.cc (gui_driver_sig_handler): Move to src/main.in.cc.
(install_gui_driver_signal_handlers): Move to src/main.in.cc and rename
to octave_set_signal_handler.
* octave.cc (no_fork_option): Delete.
(process_command_line): Don't handle NO_FORK_OPTION.
(octave_fork_gui): Move to src/main.in.cc and rename to
have_controlling_terminal.
* options-usage.h (usage_string, octave_print_verbose_usage_and_exit):
Delete --no-fork from text.
(long_opts): Delete no-fork from list.
(NO_FORK_OPTION): Delete.
* run-octave.in: Set OCTAVE_BINDIR in environment before exec-ing
Octave binary.
* src/Makefile.am: Build octave-gui, octave-cli, and octave instead of
octave-cli and octave.
* main-gui.cc: Rename from main.cc. Call octave_start_gui and pass
START_GUI as parameter.
* main.in.cc: New file.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sun, 27 Oct 2013 18:47:22 -0400 |
parents | be41c30bcb44 |
children |
line wrap: on
line source
#include <octave/oct.h> DEFUN_DLD (stringdemo, args, , "String Demo") { octave_value_list retval; int nargin = args.length (); if (nargin != 1) print_usage (); else { charMatrix ch = args(0).char_matrix_value (); if (! error_state) { retval(1) = octave_value (ch, '\''); // Single Quote String octave_idx_type nr = ch.rows (); for (octave_idx_type i = 0; i < nr / 2; i++) { std::string tmp = ch.row_as_string (i); ch.insert (ch.row_as_string (nr-i-1).c_str (), i, 0); ch.insert (tmp.c_str (), nr-i-1, 0); } retval(0) = octave_value (ch, '"'); // Double Quote String } } return retval; }