Mercurial > octave
annotate libgui/src/octave-qobject.h @ 29359:7854d5752dd2
maint: merge stable to default.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 10 Feb 2021 10:10:40 -0500 |
parents | eb1e10abe9d5 0a5b15007766 |
children | 3bfec185c9e2 |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 //////////////////////////////////////////////////////////////////////// |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 // |
29358
0a5b15007766
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
28347
diff
changeset
|
3 // Copyright (C) 2011-2021 The Octave Project Developers |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
4 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 // See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 // distribution or <https://octave.org/copyright/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
7 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
8 // This file is part of Octave. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
9 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
10 // Octave is free software: you can redistribute it and/or modify it |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
11 // under the terms of the GNU General Public License as published by |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
12 // the Free Software Foundation, either version 3 of the License, or |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
13 // (at your option) any later version. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
14 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
15 // Octave is distributed in the hope that it will be useful, but |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
16 // WITHOUT ANY WARRANTY; without even the implied warranty of |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
18 // GNU General Public License for more details. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
19 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
20 // You should have received a copy of the GNU General Public License |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
21 // along with Octave; see the file COPYING. If not, see |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
22 // <https://www.gnu.org/licenses/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 //////////////////////////////////////////////////////////////////////// |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
25 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
26 #if ! defined (octave_octave_qobject_h) |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
27 #define octave_octave_qobject_h 1 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
28 |
27588
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
29 #include <memory> |
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
30 |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
31 #include <QApplication> |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
32 #include <QList> |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
33 #include <QObject> |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
34 #include <QString> |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
35 #include <QStringList> |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
36 |
27302
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27218
diff
changeset
|
37 #include "interpreter-qobject.h" |
27620
45bb5bbaf291
don't use singleton pattern for resource manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27619
diff
changeset
|
38 #include "resource-manager.h" |
27630
262cdd0f7619
don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
39 #include "shortcut-manager.h" |
28795
901a92f45ff0
provide access to worksapce model via base_object
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28347
diff
changeset
|
40 #include "workspace-model.h" |
27302
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27218
diff
changeset
|
41 |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
42 namespace octave |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
43 { |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
44 class main_window; |
27217
de0762d72d52
eliminate unnecessary inclusion of qt-application.h
John W. Eaton <jwe@octave.org>
parents:
27197
diff
changeset
|
45 class qt_application; |
27588
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
46 class qt_interpreter_events; |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
47 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
48 //! This class is a simple wrapper around QApplication so that we can |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
49 //! reimplement QApplication::notify. The octave_qapplication object |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
50 //! should behave identically to a QApplication object except that it |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
51 //! overrides the notify method so we can handle forward Octave |
28857
43ad651cf5a0
eliminate unnecessary uses of octave:: namespace qualifier
John W. Eaton <jwe@octave.org>
parents:
28795
diff
changeset
|
52 //! execution_exception exceptions from the GUI thread to the |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
53 //! interpreter thread. |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
54 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
55 class octave_qapplication : public QApplication |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
56 { |
27302
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27218
diff
changeset
|
57 Q_OBJECT |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27218
diff
changeset
|
58 |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
59 public: |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
60 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
61 octave_qapplication (int& argc, char **argv) |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
62 : QApplication (argc, argv) |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
63 { } |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
64 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
65 virtual bool notify (QObject *receiver, QEvent *e) override; |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
66 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
67 ~octave_qapplication (void) { }; |
27302
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27218
diff
changeset
|
68 |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27218
diff
changeset
|
69 signals: |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27218
diff
changeset
|
70 |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27218
diff
changeset
|
71 void interpreter_event (const fcn_callback& fcn); |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27218
diff
changeset
|
72 void interpreter_event (const meth_callback& meth); |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
73 }; |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
74 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
75 //! Base class for Octave interfaces that use Qt. There are two |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
76 //! classes derived from this one. One provides a command-line |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
77 //! interface that may use Qt graphics and another provides the |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
78 //! full GUI experience. |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
79 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
80 class base_qobject : public QObject |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
81 { |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
82 Q_OBJECT |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
83 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
84 public: |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
85 |
29153
02ee34a30351
eliminate separate cli_qobject and gui_qobject classes
John W. Eaton <jwe@octave.org>
parents:
28857
diff
changeset
|
86 base_qobject (qt_application& app_context, bool gui_app = false); |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
87 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
88 ~base_qobject (void); |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
89 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
90 void config_translators (void); |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
91 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
92 void start_main_thread (void); |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
93 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
94 int exec (void); |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
95 |
27218
a044202208af
more refactoring of GUI classes that manage the interpreter
John W. Eaton <jwe@octave.org>
parents:
27217
diff
changeset
|
96 // The Octave application context. |
a044202208af
more refactoring of GUI classes that manage the interpreter
John W. Eaton <jwe@octave.org>
parents:
27217
diff
changeset
|
97 qt_application& app_context (void) { return m_app_context; } |
a044202208af
more refactoring of GUI classes that manage the interpreter
John W. Eaton <jwe@octave.org>
parents:
27217
diff
changeset
|
98 |
a044202208af
more refactoring of GUI classes that manage the interpreter
John W. Eaton <jwe@octave.org>
parents:
27217
diff
changeset
|
99 // The Qt QApplication. |
a044202208af
more refactoring of GUI classes that manage the interpreter
John W. Eaton <jwe@octave.org>
parents:
27217
diff
changeset
|
100 QApplication * qapplication (void) { return m_qapplication; }; |
a044202208af
more refactoring of GUI classes that manage the interpreter
John W. Eaton <jwe@octave.org>
parents:
27217
diff
changeset
|
101 |
27620
45bb5bbaf291
don't use singleton pattern for resource manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27619
diff
changeset
|
102 resource_manager& get_resource_manager (void) |
45bb5bbaf291
don't use singleton pattern for resource manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27619
diff
changeset
|
103 { |
45bb5bbaf291
don't use singleton pattern for resource manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27619
diff
changeset
|
104 return m_resource_manager; |
45bb5bbaf291
don't use singleton pattern for resource manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27619
diff
changeset
|
105 } |
45bb5bbaf291
don't use singleton pattern for resource manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27619
diff
changeset
|
106 |
27630
262cdd0f7619
don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
107 shortcut_manager& get_shortcut_manager (void) |
262cdd0f7619
don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
108 { |
262cdd0f7619
don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
109 return m_shortcut_manager; |
262cdd0f7619
don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
110 } |
262cdd0f7619
don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
111 |
28795
901a92f45ff0
provide access to worksapce model via base_object
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28347
diff
changeset
|
112 workspace_model * get_workspace_model (void) |
901a92f45ff0
provide access to worksapce model via base_object
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28347
diff
changeset
|
113 { |
901a92f45ff0
provide access to worksapce model via base_object
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28347
diff
changeset
|
114 return m_workspace_model; |
901a92f45ff0
provide access to worksapce model via base_object
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28347
diff
changeset
|
115 } |
901a92f45ff0
provide access to worksapce model via base_object
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28347
diff
changeset
|
116 |
27588
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
117 std::shared_ptr<qt_interpreter_events> get_qt_interpreter_events (void) |
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
118 { |
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
119 return m_qt_interpreter_events; |
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
120 } |
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
121 |
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
122 qt_interpreter_events * qt_link (void) |
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
123 { |
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
124 return m_qt_interpreter_events.get (); |
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
125 } |
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
126 |
27218
a044202208af
more refactoring of GUI classes that manage the interpreter
John W. Eaton <jwe@octave.org>
parents:
27217
diff
changeset
|
127 interpreter_qobject * interpreter_qobj (void) |
a044202208af
more refactoring of GUI classes that manage the interpreter
John W. Eaton <jwe@octave.org>
parents:
27217
diff
changeset
|
128 { |
a044202208af
more refactoring of GUI classes that manage the interpreter
John W. Eaton <jwe@octave.org>
parents:
27217
diff
changeset
|
129 return m_interpreter_qobj; |
a044202208af
more refactoring of GUI classes that manage the interpreter
John W. Eaton <jwe@octave.org>
parents:
27217
diff
changeset
|
130 } |
a044202208af
more refactoring of GUI classes that manage the interpreter
John W. Eaton <jwe@octave.org>
parents:
27217
diff
changeset
|
131 |
a044202208af
more refactoring of GUI classes that manage the interpreter
John W. Eaton <jwe@octave.org>
parents:
27217
diff
changeset
|
132 QThread *main_thread (void) { return m_main_thread; } |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
133 |
29153
02ee34a30351
eliminate separate cli_qobject and gui_qobject classes
John W. Eaton <jwe@octave.org>
parents:
28857
diff
changeset
|
134 // Declared virtual so that a derived class may redefine this |
02ee34a30351
eliminate separate cli_qobject and gui_qobject classes
John W. Eaton <jwe@octave.org>
parents:
28857
diff
changeset
|
135 // method. |
02ee34a30351
eliminate separate cli_qobject and gui_qobject classes
John W. Eaton <jwe@octave.org>
parents:
28857
diff
changeset
|
136 |
27588
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
137 virtual bool confirm_shutdown (void); |
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
138 |
28347
00a9a49c7670
improve interpreter shutdown process (bug #56952)
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
139 signals: |
00a9a49c7670
improve interpreter shutdown process (bug #56952)
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
140 |
00a9a49c7670
improve interpreter shutdown process (bug #56952)
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
141 void request_interpreter_shutdown (int); |
00a9a49c7670
improve interpreter shutdown process (bug #56952)
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
142 |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
143 public slots: |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
144 |
29219
c2f3a0832cf0
fix possible glitch when interpreter is ready when main window is created
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29153
diff
changeset
|
145 void interpreter_ready (void); |
c2f3a0832cf0
fix possible glitch when interpreter is ready when main window is created
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29153
diff
changeset
|
146 |
28347
00a9a49c7670
improve interpreter shutdown process (bug #56952)
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
147 void handle_interpreter_execution_finished (int); |
00a9a49c7670
improve interpreter shutdown process (bug #56952)
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
148 |
00a9a49c7670
improve interpreter shutdown process (bug #56952)
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
149 void handle_interpreter_shutdown_finished (int); |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
150 |
27302
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27218
diff
changeset
|
151 void interpreter_event (const fcn_callback& fcn); |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27218
diff
changeset
|
152 |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27218
diff
changeset
|
153 void interpreter_event (const meth_callback& meth); |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27218
diff
changeset
|
154 |
29292
eb1e10abe9d5
use method in interpreter class to interrupt interpreter execution in GUI
John W. Eaton <jwe@octave.org>
parents:
29219
diff
changeset
|
155 void interpreter_interrupt (void); |
eb1e10abe9d5
use method in interpreter class to interrupt interpreter execution in GUI
John W. Eaton <jwe@octave.org>
parents:
29219
diff
changeset
|
156 |
27588
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
157 void copy_image_to_clipboard (const QString& file, bool remove_file); |
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
158 |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
159 protected: |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
160 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
161 qt_application& m_app_context; |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
162 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
163 // Use these to ensure that argc and argv exist for as long as the |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
164 // QApplication object. |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
165 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
166 int m_argc; |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
167 char **m_argv; |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
168 |
27302
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27218
diff
changeset
|
169 octave_qapplication *m_qapplication; |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
170 |
27620
45bb5bbaf291
don't use singleton pattern for resource manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27619
diff
changeset
|
171 resource_manager m_resource_manager; |
45bb5bbaf291
don't use singleton pattern for resource manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27619
diff
changeset
|
172 |
27630
262cdd0f7619
don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
173 shortcut_manager m_shortcut_manager; |
262cdd0f7619
don't use singleton pattern for shortcut manager in GUI
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
174 |
28795
901a92f45ff0
provide access to worksapce model via base_object
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28347
diff
changeset
|
175 workspace_model *m_workspace_model; |
901a92f45ff0
provide access to worksapce model via base_object
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28347
diff
changeset
|
176 |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
177 QTranslator *m_qt_tr; |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
178 QTranslator *m_gui_tr; |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
179 QTranslator *m_qsci_tr; |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
180 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
181 bool m_translators_installed; |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
182 |
27588
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
183 std::shared_ptr<qt_interpreter_events> m_qt_interpreter_events; |
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27582
diff
changeset
|
184 |
27218
a044202208af
more refactoring of GUI classes that manage the interpreter
John W. Eaton <jwe@octave.org>
parents:
27217
diff
changeset
|
185 interpreter_qobject *m_interpreter_qobj; |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
186 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
187 QThread *m_main_thread; |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
188 |
29153
02ee34a30351
eliminate separate cli_qobject and gui_qobject classes
John W. Eaton <jwe@octave.org>
parents:
28857
diff
changeset
|
189 bool m_gui_app; |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
190 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
191 main_window *m_main_window; |
29219
c2f3a0832cf0
fix possible glitch when interpreter is ready when main window is created
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29153
diff
changeset
|
192 |
c2f3a0832cf0
fix possible glitch when interpreter is ready when main window is created
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29153
diff
changeset
|
193 bool m_interpreter_ready; |
27197
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
194 }; |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
195 } |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
196 |
b8c0d5ad024f
refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
197 #endif |