Mercurial > octave
annotate libgui/src/main-window.h @ 29503:3bfec185c9e2
experimental command window widget with server loop
This changeset provides a new experimental proof-of-concept
cross-platform command window. It is intended to demonstrate how
communication between the GUI command window and the Octave
interpreter can work when the GUI is completely responsible for user
input instead of having the interpreter wait for input inside
readline.
This initial implementation uses a simple text box for input and a
separate text edit area for output. This design is not intended to be
the final arrangement, but was easy to implement for demonstration
purposes. These changes also make it possible to run the command-line
version of Octave in a similar client-server mode with a function
gathering input in one thread and the Octave intepreter running in
another.
The new command window is not intended to provide a general-purpose
terminal window. So running something like "system ('emacs')" will not
bring up an instance of Emacs running in the command window. This
also means that it will no longer be possible to use an external
output pager such as "less" in the command window. OTOH, it is also
no longer necessary to fork and exec a separate process on some Unixy
systems when Octave starts solely to give up the controlling terminal
so that "less" will function properly.
With the new terminal window, it is now possible to start Octave in
command line mode and later open the GUI desktop window and then
return to the command line when the GUI window is closed.
Some things that need to be finished:
* Merge the input and output windows so that command input and
output are interleaved as they are in a normal command window.
* Provide real readline command editing in the GUI command window and at
the client-server CLI prompt. We can use the readline callback
interface for the GUI and the normal readline interface for the
CLI. With this design, the command widget and the CLI front end
hold a copy of the command history. They do not need to
communicate with the interpreter to navigate the command history.
* Create interpreter_event messages for handling user input so that
the interpreter can ask the GUI to gather user input for functions
like "input".
* Consider passing results back to the command widget as
octave_value objects and allowing the command widget to format and
display them instead of passing formatted text from the
interpreter to the command widget.
* Provide an output pager feature for the GUI command window? Maybe
this feature is not necessary since we have scroll bars in the GUI
and we can also have the GUI ask the user whether to display
output if it is large.
ChangeLog:
* options-usage.h (usage_string, octave_print_verbose_usage_and_exit):
Include --experimental-terminal-widget in list of options.
(EXPERIMENTAL_TERMINAL_WIDGET_OPTION): New macro.
(long_opts): Include "experimental-terminal-widget" in the list.
* octave.h, octave.cc (cmdline_options::cmdline_options):
Handle EXPERIMENTAL_TERMINAL_WIDGET_OPTION.
(cmdline_options::m_experimental_terminal_widget): New data member.
(application::experimental_terminal_widget,
cmdline_options::experimental_terminal_widget
interpreter::experimental_terminal_widget): New functions.
* main.in.cc (fork_and_exec): New static variable.
(main): Don't fork and exec if argv includes
--experimental-terminal-widget.
* interpreter-qobject.h, interpreter-qobject.cc
(interpreter_qobject::pause, interpreter_qobject::stop,
interpreter_qobject::resume): New functions.
(interpreter_qobject::execute): Don't set prompt strings here if using
the new terminal widget. If using the new terminal widget, call
interpreter::shutdown and emit the shutdown_finished signal after
interpreter::execute returns.
(interpreter_qobject::shutdown): Don't do anything if using the new
terminal widget.
* main-window.h, main-window.cc (main_window::handle_octave_ready):
Set interpreter prompt strings here if using the new terminal widget.
(main_window::close_gui_signal): New signal.
(main_window::closeEvent): If using new terminal widget and shutdown
is confirmed, simply emit close_gui_signal.
(main_window::construct_octave_qt_link): If using new terminal widget,
connect qt_interpreter_events::interpreter_output_signal to the
terminal_dock_widget::interpreter_output slot and the
qt_interpreter_events::update_prompt_signal to the
terminal_dock_widget::update_prompt slot.
* octave-qobject.h, octave-qobject.cc
(base_qobject::interpreter_pause, base_qobject::interpreter_stop,
base_qobject::interpreter_resume): New functions.
(base_qobject::base_qobject): If using new terminal widget:
Don't connect interpreter_qobject::execution_finished signal to
octave_qobject::handle_interpreter_execution_finished slot
Don't connect octave_qobject::request_interpreter_shutdown signal to
the interpreter_qobject::shutdown slot.
Do connect the qt_interpreter_events::start_gui_signal signal to the
octave_qobject::start_gui slot and simply reload settings and call
qt_application::setQuitOnLastWindowClosed. There is no need to create
the main window here.
(base_qobject::exec): If using new terminal widget, wait for main
thread to finish after qt_application::exec returns.
(base_qojbect::experimental_terminal_widget,
base_qobject::gui_running): New functions.
(base_qojbect::start_gui, base_qojbect::close_gui,
base_qojbect::interpreter_pause, base_qojbect::interpreter_stop,
base_qojbect::interpreter_resume): New slots.
(base_qojbect::handle_interpreter_execution_finished): Do nothing if
using new terminal widget.
* qt-application.cc (qt_application::start_gui_p): Return dummy value
if using new terminal widget.
* qt-interpreter-events.h, qt-interpreter-events.cc
(qt_interpreter_events::start_gui, qt_interpreter_events::close_gui,
qt_interpreter_events::interpreter_output,
qt_interpreter_events::display_exception,
qt_interpreter_events::update_prompt): New functions.
(qt_interpreter_events::start_gui_signal,
qt_interpreter_events::close_gui_signal,
qt_interpreter_events::update_prompt_signal,
qt_interpreter_events::interpreter_output_signal): New signals.
* command-widget.h, command-widget.cc: New files.
* libgui/src/module.mk: Update.
* terminal-dock-widget.h, terminal-dock-widget.cc
(terminal_dock_widget::m_experimental_terminal_widget):
New data member.
(terminal_dock_widget::terminal_dock_widget): Optionally create and
use new terminal widget. If using new terminal widget, connect
command_widget::interpreter_event signals to
terminal_dock_widget::interpreter_event signals.
(terminal_dock_widget::interpreter_output,
terminal_dock_widget::update_prompt): New slots.
(terminal_dock_widget::update_prompt_signal,
terminal_dock_widget::interpreter_output_signal): New signals.
* event-manager.h, event-manager.cc (Fdesktop): New function.
(interpreter_events::start_gui, interpreter_events::close_gui,
interpreter_events::update_prompt): New virtual functions.
(interpreter_events::confirm_shutdown): Return true.
(event_manager::start_gui, event_manager::close_gui,
event_manager::update_prompt): New functions.
* interpreter.h, interpreter.cc (interpreter::initialize): If using
new terminal widget, only display startup message if not initially
starting GUI.
(class cli_input_reader): New class.
(interpreter::experimental_terminal_widget,
interpreter::get_line_and_eval): New functions.
(interpreter::execute): If using new terminal widget, start GUI or
command line reader and then enter server loop.
* pt-eval.cc (tree_evaluator::server_loop): Reset parser at top of loop.
also catch exit exception.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 25 Mar 2021 23:06:40 -0400 |
parents | a0eb1ae33192 |
children | 8dd0fca2a3d9 |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 //////////////////////////////////////////////////////////////////////// |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 // |
29358
0a5b15007766
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
29147
diff
changeset
|
3 // Copyright (C) 2011-2021 The Octave Project Developers |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
4 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 // See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 // distribution or <https://octave.org/copyright/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
7 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
8 // This file is part of Octave. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
9 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
10 // Octave is free software: you can redistribute it and/or modify it |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
11 // under the terms of the GNU General Public License as published by |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
12 // the Free Software Foundation, either version 3 of the License, or |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
13 // (at your option) any later version. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
14 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
15 // Octave is distributed in the hope that it will be useful, but |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
16 // WITHOUT ANY WARRANTY; without even the implied warranty of |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
18 // GNU General Public License for more details. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
19 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
20 // You should have received a copy of the GNU General Public License |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
21 // along with Octave; see the file COPYING. If not, see |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
22 // <https://www.gnu.org/licenses/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 //////////////////////////////////////////////////////////////////////// |
13501 | 25 |
20791
f7084eae3318
maint: Use Octave coding conventions for #if statements.
Rik <rik@octave.org>
parents:
20278
diff
changeset
|
26 #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
|
27 #define octave_main_window_h 1 |
13501 | 28 |
14599
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
29 // Qt includes |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27409
diff
changeset
|
30 #include <QCloseEvent> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27409
diff
changeset
|
31 #include <QComboBox> |
17827
2de613986374
include Qt files with <QFoo> instead of <QtGui/QFoo> (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
17822
diff
changeset
|
32 #include <QMainWindow> |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27409
diff
changeset
|
33 #include <QPointer> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27409
diff
changeset
|
34 #include <QQueue> |
13501 | 35 #include <QStatusBar> |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27409
diff
changeset
|
36 #include <QTabWidget> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27409
diff
changeset
|
37 #include <QThread> |
13501 | 38 #include <QToolBar> |
14670
7fbea449737d
Restructured menus, added toolbar and current directory line edit.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14602
diff
changeset
|
39 #include <QToolButton> |
25944
ceb508ea92ee
refactor GUI main_window class
John W. Eaton <jwe@octave.org>
parents:
25938
diff
changeset
|
40 #include <QTranslator> |
14599
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
41 |
14676
35512b788af2
Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14674
diff
changeset
|
42 // Editor includes |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27409
diff
changeset
|
43 #include "external-editor-interface.h" |
14707
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
44 #include "file-editor-interface.h" |
14599
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 // QTerminal includes |
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
47 #include "QTerminal.h" |
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
48 |
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
49 // 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
|
50 #include "dialog.h" |
22089
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
51 #include "documentation-dock-widget.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
52 #include "files-dock-widget.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
53 #include "find-files-dialog.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
54 #include "history-dock-widget.h" |
27302
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27298
diff
changeset
|
55 #include "interpreter-qobject.h" |
29061
8a425e771aa7
use a led like indicator for the prfiler state
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29057
diff
changeset
|
56 #include "led-indicator.h" |
22089
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
57 #include "octave-dock-widget.h" |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
58 #include "octave-qobject.h" |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27255
diff
changeset
|
59 #include "qt-interpreter-events.h" |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27409
diff
changeset
|
60 #include "set-path-dialog.h" |
22089
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
61 #include "terminal-dock-widget.h" |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
62 #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
|
63 #include "workspace-model.h" |
14707
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
64 #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
|
65 |
24641
7d177be54c37
pass variable value to variable editor in addition to variable name
John W. Eaton <jwe@octave.org>
parents:
24632
diff
changeset
|
66 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
|
67 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
68 namespace octave |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
69 { |
27302
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27298
diff
changeset
|
70 class interpreter; |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27298
diff
changeset
|
71 |
25954
f2406585a974
move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
25944
diff
changeset
|
72 class settings_dialog; |
f2406585a974
move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
25944
diff
changeset
|
73 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
74 //! 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
|
75 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
76 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
|
77 { |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
78 Q_OBJECT |
16446
4b3a4bf8569b
improve encapsulation of command window object
John W. Eaton <jwe@octave.org>
parents:
16445
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 public: |
16446
4b3a4bf8569b
improve encapsulation of command window object
John W. Eaton <jwe@octave.org>
parents:
16445
diff
changeset
|
81 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
82 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
|
83 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
|
84 |
27588
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27556
diff
changeset
|
85 main_window (base_qobject& oct_qobj); |
16446
4b3a4bf8569b
improve encapsulation of command window object
John W. Eaton <jwe@octave.org>
parents:
16445
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 ~main_window (void); |
13501 | 88 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
89 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
|
90 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
91 void focus_command_window (void); |
16449
c129a8b73d25
avoid unneeded signals for window focus
John W. Eaton <jwe@octave.org>
parents:
16448
diff
changeset
|
92 |
27588
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27556
diff
changeset
|
93 bool confirm_shutdown (void); |
f0e3f3e28a8e
move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents:
27556
diff
changeset
|
94 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
95 signals: |
19422
476032040df9
determining the active dock from focus changes in the gui
Torsten <ttl@justmail.de>
parents:
19303
diff
changeset
|
96 |
29503
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29452
diff
changeset
|
97 // Note: CLOSE_GUI_SIGNAL is currently only used by the new |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29452
diff
changeset
|
98 // experimental terminal widget. |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29452
diff
changeset
|
99 void close_gui_signal (void); |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29452
diff
changeset
|
100 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
101 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
|
102 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
|
103 |
27611
0495b64288f7
use new gui_settings class instead of using QSettings directly
John W. Eaton <jwe@octave.org>
parents:
27601
diff
changeset
|
104 void settings_changed (const gui_settings *); |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
105 void init_terminal_size_signal (void); |
29199
0b18887bc997
simplify initialization of gui dock widgets
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29148
diff
changeset
|
106 void init_window_menu (void); |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
107 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
|
108 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
|
109 void open_file_signal (const QString& file, const QString& enc, int line); |
26873
9ec36417c262
debug step starts script if not already running in debug mode (bug #44728)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26376
diff
changeset
|
110 void step_into_file_signal (void); |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
111 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
112 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
|
113 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
|
114 void unregister_doc_signal (const QString&); |
28788
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27923
diff
changeset
|
115 void update_gui_lexer_signal (bool); |
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
|
116 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
117 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
|
118 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
|
119 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
|
120 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
|
121 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
122 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
|
123 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
|
124 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
|
125 void undo_signal (void); |
16648
b04413e5a811
improve handling of interrupts, copy and paste shortcuts
John W. Eaton <jwe@octave.org>
parents:
16642
diff
changeset
|
126 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
127 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
|
128 |
27653
3564d3999960
fix message box when trying to open a non-existant function in the editor
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
129 void warning_function_not_found_signal (const QString& message); |
3564d3999960
fix message box when trying to open a non-existant function in the editor
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
130 |
27302
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27298
diff
changeset
|
131 void interpreter_event (const fcn_callback& fcn); |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27298
diff
changeset
|
132 void interpreter_event (const meth_callback& meth); |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27298
diff
changeset
|
133 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
134 public slots: |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16798
diff
changeset
|
135 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
136 void focus_changed (QWidget *w_old, QWidget *w_new); |
27669
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27653
diff
changeset
|
137 void focus_window (const QString& win_name); |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
138 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
|
139 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
140 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
|
141 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
|
142 void handle_load_workspace_request (const QString& file = QString ()); |
25408
ce725103ebf1
Fallback to open.m for opening files in the gui file browser (bug #50543)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25407
diff
changeset
|
143 void handle_open_any_request (const QString& file = QString ()); |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
144 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
|
145 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
|
146 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
|
147 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
|
148 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
|
149 const QString& new_name); |
27308
401a7cda7c9e
add possibility for adding dir with subdirectories to load path dialog
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27302
diff
changeset
|
150 void modify_path (const octave_value_list& dir_list, bool rm, bool subdirs); |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
151 void edit_mfile (const QString&, int); |
25742
d3c6de326bae
close/reload editor tab when file is (re)moved in gui terminal (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25723
diff
changeset
|
152 void file_remove_proxy (const QString& o, const QString& n); |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
153 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
|
154 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
|
155 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
|
156 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
|
157 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
|
158 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
|
159 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
|
160 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
|
161 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
|
162 = QString ()); |
20113
c36f2b083613
make copying figures to clipboard work (bug #44866)
John W. Eaton <jwe@octave.org>
parents:
19949
diff
changeset
|
163 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
164 void show_about_octave (void); |
29000
8a05763823d1
avoid possible infinite loop when default encoding is changed (bug #59331)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27923
diff
changeset
|
165 void notice_settings (const gui_settings *settings, |
8a05763823d1
avoid possible infinite loop when default encoding is changed (bug #59331)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27923
diff
changeset
|
166 bool update_by_worker = false); |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
167 void prepare_to_exit (void); |
27860
cbd4d97100b3
add action and shortcut for switching to previews widget (bug #57447)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27669
diff
changeset
|
168 void go_to_previous_widget (void); |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
169 void reset_windows (void); |
29450
6448a10a642a
fix restoring the horizontal position of docked gui widgets (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29358
diff
changeset
|
170 void do_reset_windows (bool show = true, bool save = true); |
16437
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16431
diff
changeset
|
171 |
27409
a0d49e55acae
rename change_directory to directory_changed in event manager
John W. Eaton <jwe@octave.org>
parents:
27311
diff
changeset
|
172 void update_octave_directory (const QString& dir); |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
173 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
|
174 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
|
175 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
|
176 void accept_directory_line_edit (void); |
13501 | 177 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
178 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
|
179 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
|
180 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
181 void handle_new_figure_request (void); |
16566 | 182 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
183 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
|
184 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
|
185 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
|
186 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
|
187 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
|
188 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
|
189 void debug_quit (void); |
29439
fe06fafb4cac
fix en-/disabling some editor actions depending on file type (bug #60214)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29359
diff
changeset
|
190 void editor_tabs_changed (bool, bool); |
14726
e94a54ee0f46
Added debug events, debug mode detection and fixed compiling error.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14721
diff
changeset
|
191 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
192 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
|
193 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
|
194 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
|
195 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
|
196 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
|
197 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
198 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
|
199 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
|
200 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
|
201 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 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
|
203 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
204 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
|
205 void init_terminal_size (void); |
27611
0495b64288f7
use new gui_settings class instead of using QSettings directly
John W. Eaton <jwe@octave.org>
parents:
27601
diff
changeset
|
206 void set_window_layout (gui_settings *settings); |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
207 void write_settings (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
|
208 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
209 void copyClipboard (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
210 void pasteClipboard (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
211 void selectAll (void); |
16648
b04413e5a811
improve handling of interrupts, copy and paste shortcuts
John W. Eaton <jwe@octave.org>
parents:
16642
diff
changeset
|
212 |
29057
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29040
diff
changeset
|
213 void handle_gui_status_update (const QString& feature, const QString& status); |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29040
diff
changeset
|
214 |
27556
410622ac120f
improve run selection from editor (bug #42705)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27412
diff
changeset
|
215 void focus_console_after_command (void); |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
216 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
|
217 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
|
218 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
|
219 |
29040
05b8ad7b67e8
gui menu for handling the profile (based on patch #8300 by Hassan Radi)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29001
diff
changeset
|
220 void profiler_session (void); |
05b8ad7b67e8
gui menu for handling the profile (based on patch #8300 by Hassan Radi)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29001
diff
changeset
|
221 void profiler_session_resume (void); |
05b8ad7b67e8
gui menu for handling the profile (based on patch #8300 by Hassan Radi)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29001
diff
changeset
|
222 void profiler_stop (void); |
05b8ad7b67e8
gui menu for handling the profile (based on patch #8300 by Hassan Radi)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29001
diff
changeset
|
223 void handle_profiler_status_update (bool); |
05b8ad7b67e8
gui menu for handling the profile (based on patch #8300 by Hassan Radi)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29001
diff
changeset
|
224 void profiler_show (void); |
05b8ad7b67e8
gui menu for handling the profile (based on patch #8300 by Hassan Radi)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29001
diff
changeset
|
225 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
226 void handle_octave_ready (); |
18309
024940bd5b77
gui: provide prefernces for the octave directory at startup
Torsten <ttl@justmail.de>
parents:
18253
diff
changeset
|
227 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
27287
diff
changeset
|
228 void handle_set_path_dialog_request (void); |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
27287
diff
changeset
|
229 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
230 //! Find files dialog. |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
231 //!@{ |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
232 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
|
233 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
|
234 //!@} |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16798
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 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
|
237 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
238 //! Handling the clipboard. |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
239 //!@{ |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
240 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
|
241 void clear_clipboard (); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
242 //!@} |
17117
47b504503a3f
disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents:
17029
diff
changeset
|
243 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
244 //! 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
|
245 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
246 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
|
247 { |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
248 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
|
249 } |
17117
47b504503a3f
disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents:
17029
diff
changeset
|
250 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
251 private slots: |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
252 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
253 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
|
254 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
|
255 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
|
256 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
|
257 |
27653
3564d3999960
fix message box when trying to open a non-existant function in the editor
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
258 void warning_function_not_found (const QString& message); |
3564d3999960
fix message box when trying to open a non-existant function in the editor
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
259 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
260 //! 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
|
261 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
262 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
|
263 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
264 void refresh_variable_editor (void); |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
265 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
266 void handle_variable_editor_update (void); |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
267 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
268 protected: |
24019
fc4ba8b1ff87
style fixes for GUI main window
John W. Eaton <jwe@octave.org>
parents:
23979
diff
changeset
|
269 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
270 void closeEvent (QCloseEvent *closeEvent); |
13501 | 271 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
272 private: |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
273 |
25944
ceb508ea92ee
refactor GUI main_window class
John W. Eaton <jwe@octave.org>
parents:
25938
diff
changeset
|
274 void construct_central_widget (void); |
ceb508ea92ee
refactor GUI main_window class
John W. Eaton <jwe@octave.org>
parents:
25938
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 construct (void); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
277 |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
278 void construct_octave_qt_link (void); |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
279 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
280 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
|
281 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
|
282 const QWidget *receiver = nullptr); |
18697
908523bd79b4
use shortcut manager for the debug menu
Torsten <ttl@justmail.de>
parents:
18684
diff
changeset
|
283 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
284 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
|
285 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
|
286 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
|
287 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
|
288 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
|
289 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
|
290 const char *member); |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
291 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
|
292 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
|
293 bool checkable, QWidget*); |
29068
d8089b13d4d7
add shortcuts for the new profiler actions in the gui
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29061
diff
changeset
|
294 void construct_tools_menu (QMenuBar *p); |
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_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
|
296 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
|
297 void construct_documentation_menu (QMenu *p); |
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 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
|
300 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
301 void construct_tool_bar (void); |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
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 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
|
304 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
305 QList<octave_dock_widget *> dock_widget_list (void); |
27302
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27298
diff
changeset
|
306 |
27270
47f42ad90b0b
Restore mfile_encoding on startup from GUI settings.
Markus Mützel <markus.muetzel@gmx.de>
parents:
27263
diff
changeset
|
307 void update_default_encoding (const QString& default_encoding); |
18717
f017240310fb
disabling global shortcuts when terminal has focus as user preference
Torsten <ttl@justmail.de>
parents:
18711
diff
changeset
|
308 |
29144
7220b59c490b
clean up constructing main window layout of the gui
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29000
diff
changeset
|
309 void get_screen_geometry (int *width, int *height); |
7220b59c490b
clean up constructing main window layout of the gui
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29000
diff
changeset
|
310 void set_default_geometry (void); |
29147
5d7a651bf0bb
fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29144
diff
changeset
|
311 void resize_dock (QDockWidget *dw, int width, int height); |
29144
7220b59c490b
clean up constructing main window layout of the gui
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29000
diff
changeset
|
312 |
27218
a044202208af
more refactoring of GUI classes that manage the interpreter
John W. Eaton <jwe@octave.org>
parents:
27217
diff
changeset
|
313 base_qobject& m_octave_qobj; |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
314 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
315 workspace_model *m_workspace_model; |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
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 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
|
318 |
25702
bd30c6f8cfb7
update internal __mfile_encoding__ when gui default encoding changes (bug #54310)
Torsten <mttl@mailbox.org>
parents:
25700
diff
changeset
|
319 QString m_default_encoding; |
bd30c6f8cfb7
update internal __mfile_encoding__ when gui default encoding changes (bug #54310)
Torsten <mttl@mailbox.org>
parents:
25700
diff
changeset
|
320 |
26227
2355f66cf91d
allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents:
25954
diff
changeset
|
321 QString m_default_style; |
2355f66cf91d
allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents:
25954
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 //! Toolbar. |
24109
1d6c940a1b37
doc: Improve Doxygen documentation for some files in libgui.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24019
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 QStatusBar *m_status_bar; |
29061
8a425e771aa7
use a led like indicator for the prfiler state
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29057
diff
changeset
|
326 led_indicator *m_profiler_status_indicator; |
16448
47fe533ec85b
avoid using new for status bar and workspace_model objects
John W. Eaton <jwe@octave.org>
parents:
16447
diff
changeset
|
327 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
328 //! Dock widgets. |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
329 //!@{ |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
330 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
|
331 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
|
332 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
|
333 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
|
334 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
|
335 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
|
336 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
|
337 //!@} |
20278
3b25741a9927
Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents:
20186
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 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
|
340 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
|
341 |
27860
cbd4d97100b3
add action and shortcut for switching to previews widget (bug #57447)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27669
diff
changeset
|
342 octave_dock_widget *m_previous_dock; |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
343 octave_dock_widget *m_active_dock; |
20278
3b25741a9927
Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents:
20186
diff
changeset
|
344 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
345 QString m_release_notes_icon; |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
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 QToolBar *m_main_tool_bar; |
17619
4288b90f18c4
icons for news and release notes widgets
Torsten <ttl@justmail.de>
parents:
17599
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 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
|
350 |
29085
3b29d72645a9
fix alt-key stealing focus from current dock widget in gui
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29084
diff
changeset
|
351 QMenuBar *m_editor_menubar; |
3b29d72645a9
fix alt-key stealing focus from current dock widget in gui
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29084
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 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
|
354 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
|
355 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
|
356 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
|
357 QAction *m_debug_quit; |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
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 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
|
360 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
|
361 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
|
362 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
|
363 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
|
364 QAction *m_save_workspace_action; |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
27287
diff
changeset
|
365 QAction *m_set_path_action; |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
366 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
|
367 QAction *m_exit_action; |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
368 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
369 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
|
370 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
|
371 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
|
372 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
|
373 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
|
374 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
|
375 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
|
376 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
|
377 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
|
378 |
29040
05b8ad7b67e8
gui menu for handling the profile (based on patch #8300 by Hassan Radi)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29001
diff
changeset
|
379 QAction *m_profiler_start; |
05b8ad7b67e8
gui menu for handling the profile (based on patch #8300 by Hassan Radi)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29001
diff
changeset
|
380 QAction *m_profiler_resume; |
05b8ad7b67e8
gui menu for handling the profile (based on patch #8300 by Hassan Radi)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29001
diff
changeset
|
381 QAction *m_profiler_stop; |
05b8ad7b67e8
gui menu for handling the profile (based on patch #8300 by Hassan Radi)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29001
diff
changeset
|
382 QAction *m_profiler_show; |
05b8ad7b67e8
gui menu for handling the profile (based on patch #8300 by Hassan Radi)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29001
diff
changeset
|
383 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
384 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
|
385 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
|
386 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
|
387 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
|
388 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
|
389 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
|
390 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
|
391 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
|
392 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
|
393 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
|
394 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
|
395 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
|
396 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
|
397 QAction *m_variable_editor_action; |
27860
cbd4d97100b3
add action and shortcut for switching to previews widget (bug #57447)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27669
diff
changeset
|
398 QAction *m_previous_dock_action; |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
399 QAction *m_reset_windows_action; |
18707
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
400 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
401 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
|
402 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
|
403 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
|
404 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
|
405 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
|
406 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
|
407 QAction *m_about_octave_action; |
18710
584b20e9112c
use shortcut manager for the main help menu
Torsten <ttl@justmail.de>
parents:
18707
diff
changeset
|
408 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
409 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
|
410 QAction *m_current_news_action; |
18711
9ef65c422f53
use shortcut manager for the main news menu
Torsten <ttl@justmail.de>
parents:
18710
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 //! For Toolbars. |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
413 //!@{ |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
414 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
|
415 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
|
416 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
|
417 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
|
418 //!@} |
14670
7fbea449737d
Restructured menus, added toolbar and current directory line edit.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14602
diff
changeset
|
419 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
420 //! 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
|
421 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
422 QPointer<settings_dialog> m_settings_dlg; |
19632
101ce4eaa56c
prevent opening the settings dialog multiple times
Torsten <ttl@justmail.de>
parents:
19631
diff
changeset
|
423 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
424 //! 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
|
425 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
426 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
|
427 |
27298
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
27287
diff
changeset
|
428 //! Set path dialog |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
27287
diff
changeset
|
429 QPointer<set_path_dialog> m_set_path_dlg; |
1805f8586179
new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents:
27287
diff
changeset
|
430 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
431 //! 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
|
432 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
433 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
|
434 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
435 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
|
436 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
437 QClipboard *m_clipboard; |
17117
47b504503a3f
disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents:
17029
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 //! 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
|
440 //!@{ |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
441 bool m_prevent_readline_conflicts; |
29084
2a70a068c4ab
add option for using alt-modifer in command windows readline (bug #59478)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29068
diff
changeset
|
442 bool m_prevent_readline_conflicts_menu; |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
443 bool m_suppress_dbg_location; |
26873
9ec36417c262
debug step starts script if not already running in debug mode (bug #44728)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26376
diff
changeset
|
444 bool m_editor_has_tabs; |
29439
fe06fafb4cac
fix en-/disabling some editor actions depending on file type (bug #60214)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
29359
diff
changeset
|
445 bool m_editor_is_octave_file; |
23385
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
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 //! 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
|
448 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
449 bool m_closing; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
450 //!@} |
24109
1d6c940a1b37
doc: Improve Doxygen documentation for some files in libgui.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24019
diff
changeset
|
451 |
24715
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
452 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
|
453 }; |
88bb3f086d9a
move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24641
diff
changeset
|
454 } |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
455 |
20945
9d9270e2f98f
eliminate comments after preprocessor conditionals
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
456 #endif |