annotate libgui/src/octave-cmd.cc @ 20815:a260a6acb70f

fix test failures introduced by a22d8a2eb0e5 * scripts/ode/private/integrate_adaptive.m: fix stepping backwards, fix invocation of OutputFcn, fix text of some error messages * scripts/ode/private/integrate_const.m: remove use of option OutputSave * scripts/ode/private/integrate_n_steps.m: remove use of option OutputSave
author Carlo de Falco <carlo.defalco@polimi.it>
date Sun, 11 Oct 2015 23:09:01 +0200
parents 3be09ebf2105
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19978
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
1 /*
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
2
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
3 Copyright (C) 2014 Torsten
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
4
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
5 This file is part of Octave.
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
6
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
9 Free Software Foundation; either version 3 of the License, or (at your
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
10 option) any later version.
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
11
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
12 Octave is distributed in the hope that it will be useful, but WITHOUT
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
15 for more details.
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
16
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
18 along with Octave; see the file COPYING. If not, see
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
19 <http://www.gnu.org/licenses/>.
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
20
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
21 */
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
22
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
23 // Author: Torsten <ttl@justmail.de>
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
24
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
25 #ifdef HAVE_CONFIG_H
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
26 #include <config.h>
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
27 #endif
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
28
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
29 #include "octave-cmd.h"
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
30
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
31 #include "octave-qt-link.h"
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
32 #include "cmd-edit.h"
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
33 #include "builtin-defun-decls.h"
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
34 #include "utils.h"
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
35
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
36
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
37 // ---------------------------------------------------------------------
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
38 // class octave_cmd_exec: executing a command
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
39
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
40 void
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
41 octave_cmd_exec::execute ()
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
42 {
20011
c5f0df2a7291 fix error when entering dbcont in terminal while running a file from gui
Torsten <ttl@justmail.de>
parents: 19978
diff changeset
43 std::string pending_input = command_editor::get_current_line ();
c5f0df2a7291 fix error when entering dbcont in terminal while running a file from gui
Torsten <ttl@justmail.de>
parents: 19978
diff changeset
44
c5f0df2a7291 fix error when entering dbcont in terminal while running a file from gui
Torsten <ttl@justmail.de>
parents: 19978
diff changeset
45 command_editor::set_initial_input (pending_input);
c5f0df2a7291 fix error when entering dbcont in terminal while running a file from gui
Torsten <ttl@justmail.de>
parents: 19978
diff changeset
46 command_editor::replace_line (_cmd.toStdString ());
c5f0df2a7291 fix error when entering dbcont in terminal while running a file from gui
Torsten <ttl@justmail.de>
parents: 19978
diff changeset
47 command_editor::redisplay ();
19978
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
48 command_editor::accept_line ();
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
49 }
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
50
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
51
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
52 // ---------------------------------------------------------------------
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
53 // class octave_cmd_eval: running a file
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
54
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
55 void
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
56 octave_cmd_eval::execute ()
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
57 {
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
58 QString function_name = _info.fileName ();
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
59 function_name.chop (_info.suffix ().length () + 1);
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
60 std::string file_path = _info.absoluteFilePath ().toStdString ();
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
61
20011
c5f0df2a7291 fix error when entering dbcont in terminal while running a file from gui
Torsten <ttl@justmail.de>
parents: 19978
diff changeset
62 std::string pending_input = command_editor::get_current_line ();
19978
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
63
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
64 if (valid_identifier (function_name.toStdString ()))
20068
19755f4fc851 maint: Cleanup C++ code to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 20011
diff changeset
65 {
19755f4fc851 maint: Cleanup C++ code to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 20011
diff changeset
66 // valid identifier: call as function with possibility to debug
19978
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
67 std::string path = _info.absolutePath ().toStdString ();
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
68 if (octave_qt_link::file_in_path (file_path, path))
20110
26281bc8d23b fix non functioning ctrl-c when function executed from editor (bug #44397)
Torsten <ttl@justmail.de>
parents: 20068
diff changeset
69 command_editor::replace_line (function_name.toStdString ());
19978
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
70 }
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
71 else
20068
19755f4fc851 maint: Cleanup C++ code to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 20011
diff changeset
72 {
19755f4fc851 maint: Cleanup C++ code to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 20011
diff changeset
73 // no valid identifier: use Fsource (), no debug possible
19978
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
74 Fsource (ovl (file_path));
20110
26281bc8d23b fix non functioning ctrl-c when function executed from editor (bug #44397)
Torsten <ttl@justmail.de>
parents: 20068
diff changeset
75 command_editor::replace_line ("");
19978
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
76 }
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
77
20011
c5f0df2a7291 fix error when entering dbcont in terminal while running a file from gui
Torsten <ttl@justmail.de>
parents: 19978
diff changeset
78 command_editor::set_initial_input (pending_input);
c5f0df2a7291 fix error when entering dbcont in terminal while running a file from gui
Torsten <ttl@justmail.de>
parents: 19978
diff changeset
79 command_editor::redisplay ();
c5f0df2a7291 fix error when entering dbcont in terminal while running a file from gui
Torsten <ttl@justmail.de>
parents: 19978
diff changeset
80
20693
3be09ebf2105 do not leave debug modus when entering a command at debug prompt (bug #45737)
Torsten <ttl@justmail.de>
parents: 20110
diff changeset
81 command_editor::accept_line ();
19978
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
82 }