annotate libgui/src/octave-cmd.h @ 21027:8000dacaea98

GUI: no more extra command queue for debug commands * main-window.cc (constructor): remove initializations for debug queue; (debug_continue,debug_step_into,debug_step_over,debug_step_out,debug_quit): queue new debug commands into common queue; (queue_debug): removed obsolete function; (execute_debug_callback): move this function into the execute method of the new octave_cmd_debug class; * main-window.h: remove obsolete prototypes and class variables * octave-cmd.cc (octave_cmd_debug::execute): execute method of new class for debug commands; (octave-cmd.h): changed private into protected for inheritance, new class octave_cmd_debug derived from octave_cmd_exec
author Torsten <ttl@justmail.de>
date Sun, 03 Jan 2016 11:49:16 +0100
parents f7084eae3318
children 4a7d9c335402
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19773
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
20791
f7084eae3318 maint: Use Octave coding conventions for #if statements.
Rik <rik@octave.org>
parents: 19806
diff changeset
25 #if ! defined (octave_cmd_h)
19773
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
26 #define octave_cmd_h 1
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
27
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
28 #include <QString>
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
29 #include <QFileInfo>
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 class octave_cmd
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
32 {
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
33 public:
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
34
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
35 octave_cmd () { };
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
36 virtual ~octave_cmd () { };
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 virtual void execute () { };
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
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
41
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
42 // ---------------------------------------------------------------------
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
43 // class octave_cmd_exec
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
44
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
45 class octave_cmd_exec : public octave_cmd
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
46 {
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
47 public:
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
48
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
49 octave_cmd_exec (const QString& cmd) : octave_cmd () { _cmd = cmd; };
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
50 void execute ();
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
51
21027
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
52 protected:
19773
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
53
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
54 QString _cmd;
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
55 };
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
56
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 // ---------------------------------------------------------------------
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
59 // class octave_cmd_eval
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
60
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
61 class octave_cmd_eval : public octave_cmd
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
62 {
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
63 public:
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
64
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
65 octave_cmd_eval (const QFileInfo& info) : octave_cmd () { _info = info; };
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
66 void execute ();
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
67
21027
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
68 protected:
19773
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
69
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
70 QFileInfo _info;
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
71 };
21027
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
72
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
73
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
74 // ---------------------------------------------------------------------
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
75 // class octave_cmd_debug
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
76
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
77 class octave_cmd_debug : public octave_cmd_exec
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
78 {
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
79 public:
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
80
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
81 octave_cmd_debug (const QString& cmd, bool suppress_location)
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
82 : octave_cmd_exec (cmd)
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
83 {
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
84 _suppress_dbg_location = suppress_location;
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
85 };
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
86
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
87 void execute ();
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
88
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
89 protected:
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
90
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
91 bool _suppress_dbg_location;
8000dacaea98 GUI: no more extra command queue for debug commands
Torsten <ttl@justmail.de>
parents: 20791
diff changeset
92 };
19773
034bcac0b61c use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
diff changeset
93 #endif