annotate libgui/src/m-editor/file-editor.h @ 31649:deb553ac2c54

maint: Merge stable to default.
author John W. Eaton <jwe@octave.org>
date Tue, 06 Dec 2022 15:45:27 -0500
parents 431f80aba37a 29d734430e5f
children ca3e6e324d54
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
21203
710e700cdd7f maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents: 21158
diff changeset
26 #if ! defined (octave_file_editor_h)
710e700cdd7f maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents: 21158
diff changeset
27 #define octave_file_editor_h 1
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
28
27633
fd009322dd9f eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
29 #include <list>
27412
da1f59fe04b3 try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents: 27400
diff changeset
30 #include <map>
da1f59fe04b3 try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents: 27400
diff changeset
31
13584
e76a22bfe406 editor: added bookmark feature
ttl <ttl@justmail.de>
parents: 13562
diff changeset
32 #include <QAction>
13524
8c143d6d0330 gui-editor: improved behaviour when closing a modified file
ttl (Torsten) <ttl@justmail.de>
parents: 13506
diff changeset
33 #include <QCloseEvent>
18651
992b6354c8c6 GUI: implement file drag and drop to command and edit window (Bug #41443)
John Donoghue
parents: 18560
diff changeset
34 #include <QDragEnterEvent>
992b6354c8c6 GUI: implement file drag and drop to command and edit window (Bug #41443)
John Donoghue
parents: 18560
diff changeset
35 #include <QDropEvent>
27412
da1f59fe04b3 try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents: 27400
diff changeset
36 #include <QMenuBar>
da1f59fe04b3 try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents: 27400
diff changeset
37 #include <QStackedWidget>
da1f59fe04b3 try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents: 27400
diff changeset
38 #include <QStatusBar>
da1f59fe04b3 try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents: 27400
diff changeset
39 #include <QTabWidget>
da1f59fe04b3 try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents: 27400
diff changeset
40 #include <QToolBar>
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
41
15155
9e62d5a3a45e partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents: 15106
diff changeset
42 #include "file-editor-interface.h"
9e62d5a3a45e partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents: 15106
diff changeset
43 #include "file-editor-tab.h"
27787
5169ed0ff0f0 only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27651
diff changeset
44 #include "find-dialog.h"
24713
36cd70fc2d63 style fixes for file editor
Torsten <mttl@mailbox.org>
parents: 24679
diff changeset
45 #include "tab-bar.h"
15155
9e62d5a3a45e partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents: 15106
diff changeset
46
31646
c6d54dd31a7e maint: Use macros to begin/end C++ namespaces.
John W. Eaton <jwe@octave.org>
parents: 31181
diff changeset
47 OCTAVE_BEGIN_NAMESPACE(octave)
c6d54dd31a7e maint: Use macros to begin/end C++ namespaces.
John W. Eaton <jwe@octave.org>
parents: 31181
diff changeset
48
27629
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
49 class base_qobject;
29713
7b4b7e2a524d fix signal connection to grand parent
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29698
diff changeset
50 class file_editor;
27629
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
51
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
52 // subclassed QTabWidget for using custom tabbar
23304
fb495c47e82d allow double left click for closing tabs in the file editor (bug #44605)
Torsten <mttl@mailbox.org>
parents: 23276
diff changeset
53
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
54 class file_editor_tab_widget : public QTabWidget
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
55 {
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
56 Q_OBJECT
20796
ed770c16a3e8 also store encoding and tab index with last editor session (bugs #46588, #45688)
Torsten <ttl@justmail.de>
parents: 20793
diff changeset
57
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
58 public:
22600
dd80fb1ef949 maint: minor style fixes for C++ code.
John W. Eaton <jwe@octave.org>
parents: 22411
diff changeset
59
29713
7b4b7e2a524d fix signal connection to grand parent
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29698
diff changeset
60 file_editor_tab_widget (QWidget *p, file_editor *fe);
16457
10edb6f1ae98 improve encapsulation of file editor window object
John W. Eaton <jwe@octave.org>
parents: 16452
diff changeset
61
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
62 ~file_editor_tab_widget (void) = default;
24020
387be1a6c3dc style fixes for GUI editor
John W. Eaton <jwe@octave.org>
parents: 23920
diff changeset
63
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
64 tab_bar * get_tab_bar (void) const;
27633
fd009322dd9f eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
65
fd009322dd9f eliminate static variable in file_editor_tab class
John W. Eaton <jwe@octave.org>
parents: 27629
diff changeset
66 std::list<file_editor_tab *> tab_list (void) const;
22411
c69805d1fa64 maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents: 22323
diff changeset
67 };
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
68
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
69 // the class for the file editor
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
70
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
71 class file_editor : public file_editor_interface
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
72 {
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
73 Q_OBJECT
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
74
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
75 public:
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
76
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
77 // struct that allows to sort with respect to the tab index
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
78 struct session_data
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
79 {
25293
ae0518976e2b open files in correct order when restoring editor session (bug #53711)
Torsten <mttl@mailbox.org>
parents: 25103
diff changeset
80 int index;
25743
c2a703df0215 preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents: 25293
diff changeset
81 int line;
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
82 QString file_name;
25743
c2a703df0215 preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents: 25293
diff changeset
83 QString new_file_name;
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
84 QString encoding;
31181
c6c4c6f04170 also restore bookmarks when restoring an editor session at startup
Torsten Lilge <ttl-octave@mailbox.org>
parents: 30745
diff changeset
85 QString bookmarks;
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
86
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
87 bool operator < (const session_data& other) const
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
88 {
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
89 return index < other.index;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
90 }
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
91 };
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16546
diff changeset
92
30745
2f6904439d3c fix updating the name of renamed editor files
Torsten Lilge <ttl-octave@mailbox.org>
parents: 30564
diff changeset
93 struct removed_file_data
2f6904439d3c fix updating the name of renamed editor files
Torsten Lilge <ttl-octave@mailbox.org>
parents: 30564
diff changeset
94 {
2f6904439d3c fix updating the name of renamed editor files
Torsten Lilge <ttl-octave@mailbox.org>
parents: 30564
diff changeset
95 file_editor_tab *editor_tab;
2f6904439d3c fix updating the name of renamed editor files
Torsten Lilge <ttl-octave@mailbox.org>
parents: 30564
diff changeset
96 QString new_file_name;
2f6904439d3c fix updating the name of renamed editor files
Torsten Lilge <ttl-octave@mailbox.org>
parents: 30564
diff changeset
97 };
2f6904439d3c fix updating the name of renamed editor files
Torsten Lilge <ttl-octave@mailbox.org>
parents: 30564
diff changeset
98
27629
8b6e928e0705 in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents: 27620
diff changeset
99 file_editor (QWidget *p, base_qobject& oct_qobj);
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
100
29550
8dd0fca2a3d9 where possible, use default destructors in GUI classes
John W. Eaton <jwe@octave.org>
parents: 29469
diff changeset
101 ~file_editor (void) = default;
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
102
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
103 QMenu * get_mru_menu (void) { return m_mru_file_menu; }
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
104
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
105 QMenu * debug_menu (void) { return m_debug_menu; }
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
106
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
107 QToolBar * toolbar (void) { return m_tool_bar; }
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
108
29085
3b29d72645a9 fix alt-key stealing focus from current dock widget in gui
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28798
diff changeset
109 QMenuBar * menubar (void) { return m_menu_bar; }
3b29d72645a9 fix alt-key stealing focus from current dock widget in gui
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28798
diff changeset
110
30398
d4d83344d653 maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents: 29715
diff changeset
111 void insert_global_actions (QList<QAction *>);
18560
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
112
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
113 enum shared_actions_idx
25103
078b795c5219 maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents: 25054
diff changeset
114 {
078b795c5219 maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents: 25054
diff changeset
115 NEW_SCRIPT_ACTION = 0,
078b795c5219 maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents: 25054
diff changeset
116 NEW_FUNCTION_ACTION,
078b795c5219 maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents: 25054
diff changeset
117 OPEN_ACTION,
078b795c5219 maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents: 25054
diff changeset
118 FIND_FILES_ACTION,
078b795c5219 maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents: 25054
diff changeset
119 UNDO_ACTION,
078b795c5219 maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents: 25054
diff changeset
120 COPY_ACTION,
078b795c5219 maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents: 25054
diff changeset
121 PASTE_ACTION,
078b795c5219 maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents: 25054
diff changeset
122 SELECTALL_ACTION
078b795c5219 maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents: 25054
diff changeset
123 };
15848
424edeca3c66 Redo portions of file editor to use more signals/slots rather than casting.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 15552
diff changeset
124
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
125 void check_actions (void);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
126 void empty_script (bool startup, bool visible);
31619
ad014fc78bd6 use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents: 31181
diff changeset
127 void restore_session (void);
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
128
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
129 signals:
13524
8c143d6d0330 gui-editor: improved behaviour when closing a modified file
ttl (Torsten) <ttl@justmail.de>
parents: 13506
diff changeset
130
31619
ad014fc78bd6 use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents: 31181
diff changeset
131 void fetab_settings_changed (void);
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
132 void fetab_change_request (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
133 // Save is a ping-pong type of communication
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
134 void fetab_save_file (const QWidget *ID, const QString& fileName,
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
135 bool remove_on_success);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
136 // No fetab_open, functionality in editor
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
137 // No fetab_new, functionality in editor
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
138 void fetab_context_help (const QWidget *ID, bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
139 void fetab_context_edit (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
140 void fetab_save_file (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
141 void fetab_save_file_as (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
142 void fetab_print_file (const QWidget *ID);
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
143 void fetab_run_file (const QWidget *ID, bool step_into = false);
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
144 void fetab_context_run (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
145 void fetab_toggle_bookmark (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
146 void fetab_next_bookmark (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
147 void fetab_previous_bookmark (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
148 void fetab_remove_bookmark (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
149 void fetab_toggle_breakpoint (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
150 void fetab_next_breakpoint (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
151 void fetab_previous_breakpoint (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
152 void fetab_remove_all_breakpoints (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
153 void fetab_comment_selected_text (const QWidget *ID, bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
154 void fetab_uncomment_selected_text (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
155 void fetab_indent_selected_text (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
156 void fetab_unindent_selected_text (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
157 void fetab_smart_indent_line_or_selected_text (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
158 void fetab_convert_eol (const QWidget *ID, QsciScintilla::EolMode eol_mode);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
159 void fetab_goto_line (const QWidget *ID, int line = -1);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
160 void fetab_move_match_brace (const QWidget *ID, bool select);
30398
d4d83344d653 maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents: 29715
diff changeset
161 void fetab_completion (const QWidget *);
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
162 void fetab_insert_debugger_pointer (const QWidget *ID, int line = -1);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
163 void fetab_delete_debugger_pointer (const QWidget *ID, int line = -1);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
164 void fetab_do_breakpoint_marker (bool insert, const QWidget *ID,
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
165 int line = -1, const QString& = "");
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
166 void fetab_set_focus (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
167 void fetab_scintilla_command (const QWidget *ID, unsigned int sci_msg);
14825
eae0e9f2a8c6 Added menus, markers and methods to visualize debugging in the editor and add, remove and navigate breakpoints* .
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14795
diff changeset
168
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
169 void fetab_zoom_in (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
170 void fetab_zoom_out (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
171 void fetab_zoom_normal (const QWidget *ID);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
172
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
173 void fetab_set_directory (const QString& dir);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
174 void fetab_recover_from_exit (void);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
175
27787
5169ed0ff0f0 only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27651
diff changeset
176 void edit_area_changed (octave_qscintilla *edit_area);
5169ed0ff0f0 only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27651
diff changeset
177
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
178 void request_settings_dialog (const QString&);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
179 void request_open_file_external (const QString& file_name, int line);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
180 void file_loaded_signal (void);
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
181
29439
fe06fafb4cac fix en-/disabling some editor actions depending on file type (bug #60214)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29374
diff changeset
182 void editor_tabs_changed_signal (bool, bool);
26875
ce972086bfd6 save & run action in editor now also continues in debug mode (bug #44730)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 26873
diff changeset
183 void request_dbcont_signal (void);
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
184
28798
82ccc4e69ba3 show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28382
diff changeset
185 void enter_debug_mode_signal (void);
82ccc4e69ba3 show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28382
diff changeset
186 void exit_debug_mode_signal (void);
82ccc4e69ba3 show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28382
diff changeset
187
29597
07591becbc40 eliminate more child to parent signal/slot connections
John W. Eaton <jwe@octave.org>
parents: 29550
diff changeset
188 void update_gui_lexer_signal (bool);
07591becbc40 eliminate more child to parent signal/slot connections
John W. Eaton <jwe@octave.org>
parents: 29550
diff changeset
189 void execute_command_in_terminal_signal (const QString&);
07591becbc40 eliminate more child to parent signal/slot connections
John W. Eaton <jwe@octave.org>
parents: 29550
diff changeset
190 void focus_console_after_command_signal (void);
07591becbc40 eliminate more child to parent signal/slot connections
John W. Eaton <jwe@octave.org>
parents: 29550
diff changeset
191 void run_file_signal (const QFileInfo&);
07591becbc40 eliminate more child to parent signal/slot connections
John W. Eaton <jwe@octave.org>
parents: 29550
diff changeset
192 void edit_mfile_request (const QString&, const QString&, const QString&, int);
07591becbc40 eliminate more child to parent signal/slot connections
John W. Eaton <jwe@octave.org>
parents: 29550
diff changeset
193 void debug_quit_signal (void);
07591becbc40 eliminate more child to parent signal/slot connections
John W. Eaton <jwe@octave.org>
parents: 29550
diff changeset
194
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
195 public slots:
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
196
27281
0915fec3d3a9 prevent gui from catching focus when its desktop workspace becomes active
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27089
diff changeset
197 void activate (void);
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
198 void set_focus (QWidget *fet);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
199 void enable_menu_shortcuts (bool);
29372
fd1c45b62ba9 fix restoring editor session after having closed all tabs (bug #60051)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29358
diff changeset
200 void save_session (void);
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
201 bool check_closing (void);
27605
60cecb3fed04 fix saving modified files when closing editor tabs or octave
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27412
diff changeset
202 void handle_tab_ready_to_close (void);
18303
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 17903
diff changeset
203
28798
82ccc4e69ba3 show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28382
diff changeset
204 void handle_enter_debug_mode (void);
82ccc4e69ba3 show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28382
diff changeset
205 void handle_exit_debug_mode (void);
82ccc4e69ba3 show value in editor when hovering over variable in debug mode (bug #56990)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 28382
diff changeset
206
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
207 void request_new_file (const QString& commands);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
208 void request_close_file (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
209 void request_close_all_files (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
210 void request_close_other_files (bool);
29469
b4906d3eeb63 provide a tab context menu entry for copying the full path of an editor file
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29439
diff changeset
211 void copy_full_file_path (bool);
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
212 void request_mru_open_file (QAction *action);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
213 void request_print_file (bool);
18303
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 17903
diff changeset
214
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
215 void request_redo (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
216 void request_cut (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
217 void request_context_help (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
218 void request_context_doc (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
219 void request_context_edit (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
220 void request_save_file (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
221 void request_save_file_as (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
222 void request_run_file (bool);
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
223 void request_step_into_file ();
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
224 void request_context_run (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
225 void request_toggle_bookmark (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
226 void request_next_bookmark (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
227 void request_previous_bookmark (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
228 void request_remove_bookmark (bool);
16375
f482302d81c9 editor goto line menu item (bug #38590)
John Donoghue <john.donoghue@ieee.org>
parents: 16291
diff changeset
229
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
230 void request_move_match_brace (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
231 void request_sel_match_brace (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
232 void request_toggle_breakpoint (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
233 void request_next_breakpoint (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
234 void request_previous_breakpoint (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
235 void request_remove_breakpoint (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
236
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
237 void request_delete_start_word (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
238 void request_delete_end_word (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
239 void request_delete_start_line (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
240 void request_delete_end_line (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
241 void request_delete_line (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
242 void request_copy_line (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
243 void request_cut_line (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
244 void request_duplicate_selection (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
245 void request_transpose_line (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
246
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
247 void request_comment_selected_text (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
248 void request_uncomment_selected_text (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
249 void request_comment_var_selected_text (bool);
15848
424edeca3c66 Redo portions of file editor to use more signals/slots rather than casting.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 15552
diff changeset
250
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
251 void request_upper_case (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
252 void request_lower_case (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
253 void request_indent_selected_text (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
254 void request_unindent_selected_text (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
255 void request_smart_indent_line_or_selected_text (void);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
256 void request_conv_eol_windows (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
257 void request_conv_eol_unix (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
258 void request_conv_eol_mac (bool);
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16546
diff changeset
259
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
260 void request_find (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
261 void request_find_next (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
262 void request_find_previous (bool);
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
263
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
264 void request_goto_line (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
265 void request_completion (bool);
13524
8c143d6d0330 gui-editor: improved behaviour when closing a modified file
ttl (Torsten) <ttl@justmail.de>
parents: 13506
diff changeset
266
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
267 void handle_file_name_changed (const QString& fileName,
27053
1bdfd2b523c9 use tab icon for indicating a modified editor file (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 26875
diff changeset
268 const QString& toolTip,
1bdfd2b523c9 use tab icon for indicating a modified editor file (bug #56158)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 26875
diff changeset
269 bool modified);
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
270 void handle_tab_close_request (int index);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
271 void handle_tab_remove_request (void);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
272 void active_tab_changed (int index);
29698
bbf5d4ea616c fix enabled state of editor save action depending on modification state
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29597
diff changeset
273 void handle_editor_state_changed (bool enableCopy, bool is_octave_file,
bbf5d4ea616c fix enabled state of editor save action depending on modification state
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29597
diff changeset
274 bool is_modified);
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
275 void handle_mru_add_file (const QString& file_name, const QString& encoding);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
276 void check_conflict_save (const QString& fileName, bool remove_on_success);
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16881
diff changeset
277
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
278 void handle_insert_debugger_pointer_request (const QString& file, int line);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
279 void handle_delete_debugger_pointer_request (const QString& file, int line);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
280 void handle_update_breakpoint_marker_request (bool insert,
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
281 const QString& file, int line,
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
282 const QString& cond);
23204
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23177
diff changeset
283
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
284 void handle_edit_file_request (const QString& file);
16558
5fc1ce2947bd style fixes
John W. Eaton <jwe@octave.org>
parents: 16546
diff changeset
285
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
286 void handle_file_remove (const QString&, const QString&);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
287 void handle_file_renamed (bool load_new = true);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
288
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
289 // Tells the editor to react on changed settings.
31619
ad014fc78bd6 use individual local gui_settings objects
John W. Eaton <jwe@octave.org>
parents: 31181
diff changeset
290 void notice_settings (void);
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
291
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
292 void set_shortcuts (void);
23379
2a122c3fd80f Backed out changeset 2cee3976d88f
Torsten <mttl@mailbox.org>
parents: 23378
diff changeset
293
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
294 void handle_visibility (bool visible);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
295
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
296 void update_octave_directory (const QString& dir);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
297
27787
5169ed0ff0f0 only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27651
diff changeset
298 void toplevel_change (bool toplevel);
5169ed0ff0f0 only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27651
diff changeset
299
28382
2b52e473b6ef fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27923
diff changeset
300 void handle_autoc_cancelled (void);
2b52e473b6ef fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27923
diff changeset
301
30398
d4d83344d653 maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents: 29715
diff changeset
302 file_editor_tab * reset_focus (void);
28382
2b52e473b6ef fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27923
diff changeset
303
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
304 protected slots:
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
305
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
306 void copyClipboard (void);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
307 void pasteClipboard (void);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
308 void selectAll (void);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
309 void do_undo (void);
18560
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
310
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
311 private slots:
20693
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 19945
diff changeset
312
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
313 void request_open_file (const QString& fileName,
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
314 const QString& encoding = QString (),
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
315 int line = -1, bool debug_pointer = false,
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
316 bool breakpoint_marker = false, bool insert = true,
31181
c6c4c6f04170 also restore bookmarks when restoring an editor session at startup
Torsten Lilge <ttl-octave@mailbox.org>
parents: 30745
diff changeset
317 const QString& cond = "", int index = -1,
c6c4c6f04170 also restore bookmarks when restoring an editor session at startup
Torsten Lilge <ttl-octave@mailbox.org>
parents: 30745
diff changeset
318 const QString& bookmarks = QString ());
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
319 void request_preferences (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
320 void request_styles_preferences (bool);
18651
992b6354c8c6 GUI: implement file drag and drop to command and edit window (Bug #41443)
John Donoghue
parents: 18560
diff changeset
321
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
322 void show_line_numbers (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
323 void show_white_space (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
324 void show_eol_chars (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
325 void show_indent_guides (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
326 void show_long_line (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
327 void show_toolbar (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
328 void show_statusbar (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
329 void show_hscrollbar (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
330 void zoom_in (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
331 void zoom_out (bool);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
332 void zoom_normal (bool);
19246
62756ba9e4e5 add actions for showing text formatting chars and guides in the editor
Torsten <ttl@justmail.de>
parents: 18944
diff changeset
333
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
334 void create_context_menu (QMenu *);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
335 void edit_status_update (bool, bool);
19945
f7a805f02723 link undo in main window to editor if the latter has focus (bug #44402)
Torsten <ttl@justmail.de>
parents: 19803
diff changeset
336
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
337 protected:
16546
c1e90c7cfd30 try harder to find editor tab widgets for files with multiple names
John W. Eaton <jwe@octave.org>
parents: 16457
diff changeset
338
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
339 void closeEvent (QCloseEvent *event);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
340 void dragEnterEvent (QDragEnterEvent *event);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
341 void dropEvent (QDropEvent *event);
28382
2b52e473b6ef fix focus issues in editor due to qt bug with focus proxy chains (bug #57635)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27923
diff changeset
342 void focusInEvent (QFocusEvent *e);
18944
b2c4d6d461f0 fix conflict between main and editor menus when using alt keys (bug #42659)
Torsten <ttl@justmail.de>
parents: 18767
diff changeset
343
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
344 private:
16377
8430ea8c1594 open editor tab and insert marker for debugging with gui
John W. Eaton <jwe@octave.org>
parents: 16375
diff changeset
345
27400
7cf857166440 connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents: 27330
diff changeset
346 file_editor_tab * make_file_editor_tab (const QString& directory = "");
7cf857166440 connect signals when creating file_editor_tab in file editor
John W. Eaton <jwe@octave.org>
parents: 27330
diff changeset
347
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
348 bool is_editor_console_tabbed (void);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
349 void construct (void);
25743
c2a703df0215 preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents: 25293
diff changeset
350 void add_file_editor_tab (file_editor_tab *f, const QString& fn,
c2a703df0215 preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents: 25293
diff changeset
351 int index = -1);
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
352 void mru_menu_update (void);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
353 bool call_custom_editor (const QString& file_name = QString (), int line = -1);
14676
35512b788af2 Editor can now handle multiple files in tabs.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14674
diff changeset
354
27861
3fada47cc58a replacing literals for editor prefs by symbolic constants
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27787
diff changeset
355 void toggle_preference (const gui_pref& preference);
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16881
diff changeset
356
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
357 void handle_dir_remove (const QString& old_name, const QString& new_name);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
358
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
359 bool editor_tab_has_focus (void);
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
360
27787
5169ed0ff0f0 only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27651
diff changeset
361 void find_create (void);
5169ed0ff0f0 only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27651
diff changeset
362
27637
d16336646e18 return pointer to file_editor_tab from file_editor::find_tab_widget
John W. Eaton <jwe@octave.org>
parents: 27633
diff changeset
363 file_editor_tab * find_tab_widget (const QString& openFileName);
24731
a01472d4a170 use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents: 24717
diff changeset
364 QAction * add_action (QMenu *menu, const QString& text,
a01472d4a170 use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents: 24717
diff changeset
365 const char *member, QWidget *receiver = nullptr);
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
366 QAction * add_action (QMenu *menu, const QIcon& icon, const QString& text,
24731
a01472d4a170 use tab navigation from tab_bar in file editor
Torsten <mttl@mailbox.org>
parents: 24717
diff changeset
367 const char *member, QWidget *receiver = nullptr);
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
368
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
369 QMenu * add_menu (QMenuBar *p, QString text);
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
370
27605
60cecb3fed04 fix saving modified files when closing editor tabs or octave
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27412
diff changeset
371 int m_number_of_tabs;
30398
d4d83344d653 maint: style check C++ files in src/ and libgui/ ahead of 7.1 release.
Rik <rik@octave.org>
parents: 29715
diff changeset
372 QHash<QMenu *, QStringList> m_hash_menu_text;
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
373
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
374 QString m_ced;
18303
106da7544504 gui: Add indent/unindent edit menu to editor (Bug #41223)
John Donoghue <john.donoghue@ieee.org>
parents: 17903
diff changeset
375
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
376 QMenuBar *m_menu_bar;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
377 QToolBar *m_tool_bar;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
378 QMenu *m_debug_menu;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
379
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
380 QAction *m_new_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
381 QAction *m_new_function_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
382 QAction *m_open_action;
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16881
diff changeset
383
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
384 QAction *m_upper_case_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
385 QAction *m_lower_case_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
386 QAction *m_comment_selection_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
387 QAction *m_comment_var_selection_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
388 QAction *m_uncomment_selection_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
389 QAction *m_indent_selection_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
390 QAction *m_unindent_selection_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
391 QAction *m_smart_indent_line_or_selection_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
392 QAction *m_conv_eol_windows_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
393 QAction *m_conv_eol_unix_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
394 QAction *m_conv_eol_mac_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
395
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
396 QAction *m_copy_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
397 QAction *m_cut_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
398 QAction *m_paste_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
399 QAction *m_selectall_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
400 QAction *m_context_help_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
401 QAction *m_context_doc_action;
18560
26d15a57f45b add menu entries and shortcuts for zoom functions in the editor (bug #41516)
Torsten <ttl@justmail.de>
parents: 18555
diff changeset
402
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
403 QAction *m_show_linenum_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
404 QAction *m_show_whitespace_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
405 QAction *m_show_eol_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
406 QAction *m_show_indguide_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
407 QAction *m_show_longline_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
408 QAction *m_show_toolbar_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
409 QAction *m_show_statusbar_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
410 QAction *m_show_hscrollbar_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
411 QAction *m_zoom_in_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
412 QAction *m_zoom_out_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
413 QAction *m_zoom_normal_action;
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
414
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
415 QAction *m_delete_start_word_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
416 QAction *m_delete_end_word_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
417 QAction *m_delete_start_line_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
418 QAction *m_delete_end_line_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
419 QAction *m_delete_line_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
420 QAction *m_copy_line_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
421 QAction *m_cut_line_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
422 QAction *m_duplicate_selection_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
423 QAction *m_transpose_line_action;
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16881
diff changeset
424
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
425 QAction *m_find_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
426 QAction *m_find_next_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
427 QAction *m_find_previous_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
428 QAction *m_find_files_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
429 QAction *m_goto_line_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
430 QAction *m_completion_action;
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16881
diff changeset
431
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
432 QAction *m_move_to_matching_brace;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
433 QAction *m_sel_to_matching_brace;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
434 QAction *m_next_bookmark_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
435 QAction *m_previous_bookmark_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
436 QAction *m_toggle_bookmark_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
437 QAction *m_remove_bookmark_action;
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16881
diff changeset
438
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
439 QAction *m_print_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
440 QAction *m_run_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
441 QAction *m_run_selection_action;
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16881
diff changeset
442
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
443 QAction *m_edit_function_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
444 QAction *m_popdown_mru_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
445 QAction *m_save_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
446 QAction *m_save_as_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
447 QAction *m_close_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
448 QAction *m_close_all_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
449 QAction *m_close_others_action;
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16881
diff changeset
450
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
451 QAction *m_redo_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
452 QAction *m_undo_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
453
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
454 QAction *m_preferences_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
455 QAction *m_styles_preferences_action;
17676
c060ad097056 add menu entries to the editor for directly accessing the editor's settings
Torsten <ttl@justmail.de>
parents: 17635
diff changeset
456
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
457 QAction *m_switch_left_tab_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
458 QAction *m_switch_right_tab_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
459 QAction *m_move_tab_left_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
460 QAction *m_move_tab_right_action;
27330
e449134870fb allow to sort editor tabs alphabetically (bug #42602)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27281
diff changeset
461 QAction *m_sort_tabs_action;
20693
7751bd56d0be added actions and shortcuts for switching editor tabs
Torsten <ttl@justmail.de>
parents: 19945
diff changeset
462
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
463 QAction *m_toggle_breakpoint_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
464 QAction *m_next_breakpoint_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
465 QAction *m_previous_breakpoint_action;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
466 QAction *m_remove_all_breakpoints_action;
18665
777281eeb3d4 add all editor actions to the shortcut manager and fix their shortcut context
Torsten <ttl@justmail.de>
parents: 18656
diff changeset
467
27075
fb427fafd494 fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27053
diff changeset
468 bool m_copy_action_enabled;
fb427fafd494 fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27053
diff changeset
469 bool m_undo_action_enabled;
29439
fe06fafb4cac fix en-/disabling some editor actions depending on file type (bug #60214)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29374
diff changeset
470 bool m_is_octave_file;
29698
bbf5d4ea616c fix enabled state of editor save action depending on modification state
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29597
diff changeset
471 bool m_current_tab_modified;
27075
fb427fafd494 fix enabled copy action in editor without selected text
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27053
diff changeset
472
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
473 QMenu *m_edit_menu;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
474 QMenu *m_edit_cmd_menu;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
475 QMenu *m_edit_fmt_menu;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
476 QMenu *m_edit_nav_menu;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
477 QMenu *m_fileMenu;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
478 QMenu *m_view_editor_menu;
18656
1b289f45187f add some qscintilla actions to the menu and to the shortcut manager
Torsten <ttl@justmail.de>
parents: 18651
diff changeset
479
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
480 file_editor_tab_widget *m_tab_widget;
16970
78116b88dbf5 enable readline key bindings in terminal widget of gui (bug #36986)
Torsten <ttl@justmail.de>
parents: 16881
diff changeset
481
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
482 int m_marker_breakpoint;
15860
feba9ff6e6a8 editor: add list of recently used files to the file menu
Torsten <ttl@justmail.de>
parents: 15848
diff changeset
483
27651
c9ebcb9050b4 fix broken storing of editor session data at shutdown
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27639
diff changeset
484 bool m_closing_canceled;
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
485 bool m_closed;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
486 bool m_no_focus;
29715
82e45c11da7d fix auto completion in default empty script of GUI editor (bug #60689)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29713
diff changeset
487 bool m_editor_ready;
23204
75515a7b1b4b add preference for closing files when editor is closed/hidden (bug #50106)
Torsten <mttl@mailbox.org>
parents: 23177
diff changeset
488
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
489 enum { MaxMRUFiles = 10 };
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
490 QMenu *m_mru_file_menu;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
491 QAction *m_mru_file_actions[MaxMRUFiles];
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
492 QStringList m_mru_files;
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
493 QStringList m_mru_files_encodings;
23907
8fa415ff2cb3 reload editor tab when related file is renamed in file browser (bug #43922)
Torsten <mttl@mailbox.org>
parents: 23892
diff changeset
494
27787
5169ed0ff0f0 only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27651
diff changeset
495 QPointer<find_dialog> m_find_dialog;
5169ed0ff0f0 only one find dialog for all editor tabs (bug #57238)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 27651
diff changeset
496
25743
c2a703df0215 preserve tab position and line when reloading renamed editor file (bug #49322)
Torsten <mttl@mailbox.org>
parents: 25293
diff changeset
497 // List of data on temporarily closed files for later reloading.
30745
2f6904439d3c fix updating the name of renamed editor files
Torsten Lilge <ttl-octave@mailbox.org>
parents: 30564
diff changeset
498 QList<removed_file_data> m_tmp_closed_files;
24716
2b3e0b570e77 move GUI file editor classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 24713
diff changeset
499 };
31646
c6d54dd31a7e maint: Use macros to begin/end C++ namespaces.
John W. Eaton <jwe@octave.org>
parents: 31181
diff changeset
500
c6d54dd31a7e maint: Use macros to begin/end C++ namespaces.
John W. Eaton <jwe@octave.org>
parents: 31181
diff changeset
501 OCTAVE_END_NAMESPACE(octave)
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
502
20945
9d9270e2f98f eliminate comments after preprocessor conditionals
John W. Eaton <jwe@octave.org>
parents: 20814
diff changeset
503 #endif