Mercurial > octave
annotate libgui/src/workspace-view.cc @ 25355:5bb07f6e3707
fix uninitialized settings of octave dock widgets at startup (bug #53835)
* octave-dock-widget.cc (octave_dock_widget): new parameter for object name
allowing to set the object name as very first action, call handle_settings
already in the ctor of this class;
(qdockwidget_css): minor update of the dock/hide icon geometry
(make_widget): do not use stored dock area for re-docking;
(handle_settings): do not read dock area but do read last dock geometry;
(save_settings): get latest geometry before saving the settings, do not
save the dock area;
* octave-dock-widget.h: object name as new parameter for ctor,
delete class variable for storing dock area
* documentation-dock-widget.cc (documentation_dock_widget): provide object
name as new parameter to octave_dock_widget
* files-dock-widget.cc (files_dock_widget): dito
* history-dock-widget.cc (history_dock_widget): dito
* file-editor-interface.h (file_editor_interface): dito
* terminal-dock-widget.cc (terminal_dock_widget): dito
* variable-editor.cc (variable_editor): dito
* workspace-view.cc (workspace_view): dito
* variable-editor-model.cc (base_ve_model::data): remove code snippets that
were previously canceled by #if 0 statement
author | Torsten <mttl@mailbox.org> |
---|---|
date | Sun, 06 May 2018 16:27:18 +0200 |
parents | 05a690606fd5 |
children | 3edae6ba1fcd |
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 |
25054
6652d3823428
maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents:
24827
diff
changeset
|
3 Copyright (C) 2013-2018 John W. Eaton |
6652d3823428
maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents:
24827
diff
changeset
|
4 Copyright (C) 2011-2018 Jacob Dawid |
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
5 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
6 This file is part of Octave. |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
7 |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24362
diff
changeset
|
8 Octave is free software: you can redistribute it and/or modify it |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
9 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
|
10 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
|
11 (at your option) any later version. |
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
12 |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
13 Octave is distributed in the hope that it will be useful, but |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
14 WITHOUT ANY WARRANTY; without even the implied warranty of |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
16 GNU General Public License for more details. |
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
17 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
18 You should have received a copy of the GNU General Public License |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
19 along with Octave; see the file COPYING. If not, see |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24362
diff
changeset
|
20 <https://www.gnu.org/licenses/>. |
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
21 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
22 */ |
13501 | 23 |
21724
aba2e6293dd8
use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents:
21568
diff
changeset
|
24 #if defined (HAVE_CONFIG_H) |
21301
40de9f8f23a6
Use '#include "config.h"' rather than <config.h>.
Rik <rik@octave.org>
parents:
21203
diff
changeset
|
25 # include "config.h" |
15286
ae9079bbc627
Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents:
15204
diff
changeset
|
26 #endif |
ae9079bbc627
Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents:
15204
diff
changeset
|
27 |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
28 #include <QInputDialog> |
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
29 #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
|
30 #include <QClipboard> |
16502
45ae1038ee89
allow renaming of variables in workspace viewer
John W. Eaton <jwe@octave.org>
parents:
16478
diff
changeset
|
31 #include <QMessageBox> |
45ae1038ee89
allow renaming of variables in workspace viewer
John W. Eaton <jwe@octave.org>
parents:
16478
diff
changeset
|
32 #include <QLineEdit> |
15460
7f36f7dc25b2
save and restore the columns order and width of the workspace-view
Torsten <ttl@justmail.de>
parents:
15389
diff
changeset
|
33 #include <QHeaderView> |
13501 | 34 #include <QHBoxLayout> |
35 #include <QVBoxLayout> | |
36 #include <QPushButton> | |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
37 #include <QMenu> |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
38 #include <QLabel> |
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
39 #include <QCompleter> |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
40 #include <QSignalMapper> |
13501 | 41 |
16502
45ae1038ee89
allow renaming of variables in workspace viewer
John W. Eaton <jwe@octave.org>
parents:
16478
diff
changeset
|
42 #include "workspace-view.h" |
45ae1038ee89
allow renaming of variables in workspace viewer
John W. Eaton <jwe@octave.org>
parents:
16478
diff
changeset
|
43 #include "resource-manager.h" |
23599
5cb3a2bb5e1e
don't use singleton for symbol_table
John W. Eaton <jwe@octave.org>
parents:
23449
diff
changeset
|
44 |
5cb3a2bb5e1e
don't use singleton for symbol_table
John W. Eaton <jwe@octave.org>
parents:
23449
diff
changeset
|
45 #include "interpreter-private.h" |
24362
3fc24b792a24
avoid including symtab.h, symscope.h, or symrec.h unnecessarily
John W. Eaton <jwe@octave.org>
parents:
24361
diff
changeset
|
46 #include "symscope.h" |
16502
45ae1038ee89
allow renaming of variables in workspace viewer
John W. Eaton <jwe@octave.org>
parents:
16478
diff
changeset
|
47 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
48 namespace octave |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
49 { |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
50 workspace_view::workspace_view (QWidget *p) |
25355
5bb07f6e3707
fix uninitialized settings of octave dock widgets at startup (bug #53835)
Torsten <mttl@mailbox.org>
parents:
25354
diff
changeset
|
51 : octave_dock_widget ("WorkspaceView", p), m_view (new QTableView (this)) |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
52 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
53 setWindowIcon (QIcon (":/actions/icons/logo.png")); |
25354
05a690606fd5
Use default title bar to preserve GUI float decorations (bug #53276)
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
25103
diff
changeset
|
54 setWindowTitle (tr ("Workspace")); |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
55 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
|
56 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
57 m_filter = new QComboBox (this); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
58 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
|
59 m_filter->setEditable (true); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
60 m_filter->setMaxCount (MaxFilterHistory); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
61 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
|
62 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
|
63 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
|
64 m_filter->setSizePolicy (sizePol); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
65 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
|
66 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
67 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
|
68 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
69 m_filter_checkbox = new QCheckBox (); |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
70 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
71 m_view->setWordWrap (false); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
72 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
|
73 m_view->setShowGrid (false); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
74 (m_view->verticalHeader) ()->hide (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
75 m_view->setAlternatingRowColors (true); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
76 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
|
77 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
78 // 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
|
79 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
|
80 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
81 // Create the layouts |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
82 m_filter_widget = new QWidget (this); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
83 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
|
84 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
85 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
|
86 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
|
87 filter_layout->addWidget (m_filter); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
88 filter_layout->setMargin(0); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
89 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
|
90 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
91 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
|
92 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
|
93 ws_layout->addWidget (m_view); |
20570
734d446560a8
possibility to hide filters in history and workspace view (bug#45428)
Torsten <ttl@justmail.de>
parents:
20388
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 QSettings *settings = resource_manager::get_settings (); |
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 if (settings) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
98 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
99 m_filter_shown = settings->value ("workspaceview/filter_shown",true).toBool (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
100 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
|
101 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
102 ws_layout->setMargin (2); |
13501 | 103 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
104 // 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
|
105 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
|
106 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
107 // 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
|
108 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
109 //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
|
110 m_view->setSortingEnabled (true); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
111 // Initialize column order and width of the workspace |
25103
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
112 m_view->horizontalHeader ()->restoreState ( |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
113 settings->value ("workspaceview/column_state").toByteArray ()); |
22250
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22177
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 // Set header properties for sorting |
24827
1e0718c1867c
eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents:
24775
diff
changeset
|
116 #if defined (HAVE_QHEADERVIEW_SETSECTIONSCLICKABLE) |
1e0718c1867c
eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents:
24775
diff
changeset
|
117 m_view->horizontalHeader ()->setSectionsClickable (true); |
1e0718c1867c
eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents:
24775
diff
changeset
|
118 #else |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
119 m_view->horizontalHeader ()->setClickable (true); |
24827
1e0718c1867c
eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents:
24775
diff
changeset
|
120 #endif |
1e0718c1867c
eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents:
24775
diff
changeset
|
121 #if defined (HAVE_QHEADERVIEW_SETSECTIONSMOVABLE) |
1e0718c1867c
eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents:
24775
diff
changeset
|
122 m_view->horizontalHeader ()->setSectionsMovable (true); |
1e0718c1867c
eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents:
24775
diff
changeset
|
123 #else |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
124 m_view->horizontalHeader ()->setMovable (true); |
22250
2fd4f1a3f4a8
allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents:
22177
diff
changeset
|
125 #endif |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
126 m_view->horizontalHeader ()->setSortIndicator (settings->value ("workspaceview/sort_by_column",0).toInt (), |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
127 static_cast<Qt::SortOrder> |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
128 (settings->value ("workspaceview/sort_order", Qt::AscendingOrder).toUInt ())); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
129 m_view->horizontalHeader ()->setSortIndicatorShown (true); |
19982
9a8be23d2c05
extend sorting of workspave view widget
Torsten <ttl@justmail.de>
parents:
19981
diff
changeset
|
130 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
131 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
|
132 connect (m_view->horizontalHeader (), |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
133 SIGNAL (customContextMenuRequested (const QPoint &)), |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
134 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
|
135 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
136 // Init state of the filter |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
137 m_filter->addItems (settings->value ("workspaceview/mru_list").toStringList ()); |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
138 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
139 bool filter_state = |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
140 settings->value ("workspaceview/filter_active", false).toBool (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
141 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
|
142 filter_activate (filter_state); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
143 } |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
144 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
145 // 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
|
146 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
147 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
|
148 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
|
149 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
|
150 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
|
151 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
|
152 this, SLOT (update_filter_history ())); |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
153 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
154 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
|
155 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
|
156 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
157 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
|
158 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
|
159 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
160 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
|
161 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
|
162 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
163 connect (this, |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
164 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
|
165 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
|
166 } |
13577
e440b3f32f02
Fixed bug with closing subwindows.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13541
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 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
|
169 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
170 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
|
171 m_filter_model.setFilterKeyColumn(0); |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
172 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
173 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
|
174 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
175 // set the sorting after a model was set, it would be ignored otherwise |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
176 QSettings *settings = resource_manager::get_settings (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
177 m_view->sortByColumn (settings->value ("workspaceview/sort_by_column",0).toInt (), |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
178 static_cast<Qt::SortOrder> (settings->value ("workspaceview/sort_order", Qt::AscendingOrder).toUInt ())); |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
179 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
180 m_model = model; |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
181 } |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
182 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
183 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
184 workspace_view::notice_settings (const QSettings *settings) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
185 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
186 int i; |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
187 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
188 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
|
189 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
190 for (i = 0; i < m_columns_shown_keys.size (); i++) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
191 m_view->setColumnHidden (i + 1, ! settings->value (m_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
|
192 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
193 QString tool_tip; |
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 if (! settings->value ("workspaceview/hide_tool_tips",false).toBool ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
196 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
197 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
|
198 tool_tip += QString (tr ("Colors for variable attributes:")); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
199 for (i = 0; i < resource_manager::storage_class_chars ().length (); i++) |
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 tool_tip += |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
202 QString (R"(<div style="background-color:%1;color:#000000">%2</div>)") |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
203 .arg (m_model->storage_class_color (i).name ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
204 .arg (resource_manager::storage_class_names ().at (i)); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
205 } |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
206 } |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
207 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
208 setToolTip (tool_tip); |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
209 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
210 m_columns_shown = QStringList (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
211 m_columns_shown.append (tr ("Class")); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
212 m_columns_shown.append (tr ("Dimension")); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
213 m_columns_shown.append (tr ("Value")); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
214 m_columns_shown.append (tr ("Attribute")); |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
215 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
216 m_columns_shown_keys = QStringList (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
217 m_columns_shown_keys.append ("workspaceview/show_class"); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
218 m_columns_shown_keys.append ("workspaceview/show_dimension"); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
219 m_columns_shown_keys.append ("workspaceview/show_value"); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
220 m_columns_shown_keys.append ("workspaceview/show_attribute"); |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
221 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
222 m_sig_mapper = nullptr; |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
223 } |
13577
e440b3f32f02
Fixed bug with closing subwindows.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13541
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 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
226 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
|
227 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
228 QSettings *settings = resource_manager::get_settings (); |
16463
8e2a853cdd7d
derive workspace_view from octave_dock_widget; style fixes
John W. Eaton <jwe@octave.org>
parents:
16462
diff
changeset
|
229 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
230 if (! settings) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
231 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
|
232 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
233 settings->setValue ("workspaceview/column_state", |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
234 m_view->horizontalHeader ()->saveState ()); |
19982
9a8be23d2c05
extend sorting of workspave view widget
Torsten <ttl@justmail.de>
parents:
19981
diff
changeset
|
235 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
236 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
|
237 Qt::SortOrder sort_order = m_view->horizontalHeader ()->sortIndicatorOrder (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
238 settings->setValue ("workspaceview/sort_by_column", sort_column); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
239 settings->setValue ("workspaceview/sort_order", sort_order); |
19982
9a8be23d2c05
extend sorting of workspave view widget
Torsten <ttl@justmail.de>
parents:
19981
diff
changeset
|
240 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
241 settings->setValue ("workspaceview/filter_active", |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
242 m_filter_checkbox->isChecked ()); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
243 settings->setValue ("workspaceview/filter_shown", m_filter_shown); |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
244 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
245 QStringList mru; |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
246 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
|
247 mru.append (m_filter->itemText (i)); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
248 settings->setValue ("workspaceview/mru_list", mru); |
16463
8e2a853cdd7d
derive workspace_view from octave_dock_widget; style fixes
John W. Eaton <jwe@octave.org>
parents:
16462
diff
changeset
|
249 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
250 settings->sync (); |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
251 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
252 octave_dock_widget::save_settings (); |
24299
deba10d3309b
* workspae_view (save_settings): add missing call to virtual base function
Torsten <mttl@mailbox.org>
parents:
23219
diff
changeset
|
253 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
254 if (m_sig_mapper) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
255 delete m_sig_mapper; |
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::closeEvent (QCloseEvent *e) |
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 emit active_changed (false); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
262 QDockWidget::closeEvent (e); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
263 } |
15552
bbbb89cc338f
make a floating widget behave like a normal window (bug #37190)
Torsten <ttl@justmail.de>
parents:
15460
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_update (const QString& expression) |
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_model.setFilterWildcard (expression); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
269 handle_model_changed (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
270 } |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
271 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
272 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
273 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
|
274 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
275 m_filter->setEnabled (state); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
276 m_filter_model.setDynamicSortFilter (state); |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
277 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
278 if (state) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
279 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
|
280 else |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
281 filter_update (QString ()); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
282 } |
19538
e4b25475ef3d
provide a filter for the workspace view (bug #41222)
Torsten <ttl@justmail.de>
parents:
19433
diff
changeset
|
283 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
284 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
285 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
|
286 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
287 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
|
288 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
|
289 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
290 if (index > -1) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
291 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
|
292 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
293 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
|
294 m_filter->setCurrentIndex (0); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
295 } |
19433
2f0c21339e9d
values of variables in workspace view copyable (bug #43674)
Torsten <ttl@justmail.de>
parents:
19162
diff
changeset
|
296 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
297 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
298 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
|
299 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
300 QMenu menu (this); |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
301 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
302 if (m_sig_mapper) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
303 delete m_sig_mapper; |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
304 m_sig_mapper = new QSignalMapper (this); |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
305 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
306 QSettings *settings = resource_manager::get_settings (); |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
307 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
308 for (int i = 0; i < m_columns_shown.size (); i++) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
309 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
310 QAction *action = menu.addAction (m_columns_shown.at (i), |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
311 m_sig_mapper, SLOT (map ())); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
312 m_sig_mapper->setMapping (action, i); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
313 action->setCheckable (true); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
314 action->setChecked (settings->value (m_columns_shown_keys.at (i),true).toBool ()); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
315 } |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
316 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
317 connect (m_sig_mapper, SIGNAL (mapped (int)), this, SLOT (toggle_header (int))); |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
318 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
319 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
|
320 } |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
321 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
322 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
323 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
|
324 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
325 QSettings *settings = resource_manager::get_settings (); |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
326 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
327 QString key = m_columns_shown_keys.at (col); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
328 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
|
329 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
330 m_view->setColumnHidden (col + 1, shown); |
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 settings->setValue (key, ! shown); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
333 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
|
334 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
335 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
|
336 } |
20641
2b0886f2c186
add possibility to hide columns of workspace view
Torsten <ttl@justmail.de>
parents:
20570
diff
changeset
|
337 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
338 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
339 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
|
340 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
341 QMenu menu (this); |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
342 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
343 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
|
344 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
345 // if it isnt Local, Glocal etc, allow the ctx menu |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
346 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
|
347 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
348 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
|
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 ("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
|
351 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
|
352 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
353 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
|
354 SLOT (handle_contextmenu_copy ())); |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
355 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
356 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
|
357 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
|
358 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
359 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
|
360 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
|
361 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
362 QAbstractItemModel *m = m_view->model (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
363 const workspace_model *wm = static_cast<const workspace_model *> (m); |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
364 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
365 if (! wm->is_top_level ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
366 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
367 rename->setDisabled (true); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
368 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
|
369 } |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
370 |
24775
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
371 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
|
372 SLOT (handle_contextmenu_clear ())); |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
373 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
374 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
|
375 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
376 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
|
377 SLOT (handle_contextmenu_disp ())); |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
378 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
379 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
|
380 SLOT (handle_contextmenu_plot ())); |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
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 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
|
383 SLOT (handle_contextmenu_stem ())); |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
384 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
385 menu.addSeparator (); |
20570
734d446560a8
possibility to hide filters in history and workspace view (bug#45428)
Torsten <ttl@justmail.de>
parents:
20388
diff
changeset
|
386 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
387 } |
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 if (m_filter_shown) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
390 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
|
391 SLOT (handle_contextmenu_filter ())); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
392 else |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
393 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
|
394 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
|
395 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
396 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
|
397 } |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
398 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
399 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
400 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
|
401 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
402 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
|
403 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
404 if (index.isValid ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
405 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
406 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
|
407 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
408 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
|
409 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
410 clipboard->setText (var_name); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
411 } |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
412 } |
16521
dbc7018be4be
use context menu for workspace viewer rename and copy to clipboard operations
John W. Eaton <jwe@octave.org>
parents:
16502
diff
changeset
|
413 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
414 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
415 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
|
416 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
417 QModelIndex index = m_view->currentIndex (); |
19433
2f0c21339e9d
values of variables in workspace view copyable (bug #43674)
Torsten <ttl@justmail.de>
parents:
19162
diff
changeset
|
418 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
419 if (index.isValid ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
420 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
421 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
|
422 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
423 symbol_scope scope |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
424 = __get_current_scope__ ("workspace_view::handle_contextmenu_copy_value"); |
23599
5cb3a2bb5e1e
don't use singleton for symbol_table
John W. Eaton <jwe@octave.org>
parents:
23449
diff
changeset
|
425 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
426 octave_value val = scope ? scope.varval (var_name.toStdString ()) : 0; |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
427 std::ostringstream buf; |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
428 val.print_raw (buf, true); |
19433
2f0c21339e9d
values of variables in workspace view copyable (bug #43674)
Torsten <ttl@justmail.de>
parents:
19162
diff
changeset
|
429 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
430 QClipboard *clipboard = QApplication::clipboard (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
431 clipboard->setText (QString::fromStdString (buf.str ())); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
432 } |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
433 } |
19433
2f0c21339e9d
values of variables in workspace view copyable (bug #43674)
Torsten <ttl@justmail.de>
parents:
19162
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 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
436 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
|
437 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
438 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
|
439 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
440 if (index.isValid ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
441 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
442 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
|
443 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
444 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
|
445 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
446 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
|
447 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
448 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
|
449 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
450 QString new_name |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
451 = 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
|
452 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
|
453 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
454 if (ok && ! new_name.isEmpty ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
455 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
456 QAbstractItemModel *m = m_view->model (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
457 m->setData (index, new_name, Qt::EditRole); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
458 } |
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 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
471 symbol_scope scope = m_model->scope (); |
24645
f61502510d08
restore ability to select variables for editing from workspace widget
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
472 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
473 octave_value val; |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
474 if (scope) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
475 val = scope.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
|
476 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
477 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
|
478 } |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
479 } |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23807
diff
changeset
|
480 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
481 void |
24775
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
482 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
|
483 { |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
484 relay_contextmenu_command ("clear", true); |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
485 } |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
486 |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
487 void |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
488 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
|
489 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
490 relay_contextmenu_command ("disp"); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
491 } |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
492 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
493 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
494 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
|
495 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
496 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
|
497 } |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
498 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
499 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
500 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
|
501 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
502 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
|
503 } |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
504 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
505 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
506 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
|
507 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
508 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
|
509 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
|
510 } |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
511 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
512 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
513 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
|
514 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
515 // m_view->resizeRowsToContents (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
516 // 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
|
517 // 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
|
518 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
|
519 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
|
520 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
|
521 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
|
522 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
|
523 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
|
524 } |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
525 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
526 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
527 workspace_view::copyClipboard () |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
528 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
529 if (m_view->hasFocus ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
530 handle_contextmenu_copy (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
531 } |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
532 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
533 void |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
534 workspace_view::selectAll () |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
535 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
536 if (m_view->hasFocus ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
537 m_view->selectAll (); |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
538 } |
24014
bffd7d826887
style fixes for some GUI source files
John W. Eaton <jwe@octave.org>
parents:
23945
diff
changeset
|
539 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
540 void |
24775
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
541 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
|
542 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
543 QModelIndex index = m_view->currentIndex (); |
16462
8c666c7b0e5d
Added context menu to workspace variable display
John Donoghue <john.donoghue@ieee.org>
parents:
16459
diff
changeset
|
544 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
545 if (index.isValid ()) |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
546 { |
24775
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
547 QString var_name; |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
548 |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
549 if (str) |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
550 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
|
551 else |
3da6c628873a
clear variable via context menu of workspace view (bug #53149)
Torsten <mttl@mailbox.org>
parents:
24766
diff
changeset
|
552 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
|
553 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
554 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
|
555 } |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
556 } |
16572
17941fedd4ce
Change workspace row height to font height.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16570
diff
changeset
|
557 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
558 QString |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
559 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
|
560 { |
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
561 // 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
|
562 // correct ordering. |
24648
1f1ac73910ab
respect sorting in variable editor (bug #51843)
John W. Eaton <jwe@octave.org>
parents:
24645
diff
changeset
|
563 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
564 QAbstractItemModel *m = m_view->model (); |
24648
1f1ac73910ab
respect sorting in variable editor (bug #51843)
John W. Eaton <jwe@octave.org>
parents:
24645
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 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
|
567 = 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
|
568 |
24766
08c92c9d48e3
move workspace view and model classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24695
diff
changeset
|
569 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
|
570 } |
16610
a1f613e5066d
workspace view colors based upon variable scope (derived from Dan's patch #8013)
Torsten <ttl@justmail.de>
parents:
16575
diff
changeset
|
571 } |