annotate libgui/src/octave-qobject.h @ 27197:b8c0d5ad024f

refactor and rename some qt application objects * octave-qobject.h, octave-qobject.cc: New files. Move octave_qapplication, octave_qt_app, octave_qt_cli_app, and octave_qt_gui_app classes here from main-window.h and main-window.cc. Rename octave_qt_app to base_qobject. Rename octave_qt_cli_app to cli_qobject. Rename octave_qt_gui_app to gui_qobject. * qt-application.h, qt-application.cc: Rename from octave-gui.h and octave-gui.cc. Rename gui_application class to qt_application. Change all uses. * libgui/src/module.mk: Update.
author John W. Eaton <jwe@octave.org>
date Sat, 22 Jun 2019 17:30:16 -0500
parents
children de0762d72d52
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27197
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
1 /*
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
2
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
3 Copyright (C) 2013-2019 John W. Eaton
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
4 Copyright (C) 2011-2019 Jacob Dawid
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
5
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
6 This file is part of Octave.
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
7
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
8 Octave is free software: you can redistribute it and/or modify it
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
9 under the terms of the GNU General Public License as published by
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
10 the Free Software Foundation, either version 3 of the License, or
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
11 (at your option) any later version.
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
12
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
13 Octave is distributed in the hope that it will be useful, but
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
14 WITHOUT ANY WARRANTY; without even the implied warranty of
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
16 GNU General Public License for more details.
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
17
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
18 You should have received a copy of the GNU General Public License
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
19 along with Octave; see the file COPYING. If not, see
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
20 <https://www.gnu.org/licenses/>.
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
21
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
22 */
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
23
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
24 #if ! defined (octave_octave_qobject_h)
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
25 #define octave_octave_qobject_h 1
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
26
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
27 #include <QApplication>
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
28 #include <QList>
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
29 #include <QObject>
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
30 #include <QString>
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
31 #include <QStringList>
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
32
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
33 #include "qt-application.h"
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
34
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
35 // Defined for purposes of sending QList<int> as part of signal.
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
36 typedef QList<int> QIntList;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
37
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
38 // Defined for purposes of sending QList<float> as part of signal.
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
39 typedef QList<float> QFloatList;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
40
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
41 namespace octave
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
42 {
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
43 class interpreter_qobject;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
44 class main_window;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
45 class octave_qt_link;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
46
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
47 //! 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
48 //! reimplement QApplication::notify. The octave_qapplication object
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
49 //! 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
50 //! overrides the notify method so we can handle forward Octave
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
51 //! octave::execution_exception exceptions from the GUI thread to the
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
52 //! interpreter thread.
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
53
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
54 class octave_qapplication : public QApplication
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
55 {
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
56 public:
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
57
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
58 octave_qapplication (int& argc, char **argv)
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
59 : QApplication (argc, argv)
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
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
62 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
63
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
64 ~octave_qapplication (void) { };
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
65 };
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 //! 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
68 //! 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
69 //! 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
70 //! full GUI experience.
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
71
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
72 class base_qobject : public QObject
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 Q_OBJECT
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
75
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
76 public:
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
77
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
78 base_qobject (qt_application& app_context);
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 ~base_qobject (void);
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 void config_translators (void);
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 void start_main_thread (void);
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
85
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
86 int exec (void);
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 QApplication *octave_qapp (void) { return m_octave_qapp; };
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 public slots:
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 handle_octave_finished (int);
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 virtual void confirm_shutdown_octave (void);
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
95
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
96 void copy_image_to_clipboard (const QString& file, bool remove_file);
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
97
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
98 void handle_create_dialog (const QString& message, const QString& title,
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
99 const QString& icon, const QStringList& button,
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
100 const QString& defbutton,
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
101 const QStringList& role);
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
102
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
103 void handle_create_listview (const QStringList& list, const QString& mode,
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
104 int width, int height,
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
105 const QIntList& initial,
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
106 const QString& name,
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
107 const QStringList& prompt,
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
108 const QString& ok_string,
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
109 const QString& cancel_string);
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
110
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
111 void handle_create_inputlayout (const QStringList&, const QString&,
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
112 const QFloatList&, const QFloatList&,
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
113 const QStringList&);
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
114
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
115 void handle_create_filedialog (const QStringList& filters,
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
116 const QString& title,
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
117 const QString& filename,
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
118 const QString& dirname,
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
119 const QString& multimode);
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
120
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
121 protected:
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
122
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
123 qt_application& m_app_context;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
124
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
125 // 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
126 // QApplication object.
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
127
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
128 int m_argc;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
129 char **m_argv;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
130
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
131 QApplication *m_octave_qapp;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
132
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
133 QTranslator *m_qt_tr;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
134 QTranslator *m_gui_tr;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
135 QTranslator *m_qsci_tr;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
136
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
137 bool m_translators_installed;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
138
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
139 octave_qt_link *m_octave_qt_link;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
140
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
141 interpreter_qobject *m_interpreter_qobject;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
142
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
143 QThread *m_main_thread;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
144
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
145 void connect_uiwidget_links (void);
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
146
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
147 void confirm_shutdown_octave_internal (bool closenow);
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
148 };
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
149
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
150 //! This object provides a command-line interface to Octave that may
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
151 //! use Qt graphics.
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
152
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
153 class cli_qobject : public base_qobject
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
154 {
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
155 Q_OBJECT
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
156
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
157 public:
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
158
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
159 cli_qobject (qt_application& app_context);
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 ~cli_qobject (void) = default;
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
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
164 //! This object provides a full GUI interface to Octave that is
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
165 //! implemented Qt.
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
166
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
167 class gui_qobject : public base_qobject
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
168 {
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
169 Q_OBJECT
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
170
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
171 public:
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
172
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
173 gui_qobject (qt_application& app_context);
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
174
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
175 ~gui_qobject (void);
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
176
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
177 public slots:
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
178
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
179 void confirm_shutdown_octave (void);
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 private:
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
182
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
183 main_window *m_main_window;
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
184 };
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
185 }
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 #endif
b8c0d5ad024f refactor and rename some qt application objects
John W. Eaton <jwe@octave.org>
parents:
diff changeset
188