Mercurial > octave
annotate libgui/src/main-window.h @ 23927:e3a36f84d01d
provide variable-editor widget for the GUI
This patch is the work of
RĂ¼diger Sonderfeld <ruediger on savannah>
Philip Nienhuis
Michael Barnes <mjbcode@runbox.com>
jwe
* libgui/src/variable-editor.cc, libgui/src/variable-editor.h,
libgui/src/variable-editor-model.cc,
libgui/src/variable-editor-model.h:: New files.
* libgui/src/module.mk: Update.
* main-window.cc, main-window.h (main_window::main_window):
Initialize variable_editor_window.
(main_window::~main_window): Delete variable_editor_window.
(main_window::connect_uiwidget_links): Connect variable window signals
to octave_qt_link slots and callbacks. Add variable editor to menus.
(main_window::variable_editor_callback,
main_window::force_refresh_workspace, main_window::edit_variable,
main_window::clear_variable_editor_cache): New functions.
(main_window::configure_shortcuts): Also configure variable editor
shortcuts.
* resource-manager.cc, resource-manager.h (varedit_color_chars,
varedit_color_names, varedit_default_colors): New functions.
* settings-dialog.ui: New configuration info for variable editor.
* settings-dialog.cc, settings-dialog.h
(settings_dialog::read_varedit_colors,
settings_dialog::write_varedit_colors): New functions.
(settings_dialog::settings_dialog,
settings_dialog::write_changed_settings): Also handle settings for
variable editor.
* workspace-model.h (workspace_model::prompt_variable_editor):
New signal.
* workspace-view.cc, workspace-view.h
(workspace_view::workspace_view): Also connect eidt_variable_signal to
edit_variable slot.
(workspace_view::contextmenu_requested): Handle opening variabl in
variable editor.
(workspace_view::handle_contextmenu_edit): New function.
(workspace_view::edit_variable_signal): New signal.
* octave-link.cc, octave-link.h (Fopenvar): New function.
(octave_link::post_event, octave_link::do_post_event): New variants
for methods with two, three, or four arguments.
(octave_link::set_workspace): New argument, update_variable_editor.
(octave_link::openvar): New function.
(octave_link::do_openvar): New pure virtual.
* octave-qt-link.cc, octave-qt-link.h
(octave_qt_link::do_set_workspace): New argument,
update_variable_editor.
(octave_qt_link::do_set_workspace): Optionally emit
refresh_variable_editor signal
(octave_qt_link::do_openvar): New function.
(octave_qt_link::open_variable,
octave_qt_link::refresh_variable_editor): New signals.
* gui.txi: Document openvar.
* variables.cc, variables.h (symbol_exist): New function.
* action-container.h (action_container::method_arg2_elem,
action_container::method_arg3_elem,
action_container::method_arg4_elem): New classes.
(action_container::add_method): New variants for two, three, or four
arguments.
author | Michael Barnes <mjbcode@runbox.com> |
---|---|
date | Fri, 19 May 2017 18:15:48 +0200 |
parents | f45402b9dcc4 |
children | fb9b024a6041 |
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 |
23219
3ac9f9ecfae5
maint: Update copyright dates.
John W. Eaton <jwe@octave.org>
parents:
22599
diff
changeset
|
3 Copyright (C) 2013-2017 John W. Eaton |
22323
bac0d6f07a3e
maint: Update copyright notices for 2016.
John W. Eaton <jwe@octave.org>
parents:
22211
diff
changeset
|
4 Copyright (C) 2011-2016 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 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
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 |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22599
diff
changeset
|
10 the Free Software Foundation; either version 3 of the License, or |
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 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
20 <http://www.gnu.org/licenses/>. |
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 <QMdiArea> | |
32 #include <QStatusBar> | |
33 #include <QToolBar> | |
34 #include <QQueue> | |
13626
cc90c62ada21
Removed terminal, instead now using QPlainTextEdit, which looks much nicer and is not that error-prone...
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13614
diff
changeset
|
35 #include <QMdiSubWindow> |
14318
df86157a4912
Re-enable MSVC/Win32 compilation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
14308
diff
changeset
|
36 #include <QCloseEvent> |
14670
7fbea449737d
Restructured menus, added toolbar and current directory line edit.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14602
diff
changeset
|
37 #include <QToolButton> |
14700
7623bece76df
Implemented logic for current directory bar.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14695
diff
changeset
|
38 #include <QComboBox> |
19632
101ce4eaa56c
prevent opening the settings dialog multiple times
Torsten <ttl@justmail.de>
parents:
19631
diff
changeset
|
39 #include <QPointer> |
14599
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
40 |
14676
35512b788af2
Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14674
diff
changeset
|
41 // Editor includes |
14707
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
42 #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
|
43 #include "external-editor-interface.h" |
14599
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
44 |
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
45 // QTerminal includes |
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
46 #include "QTerminal.h" |
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
47 |
97cb9286919c
Cleaned up code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14588
diff
changeset
|
48 // 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
|
49 #include "dialog.h" |
22089
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
50 #include "documentation-dock-widget.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
51 #include "files-dock-widget.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
52 #include "find-files-dialog.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
53 #include "history-dock-widget.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
54 #include "octave-cmd.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
55 #include "octave-dock-widget.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
56 #include "octave-gui.h" |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
57 #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
|
58 #include "resource-manager.h" |
22089
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
59 #include "terminal-dock-widget.h" |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
60 #include "variable-editor.h" |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
61 #include "thread-manager.h" |
16445
3f8d3fc907af
store workspace model in main_window, not in workspace view
John W. Eaton <jwe@octave.org>
parents:
16438
diff
changeset
|
62 #include "workspace-model.h" |
14707
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
63 #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
|
64 |
19632
101ce4eaa56c
prevent opening the settings dialog multiple times
Torsten <ttl@justmail.de>
parents:
19631
diff
changeset
|
65 class settings_dialog; |
101ce4eaa56c
prevent opening the settings dialog multiple times
Torsten <ttl@justmail.de>
parents:
19631
diff
changeset
|
66 |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
67 class octave_interpreter : public QObject |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
68 { |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
69 Q_OBJECT |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
70 |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
71 public: |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
72 |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
73 // An object to manage the Octave interpreter. |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
74 |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
75 octave_interpreter (octave::application *app_context); |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
76 |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
77 ~octave_interpreter (void) = default; |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
78 |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
79 void interrupt (void); |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
80 |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
81 signals: |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
82 |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
83 void octave_ready_signal (); |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
84 |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
85 public slots: |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
86 |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
87 // Initialize and execute the octave interpreter. |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
88 |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
89 void execute (void); |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
90 |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
91 private: |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
92 |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
93 octave_thread_manager thread_manager; |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
94 |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
95 octave::application *m_app_context; |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
96 }; |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
97 |
13501 | 98 /** |
19006
96751a74bbbb
Start doxygenising sources
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
18944
diff
changeset
|
99 * @class MainWindow |
15367
501a9cc2c68f
maint: whitespace cleanup in GUI code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15300
diff
changeset
|
100 * |
501a9cc2c68f
maint: whitespace cleanup in GUI code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15300
diff
changeset
|
101 * Represents the main window. |
501a9cc2c68f
maint: whitespace cleanup in GUI code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15300
diff
changeset
|
102 */ |
15402
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
103 class main_window : public QMainWindow |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
104 { |
16446
4b3a4bf8569b
improve encapsulation of command window object
John W. Eaton <jwe@octave.org>
parents:
16445
diff
changeset
|
105 Q_OBJECT |
4b3a4bf8569b
improve encapsulation of command window object
John W. Eaton <jwe@octave.org>
parents:
16445
diff
changeset
|
106 |
4b3a4bf8569b
improve encapsulation of command window object
John W. Eaton <jwe@octave.org>
parents:
16445
diff
changeset
|
107 public: |
4b3a4bf8569b
improve encapsulation of command window object
John W. Eaton <jwe@octave.org>
parents:
16445
diff
changeset
|
108 |
16502
45ae1038ee89
allow renaming of variables in workspace viewer
John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
109 typedef std::pair <std::string, std::string> name_pair; |
19302
37159a873c96
preserve text on Windows terminal resize (bug #41893; patch #8532)
John W. Eaton <jwe@octave.org>
parents:
18944
diff
changeset
|
110 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
|
111 |
22089
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
112 main_window (QWidget *parent, octave::gui_application *app_context); |
16446
4b3a4bf8569b
improve encapsulation of command window object
John W. Eaton <jwe@octave.org>
parents:
16445
diff
changeset
|
113 |
16456
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
114 ~main_window (void); |
13501 | 115 |
16576
2754c5fd6ae0
keep focus in the command window after dbstop, dbstep, etc.
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
116 bool command_window_has_focus (void) const; |
2754c5fd6ae0
keep focus in the command window after dbstop, dbstep, etc.
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
117 |
16449
c129a8b73d25
avoid unneeded signals for window focus
John W. Eaton <jwe@octave.org>
parents:
16448
diff
changeset
|
118 void focus_command_window (void); |
c129a8b73d25
avoid unneeded signals for window focus
John W. Eaton <jwe@octave.org>
parents:
16448
diff
changeset
|
119 |
13536
869c62c15e95
Few minor improvements, added advanced settings for file browser.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13533
diff
changeset
|
120 signals: |
19422
476032040df9
determining the active dock from focus changes in the gui
Torsten <ttl@justmail.de>
parents:
19303
diff
changeset
|
121 |
476032040df9
determining the active dock from focus changes in the gui
Torsten <ttl@justmail.de>
parents:
19303
diff
changeset
|
122 void active_dock_changed (octave_dock_widget *, octave_dock_widget *); |
19429
be53bf420464
fix access to already removed editor window at exit
Torsten <ttl@justmail.de>
parents:
19422
diff
changeset
|
123 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
|
124 |
16413
28136851099a
remove _terminal pointer from main_window, it is contained by other Qt object
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16399
diff
changeset
|
125 void settings_changed (const QSettings *); |
19303
c6615ca0a11d
horizontal scrollbar for GUI terminal on Windows systems
John W. Eaton <jwe@octave.org>
parents:
19302
diff
changeset
|
126 void init_terminal_size_signal (void); |
16457
10edb6f1ae98
improve encapsulation of file editor window object
John W. Eaton <jwe@octave.org>
parents:
16456
diff
changeset
|
127 void new_file_signal (const QString&); |
10edb6f1ae98
improve encapsulation of file editor window object
John W. Eaton <jwe@octave.org>
parents:
16456
diff
changeset
|
128 void open_file_signal (const QString&); |
23385
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
129 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
|
130 |
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
|
131 void show_doc_signal (const QString&); |
359c5ca795cd
Display doc info pages using documentation browser when in GUI mode (Bug #39451)
John Donoghue <john.donoghue@ieee.org>
parents:
16970
diff
changeset
|
132 |
16576
2754c5fd6ae0
keep focus in the command window after dbstop, dbstep, etc.
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
133 void insert_debugger_pointer_signal (const QString& file, int line); |
2754c5fd6ae0
keep focus in the command window after dbstop, dbstep, etc.
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
134 void delete_debugger_pointer_signal (const QString& file, int line); |
2754c5fd6ae0
keep focus in the command window after dbstop, dbstep, etc.
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
135 void update_breakpoint_marker_signal (bool insert, const QString& file, |
21158
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21148
diff
changeset
|
136 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
|
137 |
16648
b04413e5a811
improve handling of interrupts, copy and paste shortcuts
John W. Eaton <jwe@octave.org>
parents:
16642
diff
changeset
|
138 void copyClipboard_signal (void); |
b04413e5a811
improve handling of interrupts, copy and paste shortcuts
John W. Eaton <jwe@octave.org>
parents:
16642
diff
changeset
|
139 void pasteClipboard_signal (void); |
18555
2d5d0d86432e
gui: Add select all menu (Bug #41797)
John Donoghue <john.donoghue@ieee.org>
parents:
18551
diff
changeset
|
140 void selectAll_signal (void); |
19945
f7a805f02723
link undo in main window to editor if the latter has focus (bug #44402)
Torsten <ttl@justmail.de>
parents:
19846
diff
changeset
|
141 void undo_signal (void); |
16648
b04413e5a811
improve handling of interrupts, copy and paste shortcuts
John W. Eaton <jwe@octave.org>
parents:
16642
diff
changeset
|
142 |
20186
ac3746f39fab
make action shortcuts available in floating widgets (bug #45078)
Torsten <ttl@justmail.de>
parents:
20113
diff
changeset
|
143 void add_actions_signal (QList <QAction *> action_list); |
ac3746f39fab
make action shortcuts available in floating widgets (bug #45078)
Torsten <ttl@justmail.de>
parents:
20113
diff
changeset
|
144 |
18665
777281eeb3d4
add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents:
18639
diff
changeset
|
145 public slots: |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16798
diff
changeset
|
146 |
19422
476032040df9
determining the active dock from focus changes in the gui
Torsten <ttl@justmail.de>
parents:
19303
diff
changeset
|
147 void focus_changed (QWidget *w_old, QWidget *w_new); |
19631
4e85ca0b4887
add apply button to the settings dialog (bug #44081)
Torsten <ttl@justmail.de>
parents:
19585
diff
changeset
|
148 void request_reload_settings (); |
19422
476032040df9
determining the active dock from focus changes in the gui
Torsten <ttl@justmail.de>
parents:
19303
diff
changeset
|
149 |
15300
fd27e10b9b05
pass QString by const reference instead of value
John W. Eaton <jwe@octave.org>
parents:
15204
diff
changeset
|
150 void report_status_message (const QString& statusMessage); |
16456
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
151 void handle_save_workspace_request (void); |
16504
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
152 void handle_load_workspace_request (const QString& file = QString ()); |
16514
db045633405c
Added clear command window implementation to MainWindow Clear COmmand Window menu.
John Donoghue <john.donoghue@ieee.org>
parents:
16512
diff
changeset
|
153 void handle_clear_command_window_request (void); |
16456
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
154 void handle_clear_workspace_request (void); |
16431
5982d469f79b
use signal for setting, appending to, and clearing history widget
John W. Eaton <jwe@octave.org>
parents:
16426
diff
changeset
|
155 void handle_clear_history_request (void); |
16502
45ae1038ee89
allow renaming of variables in workspace viewer
John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
156 void handle_rename_variable_request (const QString& old_name, |
45ae1038ee89
allow renaming of variables in workspace viewer
John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
157 const QString& new_name); |
16539
8ea8df0747e9
make undo button and menu item work for command window
John W. Eaton <jwe@octave.org>
parents:
16525
diff
changeset
|
158 void handle_undo_request (void); |
16452
744ff2fe11ce
add create script context menu to history window
John Donoghue <john.donoghue@ieee.org>
parents:
16451
diff
changeset
|
159 void new_file (const QString& commands = QString ()); |
23497
f45402b9dcc4
parse error messages clickable in gui console for opening the file (bug #35619)
Torsten <mttl@mailbox.org>
parents:
23457
diff
changeset
|
160 void open_file (const QString& file_name = QString (), int line = -1); |
20995
aab7a3c7168e
edit a file from an error message in the terminal (bug #35619)
Torsten <ttl@justmail.de>
parents:
20986
diff
changeset
|
161 void edit_mfile (const QString&, int); |
16456
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
162 void open_online_documentation_page (void); |
17599
f5950975a172
community news dock widget and other user info in GUI
John W. Eaton <jwe@octave.org>
parents:
17509
diff
changeset
|
163 void display_release_notes (void); |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
164 void load_and_display_community_news (int serial = -1); |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
165 void display_community_news (const QString& news); |
16456
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
166 void open_bug_tracker_page (void); |
17509 | 167 void open_octave_packages_page (void); |
168 void open_contribute_page (void); | |
22211
6065bd58db2b
use contribute/donate consistently in GUI (bug #44335)
Sahil Badyal <sbadyals@gmail.com>
parents:
22089
diff
changeset
|
169 void open_donate_page (void); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17764
diff
changeset
|
170 void process_settings_dialog_request (const QString& desired_tab |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17764
diff
changeset
|
171 = QString ()); |
20113
c36f2b083613
make copying figures to clipboard work (bug #44866)
John W. Eaton <jwe@octave.org>
parents:
19949
diff
changeset
|
172 |
c36f2b083613
make copying figures to clipboard work (bug #44866)
John W. Eaton <jwe@octave.org>
parents:
19949
diff
changeset
|
173 void copy_image_to_clipboard (const QString& file, bool remove_file); |
c36f2b083613
make copying figures to clipboard work (bug #44866)
John W. Eaton <jwe@octave.org>
parents:
19949
diff
changeset
|
174 |
16456
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
175 void show_about_octave (void); |
16413
28136851099a
remove _terminal pointer from main_window, it is contained by other Qt object
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16399
diff
changeset
|
176 void notice_settings (const QSettings *settings); |
19714
21015ca26566
Restructure shutdown flow and behavior for improved robustness
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
19697
diff
changeset
|
177 void confirm_shutdown_octave (void); |
16468
0f143f68078d
use signal/slot for updating workspace instead of using event listener
John W. Eaton <jwe@octave.org>
parents:
16460
diff
changeset
|
178 void prepare_to_exit (void); |
16456
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
179 void reset_windows (void); |
16437
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16431
diff
changeset
|
180 |
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16431
diff
changeset
|
181 void change_directory (const QString& dir); |
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16431
diff
changeset
|
182 void browse_for_directory (void); |
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16431
diff
changeset
|
183 void set_current_working_directory (const QString& dir); |
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16431
diff
changeset
|
184 void change_directory_up (void); |
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16431
diff
changeset
|
185 void accept_directory_line_edit (void); |
13501 | 186 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17764
diff
changeset
|
187 void execute_command_in_terminal (const QString& dir); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17764
diff
changeset
|
188 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
|
189 |
16566 | 190 void handle_new_figure_request (void); |
191 | |
16438
a971d8bdaadc
use signals instead of event queue for entering/leaving debug mode
John W. Eaton <jwe@octave.org>
parents:
16437
diff
changeset
|
192 void handle_enter_debugger (void); |
a971d8bdaadc
use signals instead of event queue for entering/leaving debug mode
John W. Eaton <jwe@octave.org>
parents:
16437
diff
changeset
|
193 void handle_exit_debugger (void); |
16456
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
194 void debug_continue (void); |
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
195 void debug_step_into (void); |
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
196 void debug_step_over (void); |
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
197 void debug_step_out (void); |
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
198 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
|
199 |
23385
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
200 void request_open_file (void); |
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
201 void request_new_script (const QString& commands = QString ()); |
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
202 void request_new_function (bool triggered = true); |
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
203 void handle_edit_mfile_request (const QString& name, const QString& file, |
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
204 const QString& curr_dir, int line); |
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
205 |
16576
2754c5fd6ae0
keep focus in the command window after dbstop, dbstep, etc.
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
206 void handle_insert_debugger_pointer_request (const QString& file, int line); |
2754c5fd6ae0
keep focus in the command window after dbstop, dbstep, etc.
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
207 void handle_delete_debugger_pointer_request (const QString& file, int line); |
2754c5fd6ae0
keep focus in the command window after dbstop, dbstep, etc.
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
208 void handle_update_breakpoint_marker_request (bool insert, |
21158
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21148
diff
changeset
|
209 const QString& file, int line, |
22599
51b395d24782
maint: strip tabs and trailing whitespace from C++ sources.
John W. Eaton <jwe@octave.org>
parents:
22587
diff
changeset
|
210 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
|
211 |
16456
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
212 void read_settings (void); |
19303
c6615ca0a11d
horizontal scrollbar for GUI terminal on Windows systems
John W. Eaton <jwe@octave.org>
parents:
19302
diff
changeset
|
213 void init_terminal_size (void); |
16593
e13051d7a472
allow GUI window layout to be restored
John W. Eaton <jwe@octave.org>
parents:
16581
diff
changeset
|
214 void set_window_layout (QSettings *settings); |
16456
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
215 void write_settings (void); |
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
216 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
|
217 |
16648
b04413e5a811
improve handling of interrupts, copy and paste shortcuts
John W. Eaton <jwe@octave.org>
parents:
16642
diff
changeset
|
218 void copyClipboard (void); |
b04413e5a811
improve handling of interrupts, copy and paste shortcuts
John W. Eaton <jwe@octave.org>
parents:
16642
diff
changeset
|
219 void pasteClipboard (void); |
18555
2d5d0d86432e
gui: Add select all menu (Bug #41797)
John Donoghue <john.donoghue@ieee.org>
parents:
18551
diff
changeset
|
220 void selectAll (void); |
16648
b04413e5a811
improve handling of interrupts, copy and paste shortcuts
John W. Eaton <jwe@octave.org>
parents:
16642
diff
changeset
|
221 |
19949
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19945
diff
changeset
|
222 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
|
223 |
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
224 void handle_create_dialog (const QString& message, const QString& title, |
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
225 const QString& icon, const QStringList& button, |
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
226 const QString& defbutton, |
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
227 const QStringList& role); |
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
228 |
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
229 void handle_create_listview (const QStringList& list, const QString& mode, |
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
230 int width, int height, |
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
231 const QIntList& initial, |
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
232 const QString& name, |
16551
6ae555fc8c43
Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16547
diff
changeset
|
233 const QStringList& prompt, |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
234 const QString& ok_string, |
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
235 const QString& cancel_string); |
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
236 |
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
237 void handle_create_inputlayout (const QStringList&, const QString&, |
16551
6ae555fc8c43
Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16547
diff
changeset
|
238 const QFloatList&, const QFloatList&, |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
239 const QStringList&); |
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16504
diff
changeset
|
240 |
23433
c9fab0bc983e
maint: Use convention 'int& x' for naming references.
Rik <rik@octave.org>
parents:
23432
diff
changeset
|
241 void handle_create_filedialog (const QStringList& filters, |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17764
diff
changeset
|
242 const QString& title, const QString& filename, |
23433
c9fab0bc983e
maint: Use convention 'int& x' for naming references.
Rik <rik@octave.org>
parents:
23432
diff
changeset
|
243 const QString& dirname, |
16581
fa4a035e0cf4
Add octave_link uiputfile implementation
John Donoghue <john.donoghue@ieee.org>
parents:
16579
diff
changeset
|
244 const QString& multimode); |
16579
7f8db1942dc0
Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents:
16576
diff
changeset
|
245 |
23433
c9fab0bc983e
maint: Use convention 'int& x' for naming references.
Rik <rik@octave.org>
parents:
23432
diff
changeset
|
246 void handle_show_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
|
247 |
18309
024940bd5b77
gui: provide prefernces for the octave directory at startup
Torsten <ttl@justmail.de>
parents:
18253
diff
changeset
|
248 void handle_octave_ready (); |
024940bd5b77
gui: provide prefernces for the octave directory at startup
Torsten <ttl@justmail.de>
parents:
18253
diff
changeset
|
249 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17764
diff
changeset
|
250 // find files dialog |
23433
c9fab0bc983e
maint: Use convention 'int& x' for naming references.
Rik <rik@octave.org>
parents:
23432
diff
changeset
|
251 void find_files (const QString& startdir = QDir::currentPath ()); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17764
diff
changeset
|
252 void find_files_finished (int); |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16798
diff
changeset
|
253 |
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16798
diff
changeset
|
254 // setting global shortcuts |
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16798
diff
changeset
|
255 void set_global_shortcuts (bool enable); |
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16798
diff
changeset
|
256 |
19302
37159a873c96
preserve text on Windows terminal resize (bug #41893; patch #8532)
John W. Eaton <jwe@octave.org>
parents:
18944
diff
changeset
|
257 void set_screen_size (int ht, int wd); |
37159a873c96
preserve text on Windows terminal resize (bug #41893; patch #8532)
John W. Eaton <jwe@octave.org>
parents:
18944
diff
changeset
|
258 |
17117
47b504503a3f
disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents:
17029
diff
changeset
|
259 // handling the clipboard |
47b504503a3f
disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents:
17029
diff
changeset
|
260 void clipboard_has_changed (QClipboard::Mode); |
47b504503a3f
disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents:
17029
diff
changeset
|
261 void clear_clipboard (); |
47b504503a3f
disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents:
17029
diff
changeset
|
262 |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
263 void interrupt_interpreter (void); |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
264 |
18545
17baa684892c
fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents:
18250
diff
changeset
|
265 // get the dockwidgets |
17baa684892c
fix flashing while debuggung and editor is tabbed behind console (bug #41757)
Torsten <ttl@justmail.de>
parents:
18250
diff
changeset
|
266 QList<octave_dock_widget *> get_dock_widget_list () |
22411
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
267 { return dock_widget_list (); } |
17117
47b504503a3f
disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents:
17029
diff
changeset
|
268 |
20986
00835323fb44
prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents:
20945
diff
changeset
|
269 private slots: |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
270 |
20986
00835323fb44
prevent shortcut ambiguity between main and editor window
Torsten <ttl@justmail.de>
parents:
20945
diff
changeset
|
271 void disable_menu_shortcuts (bool disable); |
23385
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
272 void restore_create_file_setting (); |
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
273 void set_file_encoding (const QString& new_encoding); |
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
274 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
|
275 |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
276 // open variable_editor |
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
277 void |
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
278 edit_variable (const QString &name); |
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
279 |
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
280 void |
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
281 clear_variable_editor_cache (); |
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
282 |
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
283 void variable_editor_callback(); |
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
284 |
13501 | 285 protected: |
23432
e35a5c1233d0
maint: Use convention 'int *x' for naming pointers.
Rik <rik@octave.org>
parents:
23385
diff
changeset
|
286 void closeEvent (QCloseEvent *closeEvent); |
13501 | 287 |
288 private: | |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
289 |
16456
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
290 void construct (void); |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
291 |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
292 void construct_octave_qt_link (void); |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
293 |
23446
cd4e1ee28716
maint: Use convention 'void * fcn ()' for functions which return pointers.
Rik <rik@octave.org>
parents:
23433
diff
changeset
|
294 QAction * add_action (QMenu *menu, const QIcon& icon, const QString& text, |
23457
21baad6b35c4
maint: Use C++11 nullptr rather than 0 or NULL when possible.
Rik <rik@octave.org>
parents:
23449
diff
changeset
|
295 const char *member, const QWidget *receiver = nullptr); |
18697
908523bd79b4
use shortcut manager for the debug menu
Torsten <ttl@justmail.de>
parents:
18684
diff
changeset
|
296 |
23449
c763214a8260
maint: Use convention 'int *x' for naming pointers.
Rik <rik@octave.org>
parents:
23446
diff
changeset
|
297 QMenu * m_add_menu (QMenuBar *p, QString text); |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
298 void construct_menu_bar (void); |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
299 void construct_file_menu (QMenuBar *p); |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
300 void construct_new_menu (QMenu *p); |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
301 void construct_edit_menu (QMenuBar *p); |
23446
cd4e1ee28716
maint: Use convention 'void * fcn ()' for functions which return pointers.
Rik <rik@octave.org>
parents:
23433
diff
changeset
|
302 QAction * construct_debug_menu_item (const char *icon, const QString& item, |
23449
c763214a8260
maint: Use convention 'int *x' for naming pointers.
Rik <rik@octave.org>
parents:
23446
diff
changeset
|
303 const char *member); |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
304 void construct_debug_menu (QMenuBar *p); |
23446
cd4e1ee28716
maint: Use convention 'void * fcn ()' for functions which return pointers.
Rik <rik@octave.org>
parents:
23433
diff
changeset
|
305 QAction * construct_window_menu_item (QMenu *p, const QString& item, |
cd4e1ee28716
maint: Use convention 'void * fcn ()' for functions which return pointers.
Rik <rik@octave.org>
parents:
23433
diff
changeset
|
306 bool checkable, QWidget*); |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
307 void construct_window_menu (QMenuBar *p); |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
308 void construct_help_menu (QMenuBar *p); |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
309 void construct_documentation_menu (QMenu *p); |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
310 |
17599
f5950975a172
community news dock widget and other user info in GUI
John W. Eaton <jwe@octave.org>
parents:
17509
diff
changeset
|
311 void construct_news_menu (QMenuBar *p); |
f5950975a172
community news dock widget and other user info in GUI
John W. Eaton <jwe@octave.org>
parents:
17509
diff
changeset
|
312 |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
313 void construct_tool_bar (void); |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
314 |
16456
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
315 void establish_octave_link (void); |
13501 | 316 |
15402
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
317 void save_workspace_callback (const std::string& file); |
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
318 |
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
319 void load_workspace_callback (const std::string& file); |
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
320 |
16502
45ae1038ee89
allow renaming of variables in workspace viewer
John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
321 void rename_variable_callback (const name_pair& names); |
45ae1038ee89
allow renaming of variables in workspace viewer
John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
322 |
16539
8ea8df0747e9
make undo button and menu item work for command window
John W. Eaton <jwe@octave.org>
parents:
16525
diff
changeset
|
323 void command_window_undo_callback (void); |
8ea8df0747e9
make undo button and menu item work for command window
John W. Eaton <jwe@octave.org>
parents:
16525
diff
changeset
|
324 |
16514
db045633405c
Added clear command window implementation to MainWindow Clear COmmand Window menu.
John Donoghue <john.donoghue@ieee.org>
parents:
16512
diff
changeset
|
325 void clear_command_window_callback (void); |
db045633405c
Added clear command window implementation to MainWindow Clear COmmand Window menu.
John Donoghue <john.donoghue@ieee.org>
parents:
16512
diff
changeset
|
326 |
16541
6afb29359968
set size of command window terminal at GUI startup
John W. Eaton <jwe@octave.org>
parents:
16539
diff
changeset
|
327 void resize_command_window_callback (void); |
6afb29359968
set size of command window terminal at GUI startup
John W. Eaton <jwe@octave.org>
parents:
16539
diff
changeset
|
328 |
19302
37159a873c96
preserve text on Windows terminal resize (bug #41893; patch #8532)
John W. Eaton <jwe@octave.org>
parents:
18944
diff
changeset
|
329 void set_screen_size_callback (const int_pair&); |
37159a873c96
preserve text on Windows terminal resize (bug #41893; patch #8532)
John W. Eaton <jwe@octave.org>
parents:
18944
diff
changeset
|
330 |
15402
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
331 void clear_workspace_callback (void); |
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
332 |
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
333 void clear_history_callback (void); |
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
334 |
17329
352b442a72a5
queue and synchronize mutliple commands executed fro history (bug #39723)
Torsten <ttl@justmail.de>
parents:
17291
diff
changeset
|
335 void execute_command_callback (); |
16635
25e418d23a4b
fix running files from file browser's context menu
Torsten <ttl@justmail.de>
parents:
16593
diff
changeset
|
336 void run_file_callback (const QFileInfo& info); |
18156
14acb08d75fa
gui: optionally set focus to console when a command is run from another widget
Torsten <ttl@justmail.de>
parents:
18031
diff
changeset
|
337 bool focus_console_after_command (); |
16570
d5ae5aa80d42
preserve pending command line input when running commands from GUI actions
John W. Eaton <jwe@octave.org>
parents:
16566
diff
changeset
|
338 |
16566 | 339 void new_figure_callback (void); |
340 | |
15402
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
341 void change_directory_callback (const std::string& directory); |
7f423c6111c6
refactor GUI event handling to use new event_queue class
John W. Eaton <jwe@octave.org>
parents:
15388
diff
changeset
|
342 |
19773
034bcac0b61c
use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
19714
diff
changeset
|
343 void queue_command (octave_cmd *cmd); |
18250
0da2e7051778
synchronize gui's debug actions with the octave core thread (bug #41139)
Torsten <ttl@justmail.de>
parents:
18031
diff
changeset
|
344 |
18717
f017240310fb
disabling global shortcuts when terminal has focus as user preference
Torsten <ttl@justmail.de>
parents:
18711
diff
changeset
|
345 void configure_shortcuts (); |
f017240310fb
disabling global shortcuts when terminal has focus as user preference
Torsten <ttl@justmail.de>
parents:
18711
diff
changeset
|
346 |
22089
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
347 octave::gui_application *m_app_context; |
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
348 |
23119
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
349 octave_interpreter *m_interpreter; |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
350 |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
351 QThread *m_main_thread; |
3107d3717cc2
refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents:
23092
diff
changeset
|
352 |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
353 bool confirm_exit_octave (); |
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
354 |
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
355 void force_refresh_workspace(); |
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
356 |
16451
d4c3736e1e28
dynamically allocate Qt widgets
John W. Eaton <jwe@octave.org>
parents:
16450
diff
changeset
|
357 workspace_model *_workspace_model; |
16448
47fe533ec85b
avoid using new for status bar and workspace_model objects
John W. Eaton <jwe@octave.org>
parents:
16447
diff
changeset
|
358 |
18944
b2c4d6d461f0
fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents:
18717
diff
changeset
|
359 QHash<QMenu*, QStringList> _hash_menu_text; |
b2c4d6d461f0
fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents:
18717
diff
changeset
|
360 |
16448
47fe533ec85b
avoid using new for status bar and workspace_model objects
John W. Eaton <jwe@octave.org>
parents:
16447
diff
changeset
|
361 // Toolbars. |
16451
d4c3736e1e28
dynamically allocate Qt widgets
John W. Eaton <jwe@octave.org>
parents:
16450
diff
changeset
|
362 QStatusBar *status_bar; |
16448
47fe533ec85b
avoid using new for status bar and workspace_model objects
John W. Eaton <jwe@octave.org>
parents:
16447
diff
changeset
|
363 |
47fe533ec85b
avoid using new for status bar and workspace_model objects
John W. Eaton <jwe@octave.org>
parents:
16447
diff
changeset
|
364 // Subwindows. |
16451
d4c3736e1e28
dynamically allocate Qt widgets
John W. Eaton <jwe@octave.org>
parents:
16450
diff
changeset
|
365 terminal_dock_widget *command_window; |
d4c3736e1e28
dynamically allocate Qt widgets
John W. Eaton <jwe@octave.org>
parents:
16450
diff
changeset
|
366 history_dock_widget *history_window; |
16450
3207f1d62e74
improve encapsulation of file browser window object
John W. Eaton <jwe@octave.org>
parents:
16449
diff
changeset
|
367 files_dock_widget *file_browser_window; |
16453
2e3c652c89d1
improve encapsulation of documentation browser window object
John W. Eaton <jwe@octave.org>
parents:
16452
diff
changeset
|
368 documentation_dock_widget *doc_browser_window; |
16457
10edb6f1ae98
improve encapsulation of file editor window object
John W. Eaton <jwe@octave.org>
parents:
16456
diff
changeset
|
369 file_editor_interface *editor_window; |
16459
cbc39a3d0c42
improve encapsulation of workspace window object
John W. Eaton <jwe@octave.org>
parents:
16457
diff
changeset
|
370 workspace_view *workspace_window; |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
371 variable_editor *variable_editor_window; |
20278
3b25741a9927
Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents:
20186
diff
changeset
|
372 |
23385
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
373 external_editor_interface *_external_editor; |
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
374 QWidget *_active_editor; |
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
375 |
20278
3b25741a9927
Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents:
20186
diff
changeset
|
376 QList<octave_dock_widget *> dock_widget_list (); |
3b25741a9927
Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents:
20186
diff
changeset
|
377 |
19422
476032040df9
determining the active dock from focus changes in the gui
Torsten <ttl@justmail.de>
parents:
19303
diff
changeset
|
378 octave_dock_widget *_active_dock; |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
379 |
17619
4288b90f18c4
icons for news and release notes widgets
Torsten <ttl@justmail.de>
parents:
17599
diff
changeset
|
380 QString _release_notes_icon; |
4288b90f18c4
icons for news and release notes widgets
Torsten <ttl@justmail.de>
parents:
17599
diff
changeset
|
381 |
16525
e192525236ad
configurable size of toolbar icons
Torsten <ttl@justmail.de>
parents:
16519
diff
changeset
|
382 QToolBar *_main_tool_bar; |
17599
f5950975a172
community news dock widget and other user info in GUI
John W. Eaton <jwe@octave.org>
parents:
17509
diff
changeset
|
383 |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
384 QMenu *_debug_menu; |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
385 |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
386 QAction *_debug_continue; |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
387 QAction *_debug_step_into; |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
388 QAction *_debug_step_over; |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
389 QAction *_debug_step_out; |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
390 QAction *_debug_quit; |
13501 | 391 |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
392 QAction *_new_script_action; |
17901
2c241092b47b
use edit.m for creating a new function with the gui (bug #40502)
Torsten <ttl@justmail.de>
parents:
17883
diff
changeset
|
393 QAction *_new_function_action; |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
394 QAction *_open_action; |
18611
086093fbdc1a
first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents:
18555
diff
changeset
|
395 QAction *_new_figure_action; |
086093fbdc1a
first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents:
18555
diff
changeset
|
396 QAction *_load_workspace_action; |
086093fbdc1a
first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents:
18555
diff
changeset
|
397 QAction *_save_workspace_action; |
086093fbdc1a
first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents:
18555
diff
changeset
|
398 QAction *_preferences_action; |
086093fbdc1a
first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents:
18555
diff
changeset
|
399 QAction *_exit_action; |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
400 |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
401 QAction *_copy_action; |
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
402 QAction *_paste_action; |
17117
47b504503a3f
disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents:
17029
diff
changeset
|
403 QAction *_clear_clipboard_action; |
16454
246d25c8761b
split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents:
16453
diff
changeset
|
404 QAction *_undo_action; |
18611
086093fbdc1a
first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents:
18555
diff
changeset
|
405 QAction *_clear_command_window_action; |
086093fbdc1a
first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents:
18555
diff
changeset
|
406 QAction *_clear_command_history_action; |
086093fbdc1a
first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents:
18555
diff
changeset
|
407 QAction *_clear_workspace_action; |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16798
diff
changeset
|
408 QAction *_find_files_action; |
18611
086093fbdc1a
first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents:
18555
diff
changeset
|
409 QAction *_select_all_action; |
16970
78116b88dbf5
enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents:
16798
diff
changeset
|
410 |
18707
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
411 QAction *_show_command_window_action; |
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
412 QAction *_show_history_action; |
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
413 QAction *_show_workspace_action; |
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
414 QAction *_show_file_browser_action; |
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
415 QAction *_show_editor_action; |
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
416 QAction *_show_documentation_action; |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
417 QAction *_show_variable_editor_action; |
18707
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
418 QAction *_command_window_action; |
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
419 QAction *_history_action; |
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
420 QAction *_workspace_action; |
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
421 QAction *_file_browser_action; |
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
422 QAction *_editor_action; |
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
423 QAction *_documentation_action; |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23497
diff
changeset
|
424 QAction *_variable_editor_action; |
18707
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
425 QAction *_reset_windows_action; |
f31fde98c872
use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents:
18697
diff
changeset
|
426 |
18710
584b20e9112c
use shortcut manager for the main help menu
Torsten <ttl@justmail.de>
parents:
18707
diff
changeset
|
427 QAction *_ondisk_doc_action; |
584b20e9112c
use shortcut manager for the main help menu
Torsten <ttl@justmail.de>
parents:
18707
diff
changeset
|
428 QAction *_online_doc_action; |
584b20e9112c
use shortcut manager for the main help menu
Torsten <ttl@justmail.de>
parents:
18707
diff
changeset
|
429 QAction *_report_bug_action; |
584b20e9112c
use shortcut manager for the main help menu
Torsten <ttl@justmail.de>
parents:
18707
diff
changeset
|
430 QAction *_octave_packages_action; |
584b20e9112c
use shortcut manager for the main help menu
Torsten <ttl@justmail.de>
parents:
18707
diff
changeset
|
431 QAction *_contribute_action; |
584b20e9112c
use shortcut manager for the main help menu
Torsten <ttl@justmail.de>
parents:
18707
diff
changeset
|
432 QAction *_developer_action; |
584b20e9112c
use shortcut manager for the main help menu
Torsten <ttl@justmail.de>
parents:
18707
diff
changeset
|
433 QAction *_about_octave_action; |
584b20e9112c
use shortcut manager for the main help menu
Torsten <ttl@justmail.de>
parents:
18707
diff
changeset
|
434 |
18711
9ef65c422f53
use shortcut manager for the main news menu
Torsten <ttl@justmail.de>
parents:
18710
diff
changeset
|
435 QAction *_release_notes_action; |
9ef65c422f53
use shortcut manager for the main news menu
Torsten <ttl@justmail.de>
parents:
18710
diff
changeset
|
436 QAction *_current_news_action; |
9ef65c422f53
use shortcut manager for the main news menu
Torsten <ttl@justmail.de>
parents:
18710
diff
changeset
|
437 |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
438 // Toolbars. |
16456
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
439 QComboBox *_current_directory_combo_box; |
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
440 static const int current_directory_max_visible = 16; |
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
441 static const int current_directory_max_count = 16; |
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
442 QLineEdit *_current_directory_line_edit; |
14670
7fbea449737d
Restructured menus, added toolbar and current directory line edit.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14602
diff
changeset
|
443 |
19632
101ce4eaa56c
prevent opening the settings dialog multiple times
Torsten <ttl@justmail.de>
parents:
19631
diff
changeset
|
444 // settings dialog as guarded pointer (set to 0 when deleted) |
101ce4eaa56c
prevent opening the settings dialog multiple times
Torsten <ttl@justmail.de>
parents:
19631
diff
changeset
|
445 QPointer<settings_dialog> _settings_dlg; |
101ce4eaa56c
prevent opening the settings dialog multiple times
Torsten <ttl@justmail.de>
parents:
19631
diff
changeset
|
446 |
16519
3e8fd0c479b4
Add find files implemtation to main window menu
John Donoghue <john.donoghue@ieee.org>
parents:
16514
diff
changeset
|
447 // Find files dialog |
23432
e35a5c1233d0
maint: Use convention 'int *x' for naming pointers.
Rik <rik@octave.org>
parents:
23385
diff
changeset
|
448 find_files_dialog *find_files_dlg; |
16519
3e8fd0c479b4
Add find files implemtation to main window menu
John Donoghue <john.donoghue@ieee.org>
parents:
16514
diff
changeset
|
449 |
17883
3851e5fde76d
GUI: allow only one release notes windows to be open
John Donoghue <john.donoghue@ieee.org>
parents:
17827
diff
changeset
|
450 // release notes window |
23432
e35a5c1233d0
maint: Use convention 'int *x' for naming pointers.
Rik <rik@octave.org>
parents:
23385
diff
changeset
|
451 QWidget *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
|
452 |
23432
e35a5c1233d0
maint: Use convention 'int *x' for naming pointers.
Rik <rik@octave.org>
parents:
23385
diff
changeset
|
453 QWidget *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
|
454 |
16421
40d1ddca4db5
improve use of octave_link
John W. Eaton <jwe@octave.org>
parents:
16413
diff
changeset
|
455 octave_qt_link *_octave_qt_link; |
40d1ddca4db5
improve use of octave_link
John W. Eaton <jwe@octave.org>
parents:
16413
diff
changeset
|
456 |
17117
47b504503a3f
disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents:
17029
diff
changeset
|
457 QClipboard *_clipboard; |
47b504503a3f
disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents:
17029
diff
changeset
|
458 |
16456
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
459 // Flag for closing whole application. |
203efbbcea63
* main-window.h, main-window.cc: Style fixes.
John W. Eaton <jwe@octave.org>
parents:
16454
diff
changeset
|
460 bool _closing; |
17329
352b442a72a5
queue and synchronize mutliple commands executed fro history (bug #39723)
Torsten <ttl@justmail.de>
parents:
17291
diff
changeset
|
461 |
19773
034bcac0b61c
use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
19714
diff
changeset
|
462 // command queue and semaphore to synchronize execution signals |
034bcac0b61c
use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
19714
diff
changeset
|
463 // and related callback |
034bcac0b61c
use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
19714
diff
changeset
|
464 |
034bcac0b61c
use of C++ API for running a file (bug #42307)
Torsten <ttl@justmail.de>
parents:
19714
diff
changeset
|
465 // the queue for the command structures |
21028
4a7d9c335402
GUI: move the command queue into a separate class
Torsten <ttl@justmail.de>
parents:
21027
diff
changeset
|
466 octave_command_queue _cmd_queue; |
18250
0da2e7051778
synchronize gui's debug actions with the octave core thread (bug #41139)
Torsten <ttl@justmail.de>
parents:
18031
diff
changeset
|
467 |
21028
4a7d9c335402
GUI: move the command queue into a separate class
Torsten <ttl@justmail.de>
parents:
21027
diff
changeset
|
468 // some class global flags |
18717
f017240310fb
disabling global shortcuts when terminal has focus as user preference
Torsten <ttl@justmail.de>
parents:
18711
diff
changeset
|
469 bool _prevent_readline_conflicts; |
19585
f9a944b9e1cb
provide a user preference for printing the debug location in the terminal
Torsten <ttl@justmail.de>
parents:
19572
diff
changeset
|
470 bool _suppress_dbg_location; |
19949
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19945
diff
changeset
|
471 bool _start_gui; |
23385
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
472 |
41639665aa34
improve opening files from gui when built without qscintilla (bug #39179)
Torsten <mttl@mailbox.org>
parents:
23380
diff
changeset
|
473 QString _file_encoding; |
13501 | 474 }; |
475 | |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
476 class news_reader : public QObject |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
477 { |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
478 Q_OBJECT |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
479 |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
480 public: |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
481 |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
482 news_reader (const QString& xbase_url, const QString& xpage, |
17940
b3e4ee8f4d6d
respect option for opting out of web connections for community news
John W. Eaton <jwe@octave.org>
parents:
17939
diff
changeset
|
483 int xserial = -1, bool xconnect_to_web = false) |
b3e4ee8f4d6d
respect option for opting out of web connections for community news
John W. Eaton <jwe@octave.org>
parents:
17939
diff
changeset
|
484 : QObject (), base_url (xbase_url), page (xpage), serial (xserial), |
b3e4ee8f4d6d
respect option for opting out of web connections for community news
John W. Eaton <jwe@octave.org>
parents:
17939
diff
changeset
|
485 connect_to_web (xconnect_to_web) |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
486 { } |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
487 |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
488 public slots: |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
489 |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
490 void process (void); |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
491 |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
492 signals: |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
493 |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
494 void display_news_signal (const QString& news); |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
495 |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
496 void finished (void); |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
497 |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
498 private: |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
499 |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
500 QString base_url; |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
501 QString page; |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
502 int serial; |
17940
b3e4ee8f4d6d
respect option for opting out of web connections for community news
John W. Eaton <jwe@octave.org>
parents:
17939
diff
changeset
|
503 bool connect_to_web; |
17939
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
504 }; |
16cf38c39915
display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents:
17918
diff
changeset
|
505 |
20945
9d9270e2f98f
eliminate comments after preprocessor conditionals
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
506 #endif |