Mercurial > octave
annotate libgui/src/main-window.h @ 25407:ab10403a0b50
new input_system class to manage user input for the interpreter
Encapsulate many command-line input functions and data within a new
class that is a member of the interpreter object.
* input.h, input.cc (input_system): New class. Include data members
for former static variables VPS1, VPS2, Vcompletion_append_char,
last_debugging_command, Vgud_mode, input_event_hook_functions, and
Vmfile_encoding. Change all uses.
(is_variable, generate_struct_completions, looks_like_struct):
Move here from variables.cc and make static.
(set_default_prompts, octave_yes_or_no, do_keyboard,
remove_input_event_hook_functions, get_input_from_stdin): Deprecate.
(Fadd_input_event_hook, Fremove_input_event_hook, FPS1, FPS2,
Fcompletion_append_char, F__request_drawnow__, F__gud_mode__,
F__mfile_encoding__, Finput, Fyes_or_no): Define with DEFMETHOD.
Change all uses.
(input_system::have_input_event_hooks,
input_system::add_input_event_hook,
input_system::remove_input_event_hook,
input_system::clear_input_event_hooks,
input_system::run_input_event_hooks):
New functions to manage input event hooks.
(input_system::yes_or_no, input_system::interactive_input,
input_system::get_user_input, input_system::keyboard,
input_system::gnu_readline, input_system::get_debug_input):
New functions adapted from former file-scope static and global
functions.
* interpreter.h, interpreter.cc (interpreter::m_input_system):
New data member.
(interpreter::get_input_system): New function.
(interpreter::intepreter): Don't call set_default_prompts. Call
input_system::initialize.
(interpreter::maximum_braindamage): Call input_system::PS1 and
input_system::PS2 directly here.
* variables.h, variables.cc (get_struct_elts): Deprecate.
* main-window.cc (octave_interpreter::m_app_context): Now pointer to
gui_application, not application.
(octave_interpreter::octave_interpreter): Arg is now
gui_application, not application. Set default prompt strings directly
here.
* qt-link.h, qt-link.cc (octave_qt_link::do_set_default_prompts):
Delete.
* octave-link.h, octave-link.cc (octave_link::set_default_prompts,
octave_link::do_set_default_prompts): Delete.
* hook-fcn.h, hook-fcn.cc (named_hook_function::eval,
fcn_handle_hook_function::eval): Move code from .h to .cc file.
Make id and is_valid methods const.
* interpreter-private.h, interpreter-private.cc
(__get_input_system__): New function.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 23 May 2018 17:12:57 -0400 |
parents | 4adeabc1bbfe |
children | ce725103ebf1 |
rev | line source |
---|---|
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
1 /* |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
2 |
25054
6652d3823428
maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents:
24812
diff
changeset
|
3 Copyright (C) 2013-2018 John W. Eaton |
6652d3823428
maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents:
24812
diff
changeset
|
4 Copyright (C) 2011-2018 Jacob Dawid |
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
5 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
6 This file is part of Octave. |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
7 |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24109
diff
changeset
|
8 Octave is free software: you can redistribute it and/or modify it |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22599
diff
changeset
|
9 under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24109
diff
changeset
|
10 the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22599
diff
changeset
|
11 (at your option) any later version. |
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
12 |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22599
diff
changeset
|
13 Octave is distributed in the hope that it will be useful, but |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22599
diff
changeset
|
14 WITHOUT ANY WARRANTY; without even the implied warranty of |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22599
diff
changeset
|
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22599
diff
changeset
|
16 GNU General Public License for more details. |
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
17 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
18 You should have received a copy of the GNU General Public License |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
19 along with Octave; see the file COPYING. If not, see |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24109
diff
changeset
|
20 <https://www.gnu.org/licenses/>. |
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
21 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
22 */ |
13501 | 23 |
20791
f7084eae3318
maint: Use Octave coding conventions for #if statements.
Rik <rik@octave.org>
parents:
20278
diff
changeset
|
24 #if ! defined (octave_main_window_h) |
17822
ebb3ef964372
maint: Use common #define syntax "octave_filename_h" in h_files.
Rik <rik@octave.org>
parents:
17790
diff
changeset
|
25 #define octave_main_window_h 1 |
13501 | 26 |
14599
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
27 // Qt includes |
17827
2de613986374
include Qt files with <QFoo> instead of <QtGui/QFoo> (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
17822
diff
changeset
|
28 #include <QMainWindow> |
13501 | 29 #include <QThread> |
30 #include <QTabWidget> | |
31 #include <QStatusBar> | |
32 #include <QToolBar> | |
33 #include <QQueue> | |
14318
df86157a4912
Re-enable MSVC/Win32 compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
14308
diff
changeset
|
34 #include <QCloseEvent> |
14670
7fbea449737d
Restructured menus, added toolbar and current directory line edit.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14602
diff
changeset
|
35 #include <QToolButton> |
14700
7623bece76df
Implemented logic for current directory bar.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14695
diff
changeset
|
36 #include <QComboBox> |
19632
101ce4eaa56c
prevent opening the settings dialog multiple times
Torsten <ttl@justmail.de>
parents:
19631
diff
changeset
|
37 #include <QPointer> |
14599
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
38 |
14676
35512b788af2
Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14674
diff
changeset
|
39 // Editor includes |
14707
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
40 #include "file-editor-interface.h" |
23385
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
41 #include "external-editor-interface.h" |
14599
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
42 |
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
43 // QTerminal includes |
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
44 #include "QTerminal.h" |
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
45 |
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
46 // Own includes |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
47 #include "dialog.h" |
22089
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
48 #include "documentation-dock-widget.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
49 #include "files-dock-widget.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
50 #include "find-files-dialog.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
51 #include "history-dock-widget.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
52 #include "octave-cmd.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
53 #include "octave-dock-widget.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
54 #include "octave-gui.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
55 #include "octave-qt-link.h" |
14707
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
56 #include "resource-manager.h" |
22089
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
57 #include "terminal-dock-widget.h" |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
58 #include "variable-editor.h" |
16445
3f8d3fc907af
store workspace model in main_window, not in workspace view
John W. Eaton <jwe@octave.org>
parents:
16438
diff
changeset
|
59 #include "workspace-model.h" |
14707
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
60 #include "workspace-view.h" |
13614
5cb93c6d8aab
Important subwindows are not closable now. A close button is still displayed, which seems to be q Qt bug.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13611
diff
changeset
|
61 |
19632
101ce4eaa56c
prevent opening the settings dialog multiple times
Torsten <ttl@justmail.de>
parents:
19631
diff
changeset
|
62 class settings_dialog; |
101ce4eaa56c
prevent opening the settings dialog multiple times
Torsten <ttl@justmail.de>
parents:
19631
diff
changeset
|
63 |
24641
7d177be54c37
pass variable value to variable editor in addition to variable name
John W. Eaton <jwe@octave.org>
parents:
24632
diff
changeset
|
64 class octave_value; |
7d177be54c37
pass variable value to variable editor in addition to variable name
John W. Eaton <jwe@octave.org>
parents:
24632
diff
changeset
|
65 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
66 namespace octave |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
67 { |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
68 class octave_interpreter : public QObject |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
69 { |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
70 Q_OBJECT |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
71 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
72 public: |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
73 |
25407
ab10403a0b50
new input_system class to manage user input for the interpreter
John W. Eaton <jwe@octave.org>
parents:
25275
diff
changeset
|
74 octave_interpreter (gui_application *app_context); |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
75 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
76 ~octave_interpreter (void) = default; |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
77 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
78 signals: |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
79 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
80 void octave_ready_signal (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
81 void octave_finished_signal (int); |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
82 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
83 public slots: |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
84 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
85 //! Initialize and execute the octave interpreter. |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
86 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
87 void execute (void); |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
88 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
89 private: |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
90 |
25407
ab10403a0b50
new input_system class to manage user input for the interpreter
John W. Eaton <jwe@octave.org>
parents:
25275
diff
changeset
|
91 gui_application *m_app_context; |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
92 }; |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
93 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
94 //! Represents the main window. |
24109
1d6c940a1b37
doc: Improve Doxygen documentation for some files in libgui.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24019
diff
changeset
|
95 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
96 class main_window : public QMainWindow |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
97 { |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
98 Q_OBJECT |
16446
4b3a4bf8569b
improve encapsulation of command window object
John W. Eaton <jwe@octave.org>
parents:
16445
diff
changeset
|
99 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
100 public: |
16446
4b3a4bf8569b
improve encapsulation of command window object
John W. Eaton <jwe@octave.org>
parents:
16445
diff
changeset
|
101 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
102 typedef std::pair <std::string, std::string> name_pair; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
103 typedef std::pair <int, int> int_pair; |
16502
45ae1038ee89
allow renaming of variables in workspace viewer
John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
104 |
24718
ea1c88bd4430
move more GUI classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
105 main_window (QWidget *parent, gui_application *app_context); |
16446
4b3a4bf8569b
improve encapsulation of command window object
John W. Eaton <jwe@octave.org>
parents:
16445
diff
changeset
|
106 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
107 ~main_window (void); |
13501 | 108 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
109 bool command_window_has_focus (void) const; |
16576
2754c5fd6ae0
keep focus in the command window after dbstop, dbstep, etc.
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
110 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
111 void focus_command_window (void); |
16449
c129a8b73d25
avoid unneeded signals for window focus
John W. Eaton <jwe@octave.org>
parents:
16448
diff
changeset
|
112 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
113 signals: |
19422
476032040df9
determining the active dock from focus changes in the gui
Torsten <ttl@justmail.de>
parents:
19303
diff
changeset
|
114 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
115 void active_dock_changed (octave_dock_widget *, octave_dock_widget *); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
116 void editor_focus_changed (bool); |
19422
476032040df9
determining the active dock from focus changes in the gui
Torsten <ttl@justmail.de>
parents:
19303
diff
changeset
|
117 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
118 void settings_changed (const QSettings *); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
119 void init_terminal_size_signal (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
120 void new_file_signal (const QString&); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
121 void open_file_signal (const QString&); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
122 void open_file_signal (const QString& file, const QString& enc, int line); |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
123 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
124 void show_doc_signal (const QString&); |
25060
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
125 void register_doc_signal (const QString&); |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
126 void unregister_doc_signal (const QString&); |
17029
359c5ca795cd
Display doc info pages using documentation browser when in GUI mode (Bug #39451)
John Donoghue <john.donoghue@ieee.org>
parents:
16970
diff
changeset
|
127 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
128 void insert_debugger_pointer_signal (const QString& file, int line); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
129 void delete_debugger_pointer_signal (const QString& file, int line); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
130 void update_breakpoint_marker_signal (bool insert, const QString& file, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
131 int line, const QString& cond); |
16576
2754c5fd6ae0
keep focus in the command window after dbstop, dbstep, etc.
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
132 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
133 void copyClipboard_signal (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
134 void pasteClipboard_signal (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
135 void selectAll_signal (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
136 void undo_signal (void); |
16648
b04413e5a811
improve handling of interrupts, copy and paste shortcuts
John W. Eaton <jwe@octave.org>
parents:
16642
diff
changeset
|
137 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
138 void add_actions_signal (QList <QAction *> action_list); |
20186
ac3746f39fab
make action shortcuts available in floating widgets (bug #45078)
Torsten <ttl@justmail.de>
parents:
20113
diff
changeset
|
139 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
140 public slots: |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16798
diff
changeset
|
141 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
142 void focus_changed (QWidget *w_old, QWidget *w_new); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
143 void request_reload_settings (void); |
19422
476032040df9
determining the active dock from focus changes in the gui
Torsten <ttl@justmail.de>
parents:
19303
diff
changeset
|
144 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
145 void report_status_message (const QString& statusMessage); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
146 void handle_save_workspace_request (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
147 void handle_load_workspace_request (const QString& file = QString ()); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
148 void handle_clear_workspace_request (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
149 void handle_clear_command_window_request (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
150 void handle_clear_history_request (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
151 void handle_undo_request (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
152 void handle_rename_variable_request (const QString& old_name, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
153 const QString& new_name); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
154 void new_file (const QString& commands = QString ()); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
155 void open_file (const QString& file_name = QString (), int line = -1); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
156 void edit_mfile (const QString&, int); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
157 void open_online_documentation_page (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
158 void display_release_notes (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
159 void load_and_display_community_news (int serial = -1); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
160 void display_community_news (const QString& news); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
161 void open_bug_tracker_page (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
162 void open_octave_packages_page (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
163 void open_contribute_page (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
164 void open_donate_page (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
165 void process_settings_dialog_request (const QString& desired_tab |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
166 = QString ()); |
20113
c36f2b083613
make copying figures to clipboard work (bug #44866)
John W. Eaton <jwe@octave.org>
parents:
19949
diff
changeset
|
167 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
168 void copy_image_to_clipboard (const QString& file, bool remove_file); |
20113
c36f2b083613
make copying figures to clipboard work (bug #44866)
John W. Eaton <jwe@octave.org>
parents:
19949
diff
changeset
|
169 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
170 void show_about_octave (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
171 void notice_settings (const QSettings *settings); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
172 void confirm_shutdown_octave (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
173 void prepare_to_exit (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
174 void reset_windows (void); |
16437
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16431
diff
changeset
|
175 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
176 void change_directory (const QString& dir); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
177 void browse_for_directory (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
178 void set_current_working_directory (const QString& dir); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
179 void change_directory_up (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
180 void accept_directory_line_edit (void); |
13501 | 181 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
182 void execute_command_in_terminal (const QString& dir); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
183 void run_file_in_terminal (const QFileInfo& info); |
16446
4b3a4bf8569b
improve encapsulation of command window object
John W. Eaton <jwe@octave.org>
parents:
16445
diff
changeset
|
184 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
185 void handle_new_figure_request (void); |
16566 | 186 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
187 void handle_enter_debugger (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
188 void handle_exit_debugger (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
189 void debug_continue (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
190 void debug_step_into (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
191 void debug_step_over (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
192 void debug_step_out (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
193 void debug_quit (void); |
14726
e94a54ee0f46
Added debug events, debug mode detection and fixed compiling error.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14721
diff
changeset
|
194 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
195 void request_open_file (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
196 void request_new_script (const QString& commands = QString ()); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
197 void request_new_function (bool triggered = true); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
198 void handle_edit_mfile_request (const QString& name, const QString& file, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
199 const QString& curr_dir, int line); |
23385
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
200 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
201 void handle_insert_debugger_pointer_request (const QString& file, int line); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
202 void handle_delete_debugger_pointer_request (const QString& file, int line); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
203 void handle_update_breakpoint_marker_request (bool insert, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
204 const QString& file, int line, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
205 const QString& cond); |
16576
2754c5fd6ae0
keep focus in the command window after dbstop, dbstep, etc.
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
206 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
207 void read_settings (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
208 void init_terminal_size (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
209 void set_window_layout (QSettings *settings); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
210 void write_settings (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
211 void connect_visibility_changed (void); |
15425
8ae34ffe5c1b
Retain QsciAPIs lexer_api as part of lexer_octave_gui object (bug #37359)
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
15402
diff
changeset
|
212 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
213 void copyClipboard (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
214 void pasteClipboard (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
215 void selectAll (void); |
16648
b04413e5a811
improve handling of interrupts, copy and paste shortcuts
John W. Eaton <jwe@octave.org>
parents:
16642
diff
changeset
|
216 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
217 void connect_uiwidget_links (void); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
218 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
219 void handle_create_dialog (const QString& message, const QString& title, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
220 const QString& icon, const QStringList& button, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
221 const QString& defbutton, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
222 const QStringList& role); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
223 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
224 void handle_create_listview (const QStringList& list, const QString& mode, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
225 int width, int height, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
226 const QIntList& initial, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
227 const QString& name, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
228 const QStringList& prompt, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
229 const QString& ok_string, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
230 const QString& cancel_string); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
231 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
232 void handle_create_inputlayout (const QStringList&, const QString&, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
233 const QFloatList&, const QFloatList&, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
234 const QStringList&); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
235 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
236 void handle_create_filedialog (const QStringList& filters, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
237 const QString& title, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
238 const QString& filename, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
239 const QString& dirname, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
240 const QString& multimode); |
16579
7f8db1942dc0
Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents:
16576
diff
changeset
|
241 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
242 void handle_show_doc (const QString& file); |
25060
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
243 void handle_register_doc (const QString& file); |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
244 void handle_unregister_doc (const QString& file); |
17029
359c5ca795cd
Display doc info pages using documentation browser when in GUI mode (Bug #39451)
John Donoghue <john.donoghue@ieee.org>
parents:
16970
diff
changeset
|
245 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
246 void handle_octave_ready (); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
247 void handle_octave_finished (int); |
18309
024940bd5b77
gui: provide prefernces for the octave directory at startup
Torsten <ttl@justmail.de>
parents:
18253
diff
changeset
|
248 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
249 //! Find files dialog. |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
250 //!@{ |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
251 void find_files (const QString& startdir = QDir::currentPath ()); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
252 void find_files_finished (int) { } |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
253 //!@} |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16798
diff
changeset
|
254 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
255 //! Setting global shortcuts. |
24109
1d6c940a1b37
doc: Improve Doxygen documentation for some files in libgui.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24019
diff
changeset
|
256 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
257 void set_global_shortcuts (bool enable); |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16798
diff
changeset
|
258 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
259 void set_screen_size (int ht, int wd); |
19302
37159a873c96
preserve text on Windows terminal resize (bug #41893; patch #8532)
John W. Eaton <jwe@octave.org>
parents:
18944
diff
changeset
|
260 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
261 //! Handling the clipboard. |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
262 //!@{ |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
263 void clipboard_has_changed (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
264 void clear_clipboard (); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
265 //!@} |
17117
47b504503a3f
disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents:
17029
diff
changeset
|
266 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
267 //! Returns a list of dock widgets. |
24109
1d6c940a1b37
doc: Improve Doxygen documentation for some files in libgui.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24019
diff
changeset
|
268 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
269 QList<octave_dock_widget *> get_dock_widget_list (void) |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
270 { |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
271 return dock_widget_list (); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
272 } |
17117
47b504503a3f
disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents:
17029
diff
changeset
|
273 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
274 private slots: |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
275 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
276 void disable_menu_shortcuts (bool disable); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
277 void restore_create_file_setting (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
278 void set_file_encoding (const QString& new_encoding); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
279 void request_open_files (const QStringList& open_file_names); |
20986
00835323fb44
prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents:
20945
diff
changeset
|
280 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
281 //! Opens the variable editor for @p name. |
24109
1d6c940a1b37
doc: Improve Doxygen documentation for some files in libgui.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24019
diff
changeset
|
282 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
283 void edit_variable (const QString &name, const octave_value&); |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
284 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
285 void refresh_variable_editor (void); |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
286 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
287 void handle_variable_editor_update (void); |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
288 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
289 protected: |
24019
fc4ba8b1ff87
style fixes for GUI main window
John W. Eaton <jwe@octave.org>
parents:
23979
diff
changeset
|
290 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
291 void closeEvent (QCloseEvent *closeEvent); |
13501 | 292 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
293 private: |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
294 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
295 void construct (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
296 |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
297 void construct_octave_qt_link (void); |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
298 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
299 QAction * add_action (QMenu *menu, const QIcon& icon, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
300 const QString& text, const char *member, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
301 const QWidget *receiver = nullptr); |
18697
908523bd79b4
use shortcut manager for the debug menu
Torsten <ttl@justmail.de>
parents:
18684
diff
changeset
|
302 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
303 QMenu * m_add_menu (QMenuBar *p, QString text); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
304 void construct_menu_bar (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
305 void construct_file_menu (QMenuBar *p); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
306 void construct_new_menu (QMenu *p); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
307 void construct_edit_menu (QMenuBar *p); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
308 QAction * construct_debug_menu_item (const char *icon, const QString& item, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
309 const char *member); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
310 void construct_debug_menu (QMenuBar *p); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
311 QAction * construct_window_menu_item (QMenu *p, const QString& item, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
312 bool checkable, QWidget*); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
313 void construct_window_menu (QMenuBar *p); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
314 void construct_help_menu (QMenuBar *p); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
315 void construct_documentation_menu (QMenu *p); |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
316 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
317 void construct_news_menu (QMenuBar *p); |
17599
f5950975a172
community news dock widget and other user info in GUI
John W. Eaton <jwe@octave.org>
parents:
17509
diff
changeset
|
318 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
319 void construct_tool_bar (void); |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
320 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
321 void save_workspace_callback (const std::string& file); |
15402
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
322 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
323 void load_workspace_callback (const std::string& file); |
15402
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
324 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
325 void rename_variable_callback (const name_pair& names); |
16502
45ae1038ee89
allow renaming of variables in workspace viewer
John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
326 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
327 void command_window_undo_callback (void); |
16539
8ea8df0747e9
make undo button and menu item work for command window
John W. Eaton <jwe@octave.org>
parents:
16525
diff
changeset
|
328 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
329 void clear_command_window_callback (void); |
16514
db045633405c
Added clear command window implementation to MainWindow Clear COmmand Window menu.
John Donoghue <john.donoghue@ieee.org>
parents:
16512
diff
changeset
|
330 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
331 void resize_command_window_callback (void); |
16541
6afb29359968
set size of command window terminal at GUI startup
John W. Eaton <jwe@octave.org>
parents:
16539
diff
changeset
|
332 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
333 void set_screen_size_callback (const int_pair&); |
19302
37159a873c96
preserve text on Windows terminal resize (bug #41893; patch #8532)
John W. Eaton <jwe@octave.org>
parents:
18944
diff
changeset
|
334 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
335 void clear_workspace_callback (void); |
15402
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
336 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
337 void clear_history_callback (void); |
15402
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
338 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
339 void refresh_workspace_callback (void); |
24632
e9f7cfd40f85
rename some signals and slots for consistency and clarity
John W. Eaton <jwe@octave.org>
parents:
24629
diff
changeset
|
340 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
341 bool focus_console_after_command (void); |
16570
d5ae5aa80d42
preserve pending command line input when running commands from GUI actions
John W. Eaton <jwe@octave.org>
parents:
16566
diff
changeset
|
342 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
343 void new_figure_callback (void); |
16566 | 344 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
345 void change_directory_callback (const std::string& directory); |
15402
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
346 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
347 void configure_shortcuts (void); |
18250
0da2e7051778
synchronize gui's debug actions with the octave core thread (bug #41139)
Torsten <ttl@justmail.de>
parents:
18031
diff
changeset
|
348 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
349 QList<octave_dock_widget *> dock_widget_list (void); |
18717
f017240310fb
disabling global shortcuts when terminal has focus as user preference
Torsten <ttl@justmail.de>
parents:
18711
diff
changeset
|
350 |
24718
ea1c88bd4430
move more GUI classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24715
diff
changeset
|
351 gui_application *m_app_context; |
22089
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
352 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
353 octave_interpreter *m_interpreter; |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
354 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
355 QThread *m_main_thread; |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
356 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
357 workspace_model *m_workspace_model; |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
358 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
359 QHash<QMenu*, QStringList> m_hash_menu_text; |
18944
b2c4d6d461f0
fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents:
18717
diff
changeset
|
360 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
361 //! Toolbar. |
24109
1d6c940a1b37
doc: Improve Doxygen documentation for some files in libgui.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24019
diff
changeset
|
362 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
363 QStatusBar *m_status_bar; |
16448
47fe533ec85b
avoid using new for status bar and workspace_model objects
John W. Eaton <jwe@octave.org>
parents:
16447
diff
changeset
|
364 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
365 //! Dock widgets. |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
366 //!@{ |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
367 terminal_dock_widget *m_command_window; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
368 history_dock_widget *m_history_window; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
369 files_dock_widget *m_file_browser_window; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
370 documentation_dock_widget *m_doc_browser_window; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
371 file_editor_interface *m_editor_window; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
372 workspace_view *m_workspace_window; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
373 variable_editor *m_variable_editor_window; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
374 //!@} |
20278
3b25741a9927
Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents:
20186
diff
changeset
|
375 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
376 external_editor_interface *m_external_editor; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
377 QWidget *m_active_editor; |
23385
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
378 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
379 octave_dock_widget *m_active_dock; |
20278
3b25741a9927
Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents:
20186
diff
changeset
|
380 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
381 QString m_release_notes_icon; |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
382 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
383 QToolBar *m_main_tool_bar; |
17619
4288b90f18c4
icons for news and release notes widgets
Torsten <ttl@justmail.de>
parents:
17599
diff
changeset
|
384 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
385 QMenu *m_debug_menu; |
17599
f5950975a172
community news dock widget and other user info in GUI
John W. Eaton <jwe@octave.org>
parents:
17509
diff
changeset
|
386 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
387 QAction *m_debug_continue; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
388 QAction *m_debug_step_into; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
389 QAction *m_debug_step_over; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
390 QAction *m_debug_step_out; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
391 QAction *m_debug_quit; |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
392 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
393 QAction *m_new_script_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
394 QAction *m_new_function_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
395 QAction *m_open_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
396 QAction *m_new_figure_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
397 QAction *m_load_workspace_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
398 QAction *m_save_workspace_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
399 QAction *m_preferences_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
400 QAction *m_exit_action; |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
401 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
402 QAction *m_copy_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
403 QAction *m_paste_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
404 QAction *m_clear_clipboard_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
405 QAction *m_undo_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
406 QAction *m_clear_command_window_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
407 QAction *m_clear_command_history_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
408 QAction *m_clear_workspace_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
409 QAction *m_find_files_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
410 QAction *m_select_all_action; |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16798
diff
changeset
|
411 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
412 QAction *m_show_command_window_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
413 QAction *m_show_history_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
414 QAction *m_show_workspace_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
415 QAction *m_show_file_browser_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
416 QAction *m_show_editor_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
417 QAction *m_show_documentation_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
418 QAction *m_show_variable_editor_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
419 QAction *m_command_window_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
420 QAction *m_history_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
421 QAction *m_workspace_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
422 QAction *m_file_browser_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
423 QAction *m_editor_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
424 QAction *m_documentation_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
425 QAction *m_variable_editor_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
426 QAction *m_reset_windows_action; |
18707
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
427 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
428 QAction *m_ondisk_doc_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
429 QAction *m_online_doc_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
430 QAction *m_report_bug_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
431 QAction *m_octave_packages_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
432 QAction *m_contribute_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
433 QAction *m_developer_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
434 QAction *m_about_octave_action; |
18710
584b20e9112c
use shortcut manager for the main help menu
Torsten <ttl@justmail.de>
parents:
18707
diff
changeset
|
435 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
436 QAction *m_release_notes_action; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
437 QAction *m_current_news_action; |
18711
9ef65c422f53
use shortcut manager for the main news menu
Torsten <ttl@justmail.de>
parents:
18710
diff
changeset
|
438 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
439 //! For Toolbars. |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
440 //!@{ |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
441 QComboBox *m_current_directory_combo_box; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
442 static const int current_directory_max_visible = 16; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
443 static const int current_directory_max_count = 16; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
444 QLineEdit *m_current_directory_line_edit; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
445 //!@} |
14670
7fbea449737d
Restructured menus, added toolbar and current directory line edit.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14602
diff
changeset
|
446 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
447 //! Settings dialog as guarded pointer (set to 0 when deleted). |
24109
1d6c940a1b37
doc: Improve Doxygen documentation for some files in libgui.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24019
diff
changeset
|
448 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
449 QPointer<settings_dialog> m_settings_dlg; |
19632
101ce4eaa56c
prevent opening the settings dialog multiple times
Torsten <ttl@justmail.de>
parents:
19631
diff
changeset
|
450 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
451 //! Find files dialog. |
24109
1d6c940a1b37
doc: Improve Doxygen documentation for some files in libgui.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24019
diff
changeset
|
452 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
453 find_files_dialog *m_find_files_dlg; |
16519
3e8fd0c479b4
Add find files implemtation to main window menu
John Donoghue <john.donoghue@ieee.org>
parents:
16514
diff
changeset
|
454 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
455 //! Release notes window. |
24109
1d6c940a1b37
doc: Improve Doxygen documentation for some files in libgui.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24019
diff
changeset
|
456 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
457 QWidget *m_release_notes_window; |
17883
3851e5fde76d
GUI: allow only one release notes windows to be open
John Donoghue <john.donoghue@ieee.org>
parents:
17827
diff
changeset
|
458 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
459 QWidget *m_community_news_window; |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
460 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
461 octave_qt_link *m_octave_qt_link; |
16421
40d1ddca4db5
improve use of octave_link
John W. Eaton <jwe@octave.org>
parents:
16413
diff
changeset
|
462 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
463 QClipboard *m_clipboard; |
17117
47b504503a3f
disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents:
17029
diff
changeset
|
464 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
465 //! Command queue and semaphore to synchronize execution signals and |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
466 //! related callbacks. |
17329
352b442a72a5
queue and synchronize mutliple commands executed fro history (bug #39723)
Torsten <ttl@justmail.de>
parents:
17291
diff
changeset
|
467 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
468 octave_command_queue m_cmd_queue; |
18250
0da2e7051778
synchronize gui's debug actions with the octave core thread (bug #41139)
Torsten <ttl@justmail.de>
parents:
18031
diff
changeset
|
469 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
470 //! Some class global flags. |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
471 //!@{ |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
472 bool m_prevent_readline_conflicts; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
473 bool m_suppress_dbg_location; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
474 bool m_start_gui; |
23385
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
475 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
476 //! Flag for closing the whole application. |
24109
1d6c940a1b37
doc: Improve Doxygen documentation for some files in libgui.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24019
diff
changeset
|
477 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
478 bool m_closing; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
479 //!@} |
24109
1d6c940a1b37
doc: Improve Doxygen documentation for some files in libgui.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24019
diff
changeset
|
480 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
481 QString m_file_encoding; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
482 }; |
13501 | 483 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
484 class news_reader : public QObject |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
485 { |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
486 Q_OBJECT |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
487 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
488 public: |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
489 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
490 news_reader (const QString& base_url, const QString& page, |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
491 int serial = -1, bool connect_to_web = false) |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
492 : QObject (), m_base_url (base_url), m_page (page), m_serial (serial), |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
493 m_connect_to_web (connect_to_web) |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
494 { } |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
495 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
496 public slots: |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
497 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
498 void process (void); |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
499 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
500 signals: |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
501 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
502 void display_news_signal (const QString& news); |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
503 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
504 void finished (void); |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
505 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
506 private: |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
507 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
508 QString m_base_url; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
509 QString m_page; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
510 int m_serial; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
511 bool m_connect_to_web; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
512 }; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
513 } |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
514 |
20945
9d9270e2f98f
eliminate comments after preprocessor conditionals
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
515 #endif |