annotate libgui/src/octave-cmd.cc @ 20605:734d446560a8

possibility to hide filters in history and workspace view (bug#45428) * history_dock_widget.cc(construct): use settings file for show/hide the filter; (~history_dock_widget): save current filter state to settings file; (ctxMenu): add menu entry for showing/hiding the filter; (handle_contextmenu_filter): slot for the new menu entry * history-dock-widget.h: new slot for new menu entry, new class variables for filter and show/hide-state * workspace-view.cc(workspace_view): use settings file for show/hide the filter; (~workspace_view): save current filter state to settings file; (contextmenu_requested): add menu entry for showing/hiding the filter; (handle_contextmenu_filter): slot for the new menu entry * workspace-view.h: new slot for new menu entry, new class variables for filter and show/hide-state
author Torsten <ttl@justmail.de>
date Wed, 07 Oct 2015 21:01:25 +0200
parents 3be09ebf2105
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19807
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 {
19840
c5f0df2a7291 fix error when entering dbcont in terminal while running a file from gui
Torsten <ttl@justmail.de>
parents: 19807
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: 19807
diff changeset
44
c5f0df2a7291 fix error when entering dbcont in terminal while running a file from gui
Torsten <ttl@justmail.de>
parents: 19807
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: 19807
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: 19807
diff changeset
47 command_editor::redisplay ();
19807
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
19840
c5f0df2a7291 fix error when entering dbcont in terminal while running a file from gui
Torsten <ttl@justmail.de>
parents: 19807
diff changeset
62 std::string pending_input = command_editor::get_current_line ();
19807
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 ()))
19895
19755f4fc851 maint: Cleanup C++ code to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19840
diff changeset
65 {
19755f4fc851 maint: Cleanup C++ code to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19840
diff changeset
66 // valid identifier: call as function with possibility to debug
19807
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))
19936
26281bc8d23b fix non functioning ctrl-c when function executed from editor (bug #44397)
Torsten <ttl@justmail.de>
parents: 19895
diff changeset
69 command_editor::replace_line (function_name.toStdString ());
19807
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
19895
19755f4fc851 maint: Cleanup C++ code to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19840
diff changeset
72 {
19755f4fc851 maint: Cleanup C++ code to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19840
diff changeset
73 // no valid identifier: use Fsource (), no debug possible
19807
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
74 Fsource (ovl (file_path));
19936
26281bc8d23b fix non functioning ctrl-c when function executed from editor (bug #44397)
Torsten <ttl@justmail.de>
parents: 19895
diff changeset
75 command_editor::replace_line ("");
19807
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
19840
c5f0df2a7291 fix error when entering dbcont in terminal while running a file from gui
Torsten <ttl@justmail.de>
parents: 19807
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: 19807
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: 19807
diff changeset
80
20518
3be09ebf2105 do not leave debug modus when entering a command at debug prompt (bug #45737)
Torsten <ttl@justmail.de>
parents: 19936
diff changeset
81 command_editor::accept_line ();
19807
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
82 }