annotate libgui/src/main-window.h @ 31619:ad014fc78bd6

use individual local gui_settings objects Previously, we created a single gui_settings object (derived from QSettings) and accessed it from the resource_manager object. That design is not necessary and is not the way QSettings was designed to be used. Instead of managing a single object, we should be using individual QSettings objects where needed. Each individual QSettings object manages thread-safe access to a single global collection of settings. The Qt docs say that operations on QSettings are not thread safe, but that means that you can't create a QSettings object in one thread and use it in another without some locking. I'm not sure whether we were doing that correctly, but with this change it no longer matters. Each QSettings object does perform locking when reading or writing the underlying global data. * resource-manager.h, resource-manager.cc (resource_manager::m_settings): Delete data member. (resource_manager::get_settings): Delete. * annotation-dialog.cc, QTerminal.cc, QTerminal.h, command-widget.cc, command-widget.h, community-news.cc, dialog.cc, documentation-bookmarks.cc, documentation-bookmarks.h, documentation-dock-widget.cc, documentation-dock-widget.h, documentation.cc, documentation.h, dw-main-window.cc, dw-main-window.h, external-editor-interface.cc, files-dock-widget.cc, files-dock-widget.h, find-files-dialog.cc, history-dock-widget.cc, history-dock-widget.h, file-editor-interface.h, file-editor-tab.cc, file-editor-tab.h, file-editor.cc, file-editor.h, find-dialog.cc, octave-qscintilla.cc, main-window.cc, main-window.h, news-reader.cc, octave-dock-widget.cc, octave-dock-widget.h, qt-interpreter-events.cc, qt-interpreter-events.h, release-notes.cc, resource-manager.cc, resource-manager.h, set-path-dialog.cc, settings-dialog.cc, settings-dialog.h, shortcut-manager.cc, shortcut-manager.h, terminal-dock-widget.cc, terminal-dock-widget.h, variable-editor.cc, variable-editor.h, welcome-wizard.cc, workspace-model.cc, workspace-model.h, workspace-view.cc: Use local gui_settings objects instead of accessing a pointer to a single gui_settings object owned by the resource_manager object.
author John W. Eaton <jwe@octave.org>
date Fri, 02 Dec 2022 14:23:53 -0500
parents 0b402f523f09
children ca7d58406f82
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 //
30564
796f54d4ddbf update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 30398
diff changeset
3 // Copyright (C) 2011-2022 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
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
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
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
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
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
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
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
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 // Own includes
16512
7f2395651a1c dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents: 16504
diff changeset
47 #include "dialog.h"
22089
c2c668b3051b use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
48 #include "documentation-dock-widget.h"
c2c668b3051b use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
49 #include "files-dock-widget.h"
c2c668b3051b use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
50 #include "find-files-dialog.h"
c2c668b3051b use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
51 #include "history-dock-widget.h"
27302
5f170ea12fa1 use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents: 27298
diff changeset
52 #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
53 #include "led-indicator.h"
22089
c2c668b3051b use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
54 #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
55 #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
56 #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
57 #include "set-path-dialog.h"
22089
c2c668b3051b use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
58 #include "terminal-dock-widget.h"
23927
e3a36f84d01d provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents: 23497
diff changeset
59 #include "variable-editor.h"
14707
674740c44c09 Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14703
diff changeset
60 #include "workspace-view.h"
13614
5cb93c6d8aab Important subwindows are not closable now. A close button is still displayed, which seems to be q Qt bug.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13611
diff changeset
61
24641
7d177be54c37 pass variable value to variable editor in addition to variable name
John W. Eaton <jwe@octave.org>
parents: 24632
diff changeset
62 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
63
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
64 namespace octave
23119
3107d3717cc2 refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents: 23092
diff changeset
65 {
27302
5f170ea12fa1 use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents: 27298
diff changeset
66 class interpreter;
5f170ea12fa1 use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents: 27298
diff changeset
67
25954
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25944
diff changeset
68 class settings_dialog;
f2406585a974 move settings_dialog class inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 25944
diff changeset
69
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
70 //! 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
71
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
72 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
73 {
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
74 Q_OBJECT
16446
4b3a4bf8569b improve encapsulation of command window object
John W. Eaton <jwe@octave.org>
parents: 16445
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 public:
16446
4b3a4bf8569b improve encapsulation of command window object
John W. Eaton <jwe@octave.org>
parents: 16445
diff changeset
77
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
78 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
79 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
80
27588
f0e3f3e28a8e move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents: 27556
diff changeset
81 main_window (base_qobject& oct_qobj);
16446
4b3a4bf8569b improve encapsulation of command window object
John W. Eaton <jwe@octave.org>
parents: 16445
diff changeset
82
29613
9367cba2a6d5 allow most dock widgets to be used from command line
John W. Eaton <jwe@octave.org>
parents: 29612
diff changeset
83 ~main_window (void);
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
84
29612
9c04fea333ca avoid connecting to parent slots in octave_dock_widget
John W. Eaton <jwe@octave.org>
parents: 29594
diff changeset
85 void make_dock_widget_connections (octave_dock_widget *dw);
9c04fea333ca avoid connecting to parent slots in octave_dock_widget
John W. Eaton <jwe@octave.org>
parents: 29594
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 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
88
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
89 void focus_command_window (void);
16449
c129a8b73d25 avoid unneeded signals for window focus
John W. Eaton <jwe@octave.org>
parents: 16448
diff changeset
90
27588
f0e3f3e28a8e move qt_interpreter_events object from interpreter_qobject to octave_qobject
John W. Eaton <jwe@octave.org>
parents: 27556
diff changeset
91 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
92
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
93 signals:
19422
476032040df9 determining the active dock from focus changes in the gui
Torsten <ttl@justmail.de>
parents: 19303
diff changeset
94
29503
3bfec185c9e2 experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents: 29452
diff changeset
95 // 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
96 // experimental terminal widget.
3bfec185c9e2 experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents: 29452
diff changeset
97 void close_gui_signal (void);
3bfec185c9e2 experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents: 29452
diff changeset
98
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
99 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
100 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
101
31619
ad014fc78bd6 use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents: 31068
diff changeset
102 void settings_changed (void);
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
103 void init_terminal_size_signal (void);
29199
0b18887bc997 simplify initialization of gui dock widgets
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29148
diff changeset
104 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
105 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
106 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
107 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
108 void step_into_file_signal (void);
13506
c70511cf64ee Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13504
diff changeset
109
29835
a946d742fb97 allow community news window to be opened from command line
John W. Eaton <jwe@octave.org>
parents: 29834
diff changeset
110 void show_community_news_signal (int serial);
29836
56465c0739fa allow release notes window to be opened from command line
John W. Eaton <jwe@octave.org>
parents: 29835
diff changeset
111 void show_release_notes_signal (void);
29835
a946d742fb97 allow community news window to be opened from command line
John W. Eaton <jwe@octave.org>
parents: 29834
diff changeset
112
28788
aba2c4eadb83 add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27923
diff changeset
113 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
114
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
115 void 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
116 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
117 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
118 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
119
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
120 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
121 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
122 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
123 void undo_signal (void);
16648
b04413e5a811 improve handling of interrupts, copy and paste shortcuts
John W. Eaton <jwe@octave.org>
parents: 16642
diff changeset
124
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
125 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
126
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
127 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
128
27302
5f170ea12fa1 use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents: 27298
diff changeset
129 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
130 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
131
31068
0b402f523f09 allow executing a command in the new terminal widget
Torsten Lilge <ttl-octave@mailbox.org>
parents: 30965
diff changeset
132 void execute_command_signal (const QString& command);
0b402f523f09 allow executing a command in the new terminal widget
Torsten Lilge <ttl-octave@mailbox.org>
parents: 30965
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);
29782
02461b0ccc00 reduce dependence of files_dock_widget on Octave interpreter
John W. Eaton <jwe@octave.org>
parents: 29773
diff changeset
148 void modify_path (const QStringList& 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
149 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
150 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
151 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
152 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
153 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
154 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
155 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
156 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
157 = QString ());
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
158 void show_about_octave (void);
31619
ad014fc78bd6 use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents: 31068
diff changeset
159 void notice_settings (bool update_by_worker = false);
30965
291994766c55 add fusion dark style to gui
Farid Partonia <f.partonia@gmail.com>
parents: 30690
diff changeset
160 QPalette getFusionDarkPalette();
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
161 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
162 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
163 void reset_windows (void);
29754
4c569e386e9b improve behavior of dockable widgets (bug #60750)
John W. Eaton <jwe@octave.org>
parents: 29613
diff changeset
164 void do_reset_windows (bool show = true, bool save = true,
4c569e386e9b improve behavior of dockable widgets (bug #60750)
John W. Eaton <jwe@octave.org>
parents: 29613
diff changeset
165 bool force_all = false);
16437
919796a440c6 use signal for changing directory
John W. Eaton <jwe@octave.org>
parents: 16431
diff changeset
166
27409
a0d49e55acae rename change_directory to directory_changed in event manager
John W. Eaton <jwe@octave.org>
parents: 27311
diff changeset
167 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
168 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
169 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
170 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
171 void accept_directory_line_edit (void);
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
172
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
173 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
174 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
175
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
176 void handle_new_figure_request (void);
16566
662a712b8fd5 partial menu bar cleanup
John W. Eaton <jwe@octave.org>
parents: 16565
diff changeset
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 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
179 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
180 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
181 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
182 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
183 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
184 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
185 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
186
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
187 void 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
188 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
189 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
190 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
191 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
192
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
193 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
194 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
195 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
196 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
197 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
198
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
199 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
200 void init_terminal_size (void);
31619
ad014fc78bd6 use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents: 31068
diff changeset
201 void set_window_layout (void);
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
202 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
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 copyClipboard (void);
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
205 void pasteClipboard (void);
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
206 void selectAll (void);
16648
b04413e5a811 improve handling of interrupts, copy and paste shortcuts
John W. Eaton <jwe@octave.org>
parents: 16642
diff changeset
207
29057
450920c987b8 update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29040
diff changeset
208 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
209
27556
410622ac120f improve run selection from editor (bug #42705)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27412
diff changeset
210 void focus_console_after_command (void);
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
211
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
212 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
213 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
214 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
215 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
216 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
217
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
218 void handle_octave_ready ();
18309
024940bd5b77 gui: provide prefernces for the octave directory at startup
Torsten <ttl@justmail.de>
parents: 18253
diff changeset
219
27298
1805f8586179 new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents: 27287
diff changeset
220 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
221
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
222 //! Find files dialog.
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
223 //!@{
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
224 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
225 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
226 //!@}
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16798
diff changeset
227
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
228 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
229
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
230 //! Handling the clipboard.
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 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
233 void clear_clipboard ();
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
234 //!@}
17117
47b504503a3f disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents: 17029
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 //! 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
237
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
238 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
239 {
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
240 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
241 }
17117
47b504503a3f disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents: 17029
diff changeset
242
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
243 private slots:
23119
3107d3717cc2 refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents: 23092
diff changeset
244
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
245 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
246 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
247 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
248 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
249
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
250 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
251
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
252 protected:
24019
fc4ba8b1ff87 style fixes for GUI main window
John W. Eaton <jwe@octave.org>
parents: 23979
diff changeset
253
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
254 void closeEvent (QCloseEvent *closeEvent);
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
255
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
256 private:
16454
246d25c8761b split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents: 16453
diff changeset
257
29788
74d5cf382b86 refactor adoption of dock widgets in main window for clarity
John W. Eaton <jwe@octave.org>
parents: 29787
diff changeset
258 void adopt_dock_widgets (void);
74d5cf382b86 refactor adoption of dock widgets in main window for clarity
John W. Eaton <jwe@octave.org>
parents: 29787
diff changeset
259
74d5cf382b86 refactor adoption of dock widgets in main window for clarity
John W. Eaton <jwe@octave.org>
parents: 29787
diff changeset
260 void adopt_terminal_widget (void);
74d5cf382b86 refactor adoption of dock widgets in main window for clarity
John W. Eaton <jwe@octave.org>
parents: 29787
diff changeset
261 void adopt_documentation_widget (void);
74d5cf382b86 refactor adoption of dock widgets in main window for clarity
John W. Eaton <jwe@octave.org>
parents: 29787
diff changeset
262 void adopt_file_browser_widget (void);
74d5cf382b86 refactor adoption of dock widgets in main window for clarity
John W. Eaton <jwe@octave.org>
parents: 29787
diff changeset
263 void adopt_history_widget (void);
74d5cf382b86 refactor adoption of dock widgets in main window for clarity
John W. Eaton <jwe@octave.org>
parents: 29787
diff changeset
264 void adopt_workspace_widget (void);
74d5cf382b86 refactor adoption of dock widgets in main window for clarity
John W. Eaton <jwe@octave.org>
parents: 29787
diff changeset
265 void adopt_editor_widget (void);
74d5cf382b86 refactor adoption of dock widgets in main window for clarity
John W. Eaton <jwe@octave.org>
parents: 29787
diff changeset
266 void adopt_variable_editor_widget (void);
74d5cf382b86 refactor adoption of dock widgets in main window for clarity
John W. Eaton <jwe@octave.org>
parents: 29787
diff changeset
267
25944
ceb508ea92ee refactor GUI main_window class
John W. Eaton <jwe@octave.org>
parents: 25938
diff changeset
268 void construct_central_widget (void);
ceb508ea92ee refactor GUI main_window class
John W. Eaton <jwe@octave.org>
parents: 25938
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 construct (void);
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
271
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
272 void construct_octave_qt_link (void);
16454
246d25c8761b split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents: 16453
diff changeset
273
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
274 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
275 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
276 const QWidget *receiver = nullptr);
18697
908523bd79b4 use shortcut manager for the debug menu
Torsten <ttl@justmail.de>
parents: 18684
diff changeset
277
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
278 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
279 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
280 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
281 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
282 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
283 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
284 const char *member);
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
285 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
286 QAction * construct_window_menu_item (QMenu *p, const QString& item,
30398
d4d83344d653 maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents: 29836
diff changeset
287 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
288 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
289 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
290 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
291 void construct_documentation_menu (QMenu *p);
16454
246d25c8761b split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents: 16453
diff changeset
292
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
293 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
294
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
295 void construct_tool_bar (void);
16454
246d25c8761b split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents: 16453
diff changeset
296
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
297 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
298
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
299 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
300
27270
47f42ad90b0b Restore mfile_encoding on startup from GUI settings.
Markus Mützel <markus.muetzel@gmx.de>
parents: 27263
diff changeset
301 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
302
29144
7220b59c490b clean up constructing main window layout of the gui
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29000
diff changeset
303 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
304 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
305
27218
a044202208af more refactoring of GUI classes that manage the interpreter
John W. Eaton <jwe@octave.org>
parents: 27217
diff changeset
306 base_qobject& m_octave_qobj;
23119
3107d3717cc2 refactor and simplify interpreter startup in GUI
John W. Eaton <jwe@octave.org>
parents: 23092
diff changeset
307
30398
d4d83344d653 maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents: 29836
diff changeset
308 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
309
25702
bd30c6f8cfb7 update internal __mfile_encoding__ when gui default encoding changes (bug #54310)
Torsten <mttl@mailbox.org>
parents: 25700
diff changeset
310 QString m_default_encoding;
bd30c6f8cfb7 update internal __mfile_encoding__ when gui default encoding changes (bug #54310)
Torsten <mttl@mailbox.org>
parents: 25700
diff changeset
311
26227
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 25954
diff changeset
312 QString m_default_style;
30965
291994766c55 add fusion dark style to gui
Farid Partonia <f.partonia@gmail.com>
parents: 30690
diff changeset
313 QPalette m_default_palette;
26227
2355f66cf91d allow to select the gui style in the preferences dialog
Torsten <mttl@mailbox.org>
parents: 25954
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 //! Toolbar.
24109
1d6c940a1b37 doc: Improve Doxygen documentation for some files in libgui.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 24019
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 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
318 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
319
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
320 //! Dock widgets.
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
321 //!@{
29613
9367cba2a6d5 allow most dock widgets to be used from command line
John W. Eaton <jwe@octave.org>
parents: 29612
diff changeset
322 QPointer<terminal_dock_widget> m_command_window;
9367cba2a6d5 allow most dock widgets to be used from command line
John W. Eaton <jwe@octave.org>
parents: 29612
diff changeset
323 QPointer<history_dock_widget> m_history_window;
9367cba2a6d5 allow most dock widgets to be used from command line
John W. Eaton <jwe@octave.org>
parents: 29612
diff changeset
324 QPointer<files_dock_widget> m_file_browser_window;
9367cba2a6d5 allow most dock widgets to be used from command line
John W. Eaton <jwe@octave.org>
parents: 29612
diff changeset
325 QPointer<documentation_dock_widget> m_doc_browser_window;
9367cba2a6d5 allow most dock widgets to be used from command line
John W. Eaton <jwe@octave.org>
parents: 29612
diff changeset
326 QPointer<file_editor_interface> m_editor_window;
9367cba2a6d5 allow most dock widgets to be used from command line
John W. Eaton <jwe@octave.org>
parents: 29612
diff changeset
327 QPointer<workspace_view> m_workspace_window;
9367cba2a6d5 allow most dock widgets to be used from command line
John W. Eaton <jwe@octave.org>
parents: 29612
diff changeset
328 QPointer<variable_editor> m_variable_editor_window;
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
329 //!@}
20278
3b25741a9927 Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents: 20186
diff changeset
330
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
331 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
332 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
333
27860
cbd4d97100b3 add action and shortcut for switching to previews widget (bug #57447)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27669
diff changeset
334 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
335 octave_dock_widget *m_active_dock;
20278
3b25741a9927 Avoid HAVE_ macro in header file.
John W. Eaton <jwe@octave.org>
parents: 20186
diff changeset
336
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
337 QToolBar *m_main_tool_bar;
17619
4288b90f18c4 icons for news and release notes widgets
Torsten <ttl@justmail.de>
parents: 17599
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 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
340
29085
3b29d72645a9 fix alt-key stealing focus from current dock widget in gui
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29084
diff changeset
341 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
342
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
343 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
344 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
345 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
346 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
347 QAction *m_debug_quit;
16454
246d25c8761b split main_window::construct for clarity
John W. Eaton <jwe@octave.org>
parents: 16453
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 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
350 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
351 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
352 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
353 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
354 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
355 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
356 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
357 QAction *m_exit_action;
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_copy_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_paste_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_clear_clipboard_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_undo_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_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
364 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
365 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
366 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
367 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
368
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
369 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
370 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
371 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
372 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
373
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
374 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
375 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
376 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
377 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
378 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
379 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
380 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
381 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
382 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
383 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
384 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
385 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
386 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
387 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
388 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
389 QAction *m_reset_windows_action;
18707
f31fde98c872 use shortcut manager for the window menu
Torsten <ttl@justmail.de>
parents: 18697
diff changeset
390
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
391 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
392 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
393 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
394 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
395 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
396 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
397 QAction *m_about_octave_action;
18710
584b20e9112c use shortcut manager for the main help menu
Torsten <ttl@justmail.de>
parents: 18707
diff changeset
398
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_release_notes_action;
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
400 QAction *m_current_news_action;
18711
9ef65c422f53 use shortcut manager for the main news menu
Torsten <ttl@justmail.de>
parents: 18710
diff changeset
401
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
402 //! For Toolbars.
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
403 //!@{
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
404 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
405 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
406 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
407 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
408 //!@}
14670
7fbea449737d Restructured menus, added toolbar and current directory line edit.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14602
diff changeset
409
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
410 //! 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
411
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
412 QPointer<settings_dialog> m_settings_dlg;
19632
101ce4eaa56c prevent opening the settings dialog multiple times
Torsten <ttl@justmail.de>
parents: 19631
diff changeset
413
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
414 //! 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
415
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
416 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
417
27298
1805f8586179 new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents: 27287
diff changeset
418 //! Set path dialog
1805f8586179 new gui dialog for modifying octaves load path (bug #43549)
JunWang <jstzwj@aliyun.com>
parents: 27287
diff changeset
419 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
420
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
421 //! 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
422
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
423 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
424
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
425 QClipboard *m_clipboard;
17117
47b504503a3f disable global paste action when clipboard is empty
Torsten <ttl@justmail.de>
parents: 17029
diff changeset
426
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
427 //! 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
428 //!@{
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
429 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
430 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
431 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
432 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
433 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
434
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
435 //! 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
436
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
437 bool m_closing;
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
438 //!@}
24109
1d6c940a1b37 doc: Improve Doxygen documentation for some files in libgui.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 24019
diff changeset
439
24715
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
440 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
441 };
88bb3f086d9a move GUI main_window and related classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24641
diff changeset
442 }
17939
16cf38c39915 display community news in simple window; check timestamp and serial number
John W. Eaton <jwe@octave.org>
parents: 17918
diff changeset
443
20945
9d9270e2f98f eliminate comments after preprocessor conditionals
John W. Eaton <jwe@octave.org>
parents: 20791
diff changeset
444 #endif