Mercurial > octave
annotate libgui/src/workspace-view.cc @ 27919:1891570abac8
update Octave Project Developers copyright for the new year
In files that have the "Octave Project Developers" copyright notice,
update for 2020.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 06 Jan 2020 22:29:51 -0500 |
parents | b442ec6dda5c |
children | bd51beb6205e |
rev | line source |
---|---|
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
1 /* |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
2 |
27919
1891570abac8
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
27918
diff
changeset
|
3 Copyright (C) 2011-2020 The Octave Project Developers |
27918
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
27893
diff
changeset
|
4 |
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
27893
diff
changeset
|
5 See the file COPYRIGHT.md in the top-level directory of this distribution |
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
27893
diff
changeset
|
6 or <https://octave.org/COPYRIGHT.html/>. |
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
27893
diff
changeset
|
7 |
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
8 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
9 This file is part of Octave. |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
10 |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24362
diff
changeset
|
11 Octave is free software: you can redistribute it and/or modify it |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
12 under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24362
diff
changeset
|
13 the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
14 (at your option) any later version. |
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
15 |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
16 Octave is distributed in the hope that it will be useful, but |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
17 WITHOUT ANY WARRANTY; without even the implied warranty of |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
19 GNU General Public License for more details. |
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
20 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
21 You should have received a copy of the GNU General Public License |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
22 along with Octave; see the file COPYING. If not, see |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24362
diff
changeset
|
23 <https://www.gnu.org/licenses/>. |
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
24 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
25 */ |
13501 | 26 |
21724
aba2e6293dd8
use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents:
21568
diff
changeset
|
27 #if defined (HAVE_CONFIG_H) |
21301
40de9f8f23a6
Use '#include "config.h"' rather than <config.h>.
Rik <rik@octave.org>
parents:
21203
diff
changeset
|
28 # include "config.h" |
15286
ae9079bbc627
Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents:
15204
diff
changeset
|
29 #endif |
ae9079bbc627
Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents:
15204
diff
changeset
|
30 |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
31 #include <QApplication> |
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
32 #include <QClipboard> |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27377
diff
changeset
|
33 #include <QCompleter> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27377
diff
changeset
|
34 #include <QHBoxLayout> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27377
diff
changeset
|
35 #include <QHeaderView> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27377
diff
changeset
|
36 #include <QInputDialog> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27377
diff
changeset
|
37 #include <QLabel> |
16502
45ae1038ee89
allow renaming of variables in workspace viewer
John W. Eaton <jwe@octave.org>
parents:
16478
diff
changeset
|
38 #include <QLineEdit> |
27412
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27377
diff
changeset
|
39 #include <QMenu> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27377
diff
changeset
|
40 #include <QMessageBox> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27377
diff
changeset
|
41 #include <QPushButton> |
da1f59fe04b3
try to use consitent ordering for include files in libgui sources
John W. Eaton <jwe@octave.org>
parents:
27377
diff
changeset
|
42 #include <QSignalMapper> |
13501 | 43 #include <QVBoxLayout> |
44 | |
27560
3fcc650de22f
split gui-preferences.h into one file per widget
John W. Eaton <jwe@octave.org>
parents:
27478
diff
changeset
|
45 #include "gui-preferences-ws.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
|
46 #include "octave-qobject.h" |
16502
45ae1038ee89
allow renaming of variables in workspace viewer
John W. Eaton <jwe@octave.org>
parents:
16478
diff
changeset
|
47 #include "workspace-view.h" |
23599
5cb3a2bb5e1e
don't use singleton for symbol_table
John W. Eaton <jwe@octave.org>
parents:
23449
diff
changeset
|
48 |
5cb3a2bb5e1e
don't use singleton for symbol_table
John W. Eaton <jwe@octave.org>
parents:
23449
diff
changeset
|
49 #include "interpreter-private.h" |
26661
cf9e10ce3351
move variable values from symbol_record objects to stack_frame objects
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
50 #include "interpreter.h" |
26117
a6df420457ac
use symbol_info_list instead of symbol_scope to pass workspace info to gui
John W. Eaton <jwe@octave.org>
parents:
25974
diff
changeset
|
51 #include "syminfo.h" |
16502
45ae1038ee89
allow renaming of variables in workspace viewer
John W. Eaton <jwe@octave.org>
parents:
16478
diff
changeset
|
52 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
53 namespace octave |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
54 { |
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 workspace_view::workspace_view (QWidget *p, base_qobject& oct_qobj) |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
56 : octave_dock_widget ("WorkspaceView", p, oct_qobj), |
27610
8586eb41abf5
improve memory management in workspace_view class
John W. Eaton <jwe@octave.org>
parents:
27560
diff
changeset
|
57 m_view (new QTableView (this)), |
8586eb41abf5
improve memory management in workspace_view class
John W. Eaton <jwe@octave.org>
parents:
27560
diff
changeset
|
58 m_filter_checkbox (new QCheckBox ()), |
8586eb41abf5
improve memory management in workspace_view class
John W. Eaton <jwe@octave.org>
parents:
27560
diff
changeset
|
59 m_filter (new QComboBox (this)), |
8586eb41abf5
improve memory management in workspace_view class
John W. Eaton <jwe@octave.org>
parents:
27560
diff
changeset
|
60 m_filter_widget (new QWidget (this)) |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
61 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
62 setWindowIcon (QIcon (":/actions/icons/logo.png")); |
25508
3edae6ba1fcd
use a custom title bar widget for the main dock widgets
Torsten <mttl@mailbox.org>
parents:
25355
diff
changeset
|
63 set_title (tr ("Workspace")); |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
64 setStatusTip (tr ("View the variables in the active workspace.")); |
13523
103b7bebb38f
Moved load/save/clear workspace into main menu.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13506
diff
changeset
|
65 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
66 m_filter->setToolTip (tr ("Enter text to filter the workspace")); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
67 m_filter->setEditable (true); |
27660
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
68 m_filter->setMaxCount (ws_max_filter_history.def.toInt ()); |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
69 m_filter->setInsertPolicy (QComboBox::NoInsert); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
70 m_filter->setSizeAdjustPolicy (QComboBox::AdjustToMinimumContentsLengthWithIcon); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
71 QSizePolicy sizePol (QSizePolicy::Expanding, QSizePolicy::Preferred); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
72 m_filter->setSizePolicy (sizePol); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
73 m_filter->completer ()->setCaseSensitivity (Qt::CaseSensitive); |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
74 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
75 QLabel *filter_label = new QLabel (tr ("Filter")); |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
76 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
77 m_view->setWordWrap (false); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
78 m_view->setContextMenuPolicy (Qt::CustomContextMenu); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
79 m_view->setShowGrid (false); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
80 (m_view->verticalHeader) ()->hide (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
81 m_view->setAlternatingRowColors (true); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
82 m_view_previous_row_count = 0; |
13523
103b7bebb38f
Moved load/save/clear workspace into main menu.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13506
diff
changeset
|
83 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
84 // Set an empty widget, so we can assign a layout to it. |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
85 setWidget (new QWidget (this)); |
14874
5d74d8b982a5
Forgot to have a fallback lexer when the file suffix is unknown. Removed unused variable and added comments.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
14783
diff
changeset
|
86 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
87 // Create the layouts |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
88 QHBoxLayout *filter_layout = new QHBoxLayout (); |
20570
734d446560a8
possibility to hide filters in history and workspace view (bug#45428)
Torsten <ttl@justmail.de>
parents:
20388
diff
changeset
|
89 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
90 filter_layout->addWidget (filter_label); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
91 filter_layout->addWidget (m_filter_checkbox); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
92 filter_layout->addWidget (m_filter); |
27478
9e526393d80a
reduced vertical space in gui with responsive toolbar buttons (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27467
diff
changeset
|
93 filter_layout->setMargin (0); |
9e526393d80a
reduced vertical space in gui with responsive toolbar buttons (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27467
diff
changeset
|
94 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
95 m_filter_widget->setLayout (filter_layout); |
20570
734d446560a8
possibility to hide filters in history and workspace view (bug#45428)
Torsten <ttl@justmail.de>
parents:
20388
diff
changeset
|
96 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
97 QVBoxLayout *ws_layout = new QVBoxLayout (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
98 ws_layout->addWidget (m_filter_widget); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
99 ws_layout->addWidget (m_view); |
27478
9e526393d80a
reduced vertical space in gui with responsive toolbar buttons (bug #53902)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27467
diff
changeset
|
100 ws_layout->setSpacing (0); |
20570
734d446560a8
possibility to hide filters in history and workspace view (bug#45428)
Torsten <ttl@justmail.de>
parents:
20388
diff
changeset
|
101 |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
102 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
103 gui_settings *settings = rmgr.get_settings (); |
20570
734d446560a8
possibility to hide filters in history and workspace view (bug#45428)
Torsten <ttl@justmail.de>
parents:
20388
diff
changeset
|
104 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
105 if (settings) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
106 { |
27672
a36443e94f8a
simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents:
27660
diff
changeset
|
107 m_filter_shown = settings->value (ws_filter_shown).toBool (); |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
108 m_filter_widget->setVisible (m_filter_shown); |
14874
5d74d8b982a5
Forgot to have a fallback lexer when the file suffix is unknown. Removed unused variable and added comments.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
14783
diff
changeset
|
109 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
110 ws_layout->setMargin (2); |
13501 | 111 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
112 // Set the empty widget to have our layout. |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
113 widget ()->setLayout (ws_layout); |
22177
6e9f5408c0db
Save settings in Qt convention, delete all children in destructors (bug #45366)
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
21724
diff
changeset
|
114 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
115 // Initialize collapse/expand state of the workspace subcategories. |
15164
bc801a44bb1f
follow Octave pattern for resource_manager singleton
John W. Eaton <jwe@octave.org>
parents:
14997
diff
changeset
|
116 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
117 //enable sorting (setting column and order after model was set) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
118 m_view->setSortingEnabled (true); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
119 // Initialize column order and width of the workspace |
27276
7455523fdf01
style fixes: avoid breaking lines immediately after '('
John W. Eaton <jwe@octave.org>
parents:
27220
diff
changeset
|
120 m_view->horizontalHeader ()->restoreState |
27660
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
121 (settings->value (ws_column_state.key).toByteArray ()); |
22250
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22177
diff
changeset
|
122 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
123 // Set header properties for sorting |
24827
1e0718c1867c
eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents:
24775
diff
changeset
|
124 #if defined (HAVE_QHEADERVIEW_SETSECTIONSCLICKABLE) |
1e0718c1867c
eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents:
24775
diff
changeset
|
125 m_view->horizontalHeader ()->setSectionsClickable (true); |
1e0718c1867c
eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents:
24775
diff
changeset
|
126 #else |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
127 m_view->horizontalHeader ()->setClickable (true); |
24827
1e0718c1867c
eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents:
24775
diff
changeset
|
128 #endif |
1e0718c1867c
eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents:
24775
diff
changeset
|
129 #if defined (HAVE_QHEADERVIEW_SETSECTIONSMOVABLE) |
1e0718c1867c
eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents:
24775
diff
changeset
|
130 m_view->horizontalHeader ()->setSectionsMovable (true); |
1e0718c1867c
eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents:
24775
diff
changeset
|
131 #else |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
132 m_view->horizontalHeader ()->setMovable (true); |
22250
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22177
diff
changeset
|
133 #endif |
27712
f8fae6e5d636
backout changeset fb2724126950 for fixing bug #57225
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27675
diff
changeset
|
134 m_view->horizontalHeader ()->setSortIndicator ( |
f8fae6e5d636
backout changeset fb2724126950 for fixing bug #57225
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27675
diff
changeset
|
135 settings->value (ws_sort_column).toInt (), |
f8fae6e5d636
backout changeset fb2724126950 for fixing bug #57225
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27675
diff
changeset
|
136 static_cast<Qt::SortOrder> (settings->value (ws_sort_order).toUInt ())); |
27726
b2c11742b7ec
add FIXMEs for replacing static casts by Qvariants value<T> after Qt 5.4
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27712
diff
changeset
|
137 // FIXME: use value<Qt::SortOrder> instead of static cast after |
b2c11742b7ec
add FIXMEs for replacing static casts by Qvariants value<T> after Qt 5.4
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27712
diff
changeset
|
138 // dropping support of Qt 5.4 |
b2c11742b7ec
add FIXMEs for replacing static casts by Qvariants value<T> after Qt 5.4
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27712
diff
changeset
|
139 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
140 m_view->horizontalHeader ()->setSortIndicatorShown (true); |
19982
9a8be23d2c05
extend sorting of workspave view widget
Torsten <ttl@justmail.de>
parents:
19981
diff
changeset
|
141 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
142 m_view->horizontalHeader ()->setContextMenuPolicy (Qt::CustomContextMenu); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
143 connect (m_view->horizontalHeader (), |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
144 SIGNAL (customContextMenuRequested (const QPoint &)), |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
145 this, SLOT (header_contextmenu_requested (const QPoint &))); |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
146 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
147 // Init state of the filter |
27660
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
148 m_filter->addItems (settings->value (ws_mru_list.key).toStringList ()); |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
149 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
150 bool filter_state = |
27672
a36443e94f8a
simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents:
27660
diff
changeset
|
151 settings->value (ws_filter_active).toBool (); |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
152 m_filter_checkbox->setChecked (filter_state); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
153 filter_activate (filter_state); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
154 } |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
155 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
156 // Connect signals and slots. |
14874
5d74d8b982a5
Forgot to have a fallback lexer when the file suffix is unknown. Removed unused variable and added comments.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
14783
diff
changeset
|
157 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
158 connect (m_filter, SIGNAL (editTextChanged (const QString&)), |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
159 this, SLOT (filter_update (const QString&))); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
160 connect (m_filter_checkbox, SIGNAL (toggled (bool)), |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
161 this, SLOT (filter_activate (bool))); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
162 connect (m_filter->lineEdit (), SIGNAL (editingFinished ()), |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
163 this, SLOT (update_filter_history ())); |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
164 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
165 connect (m_view, SIGNAL (customContextMenuRequested (const QPoint&)), |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
166 this, SLOT (contextmenu_requested (const QPoint&))); |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
167 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
168 connect (m_view, SIGNAL (activated (QModelIndex)), |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
169 this, SLOT (handle_contextmenu_edit (void))); |
23945
cf16f6521180
double clicking a variable in workspace view opens variable editor (bug #51843)
Torsten <mttl@mailbox.org>
parents:
23927
diff
changeset
|
170 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
171 connect (this, SIGNAL (command_requested (const QString&)), |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
172 p, SLOT (execute_command_in_terminal (const QString&))); |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23807
diff
changeset
|
173 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
174 connect (this, |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
175 SIGNAL (edit_variable_signal (const QString&, const octave_value&)), |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
176 p, SLOT (edit_variable (const QString&, const octave_value&))); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
177 } |
13577
e440b3f32f02
Fixed bug with closing subwindows.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13541
diff
changeset
|
178 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
179 void workspace_view::setModel (workspace_model *model) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
180 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
181 m_filter_model.setSourceModel (model); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
182 m_filter_model.setFilterKeyColumn(0); |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
183 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
184 m_view->setModel (&m_filter_model); |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
185 |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27890
diff
changeset
|
186 // set the sorting after the model is set, it would be ignored otherwise |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
187 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
188 gui_settings *settings = rmgr.get_settings (); |
27712
f8fae6e5d636
backout changeset fb2724126950 for fixing bug #57225
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27675
diff
changeset
|
189 m_view->sortByColumn ( |
f8fae6e5d636
backout changeset fb2724126950 for fixing bug #57225
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27675
diff
changeset
|
190 settings->value (ws_sort_column).toInt (), |
f8fae6e5d636
backout changeset fb2724126950 for fixing bug #57225
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27675
diff
changeset
|
191 static_cast<Qt::SortOrder> (settings->value (ws_sort_order).toUInt ())); |
27726
b2c11742b7ec
add FIXMEs for replacing static casts by Qvariants value<T> after Qt 5.4
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27712
diff
changeset
|
192 // FIXME: use value<Qt::SortOrder> instead of static cast after |
b2c11742b7ec
add FIXMEs for replacing static casts by Qvariants value<T> after Qt 5.4
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27712
diff
changeset
|
193 // dropping support of Qt 5.4 |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
194 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
195 m_model = model; |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
196 } |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
197 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
198 void |
27611
0495b64288f7
use new gui_settings class instead of using QSettings directly
John W. Eaton <jwe@octave.org>
parents:
27610
diff
changeset
|
199 workspace_view::notice_settings (const gui_settings *settings) |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
200 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
201 m_model->notice_settings (settings); // update colors of model first |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
202 |
27660
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
203 for (int i = 0; i < ws_columns_shown.length (); i++) |
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
204 m_view->setColumnHidden (i + 1, ! settings->value (ws_columns_shown_keys.at (i),true).toBool ()); |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
205 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
206 QString tool_tip; |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
207 |
27672
a36443e94f8a
simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents:
27660
diff
changeset
|
208 if (settings->value (ws_enable_colors).toBool () |
a36443e94f8a
simplify gui_settings->value (PREF.key, PREF.def) calls
John W. Eaton <jwe@octave.org>
parents:
27660
diff
changeset
|
209 && ! settings->value (ws_hide_tool_tips).toBool ()) |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
210 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
211 tool_tip = QString (tr ("View the variables in the active workspace.<br>")); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
212 tool_tip += QString (tr ("Colors for variable attributes:")); |
27660
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
213 |
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
214 for (int i = 0; i < ws_colors_count; i++) |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
215 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
216 tool_tip += |
27033
c76dd670a7a5
automatic selection of foreground color in worspace view (bug #53995)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26661
diff
changeset
|
217 QString (R"(<div style="background-color:%1;color:%2">%3</div>)") |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
218 .arg (m_model->storage_class_color (i).name ()) |
27660
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
219 .arg (m_model->storage_class_color (i + ws_colors_count).name ()) |
27890
5ca326b3c0d5
fix missing translations due to new symbolic constants for prefs (bug #57490)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27726
diff
changeset
|
220 .arg (QCoreApplication::translate ("octave::settings_dialog", |
5ca326b3c0d5
fix missing translations due to new symbolic constants for prefs (bug #57490)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27726
diff
changeset
|
221 ws_color_names.at (i).toStdString ().data ())); |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
222 } |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
223 } |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
224 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
225 setToolTip (tool_tip); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
226 } |
13577
e440b3f32f02
Fixed bug with closing subwindows.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13541
diff
changeset
|
227 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
228 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
229 workspace_view::save_settings (void) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
230 { |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
231 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
232 gui_settings *settings = rmgr.get_settings (); |
16463
8e2a853cdd7d
derive workspace_view from octave_dock_widget; style fixes
John W. Eaton <jwe@octave.org>
parents:
16462
diff
changeset
|
233 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
234 if (! settings) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
235 return; |
22177
6e9f5408c0db
Save settings in Qt convention, delete all children in destructors (bug #45366)
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
21724
diff
changeset
|
236 |
27660
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
237 settings->setValue (ws_column_state.key, |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
238 m_view->horizontalHeader ()->saveState ()); |
19982
9a8be23d2c05
extend sorting of workspave view widget
Torsten <ttl@justmail.de>
parents:
19981
diff
changeset
|
239 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
240 int sort_column = m_view->horizontalHeader ()->sortIndicatorSection (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
241 Qt::SortOrder sort_order = m_view->horizontalHeader ()->sortIndicatorOrder (); |
27660
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
242 settings->setValue (ws_sort_column.key, sort_column); |
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
243 settings->setValue (ws_sort_order.key, sort_order); |
19982
9a8be23d2c05
extend sorting of workspave view widget
Torsten <ttl@justmail.de>
parents:
19981
diff
changeset
|
244 |
27660
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
245 settings->setValue (ws_filter_active.key, m_filter_checkbox->isChecked ()); |
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
246 settings->setValue (ws_filter_shown.key, m_filter_shown); |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
247 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
248 QStringList mru; |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
249 for (int i = 0; i < m_filter->count (); i++) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
250 mru.append (m_filter->itemText (i)); |
27660
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
251 settings->setValue (ws_mru_list.key, mru); |
16463
8e2a853cdd7d
derive workspace_view from octave_dock_widget; style fixes
John W. Eaton <jwe@octave.org>
parents:
16462
diff
changeset
|
252 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
253 settings->sync (); |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
254 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
255 octave_dock_widget::save_settings (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
256 } |
16610
a1f613e5066d
workspace view colors based upon variable scope (derived from Dan's patch #8013)
Torsten <ttl@justmail.de>
parents:
16575
diff
changeset
|
257 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
258 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
259 workspace_view::filter_update (const QString& expression) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
260 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
261 m_filter_model.setFilterWildcard (expression); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
262 handle_model_changed (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
263 } |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
264 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
265 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
266 workspace_view::filter_activate (bool state) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
267 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
268 m_filter->setEnabled (state); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
269 m_filter_model.setDynamicSortFilter (state); |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
270 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
271 if (state) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
272 filter_update (m_filter->currentText ()); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
273 else |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
274 filter_update (QString ()); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
275 } |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
276 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
277 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
278 workspace_view::update_filter_history (void) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
279 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
280 QString text = m_filter->currentText (); // get current text |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
281 int index = m_filter->findText (text); // and its actual index |
19562
010cef260698
improve filter of workspace view
Torsten <ttl@justmail.de>
parents:
19539
diff
changeset
|
282 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
283 if (index > -1) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
284 m_filter->removeItem (index); // remove if already existing |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
285 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
286 m_filter->insertItem (0, text); // (re)insert at beginning |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
287 m_filter->setCurrentIndex (0); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
288 } |
19433
2f0c21339e9d
values of variables in workspace view copyable (bug #43674)
Torsten <ttl@justmail.de>
parents:
19162
diff
changeset
|
289 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
290 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
291 workspace_view::header_contextmenu_requested (const QPoint& mpos) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
292 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
293 QMenu menu (this); |
27610
8586eb41abf5
improve memory management in workspace_view class
John W. Eaton <jwe@octave.org>
parents:
27560
diff
changeset
|
294 QSignalMapper sig_mapper (this); |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
295 |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
296 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
297 gui_settings *settings = rmgr.get_settings (); |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
298 |
27660
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
299 for (int i = 0; i < ws_columns_shown.length (); i++) |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
300 { |
27890
5ca326b3c0d5
fix missing translations due to new symbolic constants for prefs (bug #57490)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27726
diff
changeset
|
301 QAction *action |
5ca326b3c0d5
fix missing translations due to new symbolic constants for prefs (bug #57490)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27726
diff
changeset
|
302 = menu.addAction (tr (ws_columns_shown.at (i).toStdString ().data ()), |
5ca326b3c0d5
fix missing translations due to new symbolic constants for prefs (bug #57490)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27726
diff
changeset
|
303 &sig_mapper, SLOT (map ())); |
27610
8586eb41abf5
improve memory management in workspace_view class
John W. Eaton <jwe@octave.org>
parents:
27560
diff
changeset
|
304 sig_mapper.setMapping (action, i); |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
305 action->setCheckable (true); |
27660
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
306 action->setChecked (settings->value (ws_columns_shown_keys.at (i),true).toBool ()); |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
307 } |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
308 |
27610
8586eb41abf5
improve memory management in workspace_view class
John W. Eaton <jwe@octave.org>
parents:
27560
diff
changeset
|
309 connect (&sig_mapper, SIGNAL (mapped (int)), |
8586eb41abf5
improve memory management in workspace_view class
John W. Eaton <jwe@octave.org>
parents:
27560
diff
changeset
|
310 this, SLOT (toggle_header (int))); |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
311 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
312 menu.exec (m_view->mapToGlobal (mpos)); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
313 } |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
314 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
315 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
316 workspace_view::toggle_header (int col) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
317 { |
27629
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
318 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); |
8b6e928e0705
in GUI objects, store reference to base_qobject instead of resource_manager
John W. Eaton <jwe@octave.org>
parents:
27620
diff
changeset
|
319 gui_settings *settings = rmgr.get_settings (); |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
320 |
27660
30e84a3d58e5
replace preference literals by symbolic constants for workspace view
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27629
diff
changeset
|
321 QString key = ws_columns_shown_keys.at (col); |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
322 bool shown = settings->value (key,true).toBool (); |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
323 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
324 m_view->setColumnHidden (col + 1, shown); |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
325 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
326 settings->setValue (key, ! shown); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
327 settings->sync (); |
22177
6e9f5408c0db
Save settings in Qt convention, delete all children in destructors (bug #45366)
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
21724
diff
changeset
|
328 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
329 octave_dock_widget::save_settings (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
330 } |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
331 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
332 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
333 workspace_view::contextmenu_requested (const QPoint& qpos) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
334 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
335 QMenu menu (this); |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
336 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
337 QModelIndex index = m_view->indexAt (qpos); |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
338 |
27893
465ac679e976
Fix typos and grammar errors in comments in libgui (patch #9790)
Andrew Janke <andrew@apjanke.net>
parents:
27890
diff
changeset
|
339 // if it isn't Local, Global etc, allow the ctx menu |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
340 if (index.isValid () && index.column () == 0) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
341 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
342 QString var_name = get_var_name (index); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
343 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
344 menu.addAction (tr ("Open in Variable Editor"), this, |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
345 SLOT (handle_contextmenu_edit ())); |
23945
cf16f6521180
double clicking a variable in workspace view opens variable editor (bug #51843)
Torsten <mttl@mailbox.org>
parents:
23927
diff
changeset
|
346 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
347 menu.addAction (tr ("Copy name"), this, |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
348 SLOT (handle_contextmenu_copy ())); |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
349 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
350 menu.addAction (tr ("Copy value"), this, |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
351 SLOT (handle_contextmenu_copy_value ())); |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
352 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
353 QAction *rename = menu.addAction (tr ("Rename"), this, |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
354 SLOT (handle_contextmenu_rename ())); |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
355 |
27192
8779c631d55f
fix access to top_level info flag when creating workspace view context menu
John W. Eaton <jwe@octave.org>
parents:
27033
diff
changeset
|
356 // Use m_model here instead of using "m_view->model ()" because |
8779c631d55f
fix access to top_level info flag when creating workspace view context menu
John W. Eaton <jwe@octave.org>
parents:
27033
diff
changeset
|
357 // that points to the proxy model. |
8779c631d55f
fix access to top_level info flag when creating workspace view context menu
John W. Eaton <jwe@octave.org>
parents:
27033
diff
changeset
|
358 if (! m_model->is_top_level ()) |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
359 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
360 rename->setDisabled (true); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
361 rename->setToolTip (tr ("Only top-level symbols may be renamed")); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
362 } |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
363 |
24775
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
364 menu.addAction ("Clear " + var_name, this, |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
365 SLOT (handle_contextmenu_clear ())); |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
366 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
367 menu.addSeparator (); |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
368 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
369 menu.addAction ("disp (" + var_name + ')', this, |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
370 SLOT (handle_contextmenu_disp ())); |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
371 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
372 menu.addAction ("plot (" + var_name + ')', this, |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
373 SLOT (handle_contextmenu_plot ())); |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
374 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
375 menu.addAction ("stem (" + var_name + ')', this, |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
376 SLOT (handle_contextmenu_stem ())); |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
377 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
378 menu.addSeparator (); |
20570
734d446560a8
possibility to hide filters in history and workspace view (bug#45428)
Torsten <ttl@justmail.de>
parents:
20388
diff
changeset
|
379 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
380 } |
20570
734d446560a8
possibility to hide filters in history and workspace view (bug#45428)
Torsten <ttl@justmail.de>
parents:
20388
diff
changeset
|
381 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
382 if (m_filter_shown) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
383 menu.addAction (tr ("Hide filter"), this, |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
384 SLOT (handle_contextmenu_filter ())); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
385 else |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
386 menu.addAction (tr ("Show filter"), this, |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
387 SLOT (handle_contextmenu_filter ())); |
20570
734d446560a8
possibility to hide filters in history and workspace view (bug#45428)
Torsten <ttl@justmail.de>
parents:
20388
diff
changeset
|
388 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
389 menu.exec (m_view->mapToGlobal (qpos)); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
390 } |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
391 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
392 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
393 workspace_view::handle_contextmenu_copy (void) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
394 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
395 QModelIndex index = m_view->currentIndex (); |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
396 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
397 if (index.isValid ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
398 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
399 QString var_name = get_var_name (index); |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
400 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
401 QClipboard *clipboard = QApplication::clipboard (); |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
402 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
403 clipboard->setText (var_name); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
404 } |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
405 } |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
406 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
407 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
408 workspace_view::handle_contextmenu_copy_value (void) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
409 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
410 QModelIndex index = m_view->currentIndex (); |
19433
2f0c21339e9d
values of variables in workspace view copyable (bug #43674)
Torsten <ttl@justmail.de>
parents:
19162
diff
changeset
|
411 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
412 if (index.isValid ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
413 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
414 QString var_name = get_var_name (index); |
19433
2f0c21339e9d
values of variables in workspace view copyable (bug #43674)
Torsten <ttl@justmail.de>
parents:
19162
diff
changeset
|
415 |
27377
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
416 emit interpreter_event |
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
417 ([var_name] (interpreter& interp) |
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
418 { |
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
419 // INTERPRETER THREAD |
27375
2fb37768085d
mark locations in GUI that should be checked for thread safety
John W. Eaton <jwe@octave.org>
parents:
27276
diff
changeset
|
420 |
27377
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
421 octave_value val = interp.varval (var_name.toStdString ()); |
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
422 |
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
423 if (val.is_undefined ()) |
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
424 val = 0; |
23599
5cb3a2bb5e1e
don't use singleton for symbol_table
John W. Eaton <jwe@octave.org>
parents:
23449
diff
changeset
|
425 |
27377
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
426 std::ostringstream buf; |
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
427 val.print_raw (buf, true); |
19433
2f0c21339e9d
values of variables in workspace view copyable (bug #43674)
Torsten <ttl@justmail.de>
parents:
19162
diff
changeset
|
428 |
27377
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
429 // FIXME: is the following operation thread safe or should |
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
430 // it be done with a signal/slot connection? |
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
431 |
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
432 QClipboard *clipboard = QApplication::clipboard (); |
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
433 clipboard->setText (QString::fromStdString (buf.str ())); |
5ca84fb30205
use event manager to handle two more interpreter actions in GUI
John W. Eaton <jwe@octave.org>
parents:
27375
diff
changeset
|
434 }); |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
435 } |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
436 } |
19433
2f0c21339e9d
values of variables in workspace view copyable (bug #43674)
Torsten <ttl@justmail.de>
parents:
19162
diff
changeset
|
437 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
438 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
439 workspace_view::handle_contextmenu_rename (void) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
440 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
441 QModelIndex index = m_view->currentIndex (); |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
442 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
443 if (index.isValid ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
444 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
445 QString var_name = get_var_name (index); |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
446 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
447 QInputDialog *inputDialog = new QInputDialog (); |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
448 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
449 inputDialog->setOptions (QInputDialog::NoButtons); |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
450 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
451 bool ok = false; |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
452 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
453 QString new_name |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
454 = inputDialog->getText (nullptr, "Rename Variable", "New name:", |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
455 QLineEdit::Normal, var_name, &ok); |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
456 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
457 if (ok && ! new_name.isEmpty ()) |
27220
9a4a9fcc186b
connect workspace view rename variable signal to main window slot
John W. Eaton <jwe@octave.org>
parents:
27192
diff
changeset
|
458 emit rename_variable_signal (var_name, new_name); |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
459 } |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
460 } |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
461 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
462 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
463 workspace_view::handle_contextmenu_edit (void) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
464 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
465 QModelIndex index = m_view->currentIndex (); |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23807
diff
changeset
|
466 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
467 if (index.isValid ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
468 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
469 QString var_name = get_var_name (index); |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23807
diff
changeset
|
470 |
26117
a6df420457ac
use symbol_info_list instead of symbol_scope to pass workspace info to gui
John W. Eaton <jwe@octave.org>
parents:
25974
diff
changeset
|
471 symbol_info_list syminfo = m_model->get_symbol_info (); |
a6df420457ac
use symbol_info_list instead of symbol_scope to pass workspace info to gui
John W. Eaton <jwe@octave.org>
parents:
25974
diff
changeset
|
472 octave_value val = syminfo.varval (var_name.toStdString ()); |
24645
f61502510d08
restore ability to select variables for editing from workspace widget
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
473 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
474 emit edit_variable_signal (var_name, val); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
475 } |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
476 } |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23807
diff
changeset
|
477 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
478 void |
24775
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
479 workspace_view::handle_contextmenu_clear (void) |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
480 { |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
481 relay_contextmenu_command ("clear", true); |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
482 } |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
483 |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
484 void |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
485 workspace_view::handle_contextmenu_disp (void) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
486 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
487 relay_contextmenu_command ("disp"); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
488 } |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
489 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
490 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
491 workspace_view::handle_contextmenu_plot (void) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
492 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
493 relay_contextmenu_command ("figure (); plot"); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
494 } |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
495 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
496 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
497 workspace_view::handle_contextmenu_stem (void) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
498 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
499 relay_contextmenu_command ("figure (); stem"); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
500 } |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
501 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
502 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
503 workspace_view::handle_contextmenu_filter (void) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
504 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
505 m_filter_shown = ! m_filter_shown; |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
506 m_filter_widget->setVisible (m_filter_shown); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
507 } |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
508 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
509 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
510 workspace_view::handle_model_changed (void) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
511 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
512 // m_view->resizeRowsToContents (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
513 // Just modify those rows that have been added rather than go through |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
514 // the whole list. For-loop test will handle when number of rows reduced. |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
515 QFontMetrics fm = m_view->fontMetrics (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
516 int row_height = fm.height (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
517 int new_row_count = m_filter_model.rowCount (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
518 for (int i = m_view_previous_row_count; i < new_row_count; i++) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
519 m_view->setRowHeight (i, row_height); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
520 m_view_previous_row_count = new_row_count; |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
521 } |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
522 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
523 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
524 workspace_view::copyClipboard () |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
525 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
526 if (m_view->hasFocus ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
527 handle_contextmenu_copy (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
528 } |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
529 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
530 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
531 workspace_view::selectAll () |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
532 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
533 if (m_view->hasFocus ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
534 m_view->selectAll (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
535 } |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
536 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
537 void |
24775
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
538 workspace_view::relay_contextmenu_command (const QString& cmdname, bool str) |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
539 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
540 QModelIndex index = m_view->currentIndex (); |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
541 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
542 if (index.isValid ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
543 { |
24775
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
544 QString var_name; |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
545 |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
546 if (str) |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
547 var_name = "\'" + get_var_name (index) + "\'"; |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
548 else |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
549 var_name = get_var_name (index); |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
550 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
551 emit command_requested (cmdname + " (" + var_name + ");"); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
552 } |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
553 } |
16572
17941fedd4ce
Change workspace row height to font height.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16570
diff
changeset
|
554 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
555 QString |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
556 workspace_view::get_var_name (const QModelIndex& index) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
557 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
558 // We are using a sort model proxy so m_model won't provide the |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
559 // correct ordering. |
24648
1f1ac73910ab
respect sorting in variable editor (bug #51843)
John W. Eaton <jwe@octave.org>
parents:
24645
diff
changeset
|
560 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
561 QAbstractItemModel *m = m_view->model (); |
24648
1f1ac73910ab
respect sorting in variable editor (bug #51843)
John W. Eaton <jwe@octave.org>
parents:
24645
diff
changeset
|
562 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
563 QMap<int, QVariant> item_data |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
564 = m->itemData (index.sibling (index.row (), 0)); |
19042
110702c507e3
user setting for hiding the tool tip in the workspace view (part of bug #42306)
Torsten <ttl@justmail.de>
parents:
18555
diff
changeset
|
565 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
566 return item_data[0].toString (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
567 } |
16610
a1f613e5066d
workspace view colors based upon variable scope (derived from Dan's patch #8013)
Torsten <ttl@justmail.de>
parents:
16575
diff
changeset
|
568 } |