Mercurial > octave
annotate scripts/plot/util/private/__add_default_menu__.m @ 26869:992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
* Figure.[cc,h] (mouse_mode_to_string, mouse_mode_from_string): Remove functions.
(createFigureToolBarAndMenuBar, updateFigureToolBarAndMenuBar): Remove methods.
(Figure::Figure): Instantiate the menubar here. Simplify size handling now
that the toolbar is created in addCustomToolBar.
(Figure::addCustomToolBar): Add optional argument to signal if the toolbar
is the default one.
(Figure::autoAxes, Figrue::toggleGrid, Figure::toggleAxes): Remove methods.
* GLCanvas.[cc,h] (GLCanvas::autoAxes, GLCanvas::toggleGrid,
GLCanvas::toggleAxes): Ditto.
* Canvas.[cc,h] (Canvas::canvasAutoAxes, Canvas::canvasToggleGrid,
Canvas::canvasToggleAxes): Ditto.
(Canvas::setCursor): Use resourse_manager to retrieve icons.
* MouseModeActionGroup.[cc, h]: Remove unnecessary class file.
* __add_default_menu__.m: Add default toobar and associated buttons.
* libgui/graphics/qthandles.qrc: Remove file
* libgui/graphics/images: Remove directory.
* libgui/graphics/module.mk: Update to eliminate the Crystal icons resources.
* libgui/src/resources.qrc: Include new figure-* png icons
* libgui/src/module.mk: Include new figure-* png icons
* libgui/src/icons/icons_license: Document the origin of figure-* icons
author | Pantxo Diribarne <pantxo.diribarne@gmail.com> |
---|---|
date | Thu, 07 Mar 2019 22:53:33 +0100 |
parents | 00f796120a6d |
children | cb5c1ea2062c |
rev | line source |
---|---|
26376
00f796120a6d
maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents:
26043
diff
changeset
|
1 ## Copyright (C) 2010-2019 Kai Habel |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
2 ## |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
3 ## This file is part of Octave. |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
4 ## |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24210
diff
changeset
|
5 ## Octave is free software: you can redistribute it and/or modify it |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
6 ## 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:
24210
diff
changeset
|
7 ## the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
8 ## (at your option) any later version. |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
9 ## |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
10 ## Octave is distributed in the hope that it will be useful, but |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
13 ## GNU General Public License for more details. |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
14 ## |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
15 ## You should have received a copy of the GNU General Public License |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
16 ## 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:
24210
diff
changeset
|
17 ## <https://www.gnu.org/licenses/>. |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
18 |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
19 ## -*- texinfo -*- |
26043
5cef57130cb9
doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents:
25948
diff
changeset
|
20 ## @deftypefn {} {} __add_default_menu__ (@var{hfig}) |
25888
6109f302cf43
Fix regression with "menubar" figure property handling (bug #54678)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25878
diff
changeset
|
21 ## @deftypefnx {} {} __add_default_menu__ (@var{hfig}, @var{hmenu}) |
6109f302cf43
Fix regression with "menubar" figure property handling (bug #54678)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25878
diff
changeset
|
22 ## Add default menu and listeners to figure. |
25948
700b3f415ebe
maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents:
25888
diff
changeset
|
23 ## |
20173
777f26aa8e3e
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19883
diff
changeset
|
24 ## |
777f26aa8e3e
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19883
diff
changeset
|
25 ## All uimenu handles have their @qcode{"HandleVisibility"} property set to |
777f26aa8e3e
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19883
diff
changeset
|
26 ## @qcode{"off"}. |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
27 ## @end deftypefn |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
28 |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
29 ## Author: Kai Habel |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
30 |
26869
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
31 function __add_default_menu__ (hf, hmenu = [], htb = []) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
32 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
33 ## Gnuplot doesn't handle uimenu and uitoolbar objects |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
34 if (strcmp (graphics_toolkit (), "gnuplot")) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
35 return |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
36 endif |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
37 |
25948
700b3f415ebe
maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents:
25888
diff
changeset
|
38 ## Create |
25888
6109f302cf43
Fix regression with "menubar" figure property handling (bug #54678)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25878
diff
changeset
|
39 if (isempty (hmenu)) |
25878
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
40 ## File menu |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
41 hui = uimenu (hf, "label", "&File", "handlevisibility", "off", ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
42 "tag", "__default_menu__File"); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
43 uimenu (hui, "label", "&Open", "callback", @open_cb, ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
44 "accelerator", "o"); |
26869
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
45 uimenu (hui, "label", "&Save", "callback", {@save_cb, "save"}, ... |
25878
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
46 "accelerator", "s"); |
26869
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
47 uimenu (hui, "label", "Save &As", "callback", {@save_cb, "saveas"}, ... |
25878
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
48 "accelerator", "S"); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
49 uimenu (hui, "label", "&Close", "callback", @close_cb, ... |
25888
6109f302cf43
Fix regression with "menubar" figure property handling (bug #54678)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25878
diff
changeset
|
50 "accelerator", "w", "separator", "on"); |
25948
700b3f415ebe
maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents:
25888
diff
changeset
|
51 hmenu(1) = hui; |
700b3f415ebe
maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents:
25888
diff
changeset
|
52 |
25878
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
53 ## Edit menu |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
54 hui = uimenu (hf, "label", "&Edit", "handlevisibility", "off", ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
55 "tag", "__default_menu__Edit"); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
56 uimenu (hui, "label", "&New Figure", "callback", "figure ();", ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
57 "accelerator", "n"); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
58 uimenu (hui, "label", "&Duplicate Figure", |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
59 "callback", "copyobj (gcbf (), groot ());", ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
60 "accelerator", "d"); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
61 uimenu (hui, "label", "Clea&r Figure", |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
62 "callback", "clf (gcbf ());"); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
63 uimenu (hui, "label", "Reset Figure", |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
64 "callback", "reset (gcbf ());"); |
25948
700b3f415ebe
maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents:
25888
diff
changeset
|
65 hmenu(2) = hui; |
700b3f415ebe
maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents:
25888
diff
changeset
|
66 |
25878
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
67 ## Tools menu |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
68 hui = uimenu (hf, "label", "&Tools", "handlevisibility", "off", ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
69 "tag", "__default_menu__Tools"); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
70 uimenu (hui, "label", "Toggle &grid on all axes", "tag", "toggle", ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
71 "callback", @grid_cb); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
72 uimenu (hui, "label", "Show grid on all axes", "tag", "on", ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
73 "callback", @grid_cb); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
74 uimenu (hui, "label", "Hide grid on all axes", "tag", "off", ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
75 "callback", @grid_cb); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
76 uimenu (hui, "label", "Auto&scale all axes", "callback", @autoscale_cb); |
25948
700b3f415ebe
maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents:
25888
diff
changeset
|
77 |
25878
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
78 hui2 = uimenu (hui, "label", "GUI &Mode (on all axes)"); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
79 uimenu (hui2, "label", "Pan x and y", "tag", "pan_on", ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
80 "callback", @guimode_cb); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
81 uimenu (hui2, "label", "Pan x only", "tag", "pan_xon", ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
82 "callback", @guimode_cb); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
83 uimenu (hui2, "label", "Pan y only", "tag", "pan_yon", ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
84 "callback", @guimode_cb); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
85 uimenu (hui2, "label", "Disable pan and rotate", "tag", ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
86 "no_pan_rotate", "callback", @guimode_cb); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
87 uimenu (hui2, "label", "Rotate on", "tag", "rotate3d", ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
88 "callback", @guimode_cb); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
89 uimenu (hui2, "label", "Enable mousezoom", "tag", "zoom_on", ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
90 "callback", @guimode_cb); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
91 uimenu (hui2, "label", "Disable mousezoom", "tag", "zoom_off", ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
92 "callback", @guimode_cb); |
25948
700b3f415ebe
maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents:
25888
diff
changeset
|
93 hmenu(3) = hui; |
26869
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
94 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
95 ## Default toolbar |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
96 init_mouse_tools (hf); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
97 htb = uitoolbar (hf, "tag", "__default_toolbar__", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
98 "handlevisibility", "off"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
99 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
100 ht(1) = uitoggletool (htb, "tooltipstring", "Pan", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
101 "tag", "__default_button_pan__", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
102 "__named_icon__", "figure-pan"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
103 ht(2) = uitoggletool (htb, "tooltipstring", "Rotate", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
104 "tag", "__default_button_rotate__", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
105 "__named_icon__", "figure-rotate"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
106 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
107 ht(3) = uitoggletool (htb, "tooltipstring", "Zoom In", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
108 "tag", "__default_button_zoomin__", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
109 "__named_icon__", "figure-zoom-in", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
110 "separator", "on"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
111 ht(4) = uitoggletool (htb, "tooltipstring", "Zoom Out", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
112 "tag", "__default_button_zoomout__", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
113 "__named_icon__", "figure-zoom-out"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
114 uipushtool (htb, "tooltipstring", "Automatic limits for current axes", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
115 "clickedcallback", @auto_cb, ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
116 "__named_icon__", "figure-zoom-original"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
117 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
118 ht(5) = uitoggletool (htb, "tooltipstring", "Insert Text", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
119 "tag", "__default_button_text__", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
120 "separator", "on", "__named_icon__", "figure-text"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
121 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
122 uipushtool (htb, "tooltipstring", "Toggle current axes visibility", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
123 "clickedcallback", @axes_cb, "separator", "on", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
124 "__named_icon__", "figure-axes"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
125 uipushtool (htb, "tooltipstring", "Toggle current axes grid visibility", ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
126 "clickedcallback", @grid_cb, "__named_icon__", "figure-grid"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
127 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
128 set (ht(1), "oncallback", {@mouse_tools_cb, ht, "pan"}, ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
129 "offcallback", {@mouse_tools_cb, ht, "pan"}); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
130 set (ht(2), "oncallback", {@mouse_tools_cb, ht, "rotate"}, ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
131 "offcallback", {@mouse_tools_cb, ht, "rotate"}); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
132 set (ht(3), "oncallback", {@mouse_tools_cb, ht, "zoomin"}, ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
133 "offcallback", {@mouse_tools_cb, ht, "zoomin"}); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
134 set (ht(4), "oncallback", {@mouse_tools_cb, ht, "zoomout"}, ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
135 "offcallback", {@mouse_tools_cb, ht, "zoomout"}); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
136 set (ht(5), "oncallback", {@mouse_tools_cb, ht, "text"}, ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
137 "offcallback", {@mouse_tools_cb, ht, "text"}); |
17136
e4968b4613a5
Overhaul default menubar (still not perfect).
Rik <rik@octave.org>
parents:
14868
diff
changeset
|
138 endif |
e4968b4613a5
Overhaul default menubar (still not perfect).
Rik <rik@octave.org>
parents:
14868
diff
changeset
|
139 |
26869
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
140 ## Add/Restore figure listeners |
25888
6109f302cf43
Fix regression with "menubar" figure property handling (bug #54678)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25878
diff
changeset
|
141 toggle_visibility_cb (hf, [], hmenu); |
6109f302cf43
Fix regression with "menubar" figure property handling (bug #54678)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25878
diff
changeset
|
142 addlistener (hf, "menubar", {@toggle_visibility_cb, hmenu}); |
6109f302cf43
Fix regression with "menubar" figure property handling (bug #54678)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25878
diff
changeset
|
143 |
26869
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
144 if (! exist ("ht", "var")) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
145 ht = get (htb, "children")(end:-1:1); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
146 istoggletool = strcmp (get (ht, "type"), "uitoggletool"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
147 ht(! istoggletool) = []; |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
148 endif |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
149 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
150 addlistener (hf, "__mouse_mode__", {@mouse_tools_cb, ht, "mode"}); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
151 addlistener (hf, "__zoom_mode__", {@mouse_tools_cb, ht, "mode"}); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
152 |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
153 endfunction |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
154 |
25888
6109f302cf43
Fix regression with "menubar" figure property handling (bug #54678)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25878
diff
changeset
|
155 function toggle_visibility_cb (hf, ~, hmenu) |
6109f302cf43
Fix regression with "menubar" figure property handling (bug #54678)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25878
diff
changeset
|
156 if (strcmp (get (hf, "menubar"), "none")) |
6109f302cf43
Fix regression with "menubar" figure property handling (bug #54678)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25878
diff
changeset
|
157 set (hmenu, "visible", "off") |
6109f302cf43
Fix regression with "menubar" figure property handling (bug #54678)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25878
diff
changeset
|
158 else |
6109f302cf43
Fix regression with "menubar" figure property handling (bug #54678)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25878
diff
changeset
|
159 set (hmenu, "visible", "on") |
6109f302cf43
Fix regression with "menubar" figure property handling (bug #54678)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25878
diff
changeset
|
160 endif |
6109f302cf43
Fix regression with "menubar" figure property handling (bug #54678)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25878
diff
changeset
|
161 endfunction |
21758
ffad2baa90f7
maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents:
21385
diff
changeset
|
162 |
25878
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
163 function open_cb (h, e) |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
164 [filename, filedir] = uigetfile ({"*.ofig", "Octave Figure File"}, ... |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
165 "Open Figure"); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
166 if (filename != 0) |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
167 fname = fullfile (filedir, filename); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
168 tmphf = hgload (fname); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
169 set (tmphf, "filename", fname); |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
170 endif |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
171 endfunction |
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
172 |
26869
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
173 function save_cb (h, e, action) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
174 hfig = gcbf (); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
175 fname = get (hfig, "filename"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
176 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
177 if (strcmp (action, "save")) |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
178 if (isempty (fname)) |
24202
014f47089682
make .fig files the default for saving from figure menus
John W. Eaton <jwe@octave.org>
parents:
23220
diff
changeset
|
179 __save_as__ (hfig); |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
180 else |
24202
014f47089682
make .fig files the default for saving from figure menus
John W. Eaton <jwe@octave.org>
parents:
23220
diff
changeset
|
181 saveas (hfig, fname); |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
182 endif |
26869
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
183 elseif (strcmp (action, "saveas")) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
184 __save_as__ (hfig, fname); |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
185 endif |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
186 endfunction |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
187 |
21758
ffad2baa90f7
maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents:
21385
diff
changeset
|
188 |
26869
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
189 function __save_as__ (hf, fname = "") |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
190 filter = ifelse (! isempty (fname), fname, ... |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
191 {"*.ofig", "Octave Figure File"; |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
192 "*.eps;*.pdf;*.svg;*.ps", "Vector Image Formats"; |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
193 "*.gif;*.jpg;*.png;*.tiff", "Bitmap Image Formats"}); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
194 def = ifelse (! isempty (fname), fname, fullfile (pwd, "untitled.ofig")); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
195 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
196 [filename, filedir] = uiputfile (filter, "Save Figure", def); |
24202
014f47089682
make .fig files the default for saving from figure menus
John W. Eaton <jwe@octave.org>
parents:
23220
diff
changeset
|
197 |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
198 if (filename != 0) |
24202
014f47089682
make .fig files the default for saving from figure menus
John W. Eaton <jwe@octave.org>
parents:
23220
diff
changeset
|
199 fname = fullfile (filedir, filename); |
21385
89fa0694aa2e
Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
200 set (gcbf, "filename", fname); |
24202
014f47089682
make .fig files the default for saving from figure menus
John W. Eaton <jwe@octave.org>
parents:
23220
diff
changeset
|
201 flen = numel (fname); |
24210
d26b8f30ee4b
fix lengths in .ofig suffix comparison
John W. Eaton <jwe@octave.org>
parents:
24209
diff
changeset
|
202 if (flen > 5 && strcmp (fname(flen-4:end), ".ofig")) |
25878
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
203 hgsave (hf, fname); |
24202
014f47089682
make .fig files the default for saving from figure menus
John W. Eaton <jwe@octave.org>
parents:
23220
diff
changeset
|
204 else |
25878
bb4af245dff7
Use uimenu objects for default menus in Qt toolkit
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
205 saveas (hf, fname); |
24202
014f47089682
make .fig files the default for saving from figure menus
John W. Eaton <jwe@octave.org>
parents:
23220
diff
changeset
|
206 endif |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
207 endif |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
208 endfunction |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
209 |
18965
137d01e7c2d4
New scripts pan.m and rotate3d.m, update __add_default_menu__.m
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18961
diff
changeset
|
210 |
24589
9b36fc7bd002
__add_default_menu__.m: Don't close the wrong figure if File->Close used in FLTK.
Rik <rik@octave.org>
parents:
24534
diff
changeset
|
211 function close_cb (h, e) |
9b36fc7bd002
__add_default_menu__.m: Don't close the wrong figure if File->Close used in FLTK.
Rik <rik@octave.org>
parents:
24534
diff
changeset
|
212 close (gcbf); |
9b36fc7bd002
__add_default_menu__.m: Don't close the wrong figure if File->Close used in FLTK.
Rik <rik@octave.org>
parents:
24534
diff
changeset
|
213 endfunction |
9b36fc7bd002
__add_default_menu__.m: Don't close the wrong figure if File->Close used in FLTK.
Rik <rik@octave.org>
parents:
24534
diff
changeset
|
214 |
9b36fc7bd002
__add_default_menu__.m: Don't close the wrong figure if File->Close used in FLTK.
Rik <rik@octave.org>
parents:
24534
diff
changeset
|
215 |
19883
65e6207f7ae4
Fix FLTK Edit uimenu to use new pan/rotate3d fcns and mousewheelzoom property.
Stefan Mahr <dac922@gmx.de>
parents:
19742
diff
changeset
|
216 function [hax, fig] = __get_axes__ (h) |
18965
137d01e7c2d4
New scripts pan.m and rotate3d.m, update __add_default_menu__.m
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18961
diff
changeset
|
217 ## Get parent figure |
137d01e7c2d4
New scripts pan.m and rotate3d.m, update __add_default_menu__.m
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18961
diff
changeset
|
218 fig = ancestor (h, "figure"); |
137d01e7c2d4
New scripts pan.m and rotate3d.m, update __add_default_menu__.m
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18961
diff
changeset
|
219 |
137d01e7c2d4
New scripts pan.m and rotate3d.m, update __add_default_menu__.m
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18961
diff
changeset
|
220 ## Find all axes which aren't legends |
18967
69658bd9952b
__add_default_menu__.m: Fix bug that findobj is missing HLIST
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18965
diff
changeset
|
221 hax = findobj (fig, "type", "axes", "-not", "tag", "legend"); |
18965
137d01e7c2d4
New scripts pan.m and rotate3d.m, update __add_default_menu__.m
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18961
diff
changeset
|
222 endfunction |
137d01e7c2d4
New scripts pan.m and rotate3d.m, update __add_default_menu__.m
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18961
diff
changeset
|
223 |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
224 function autoscale_cb (h, e) |
18965
137d01e7c2d4
New scripts pan.m and rotate3d.m, update __add_default_menu__.m
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18961
diff
changeset
|
225 hax = __get_axes__ (h); |
21385
89fa0694aa2e
Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
226 arrayfun (@(h) axis (h, "auto"), hax); |
18968
0257a936dc4a
Fix FLTK redraw and event issue
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18967
diff
changeset
|
227 drawnow (); |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
228 endfunction |
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
229 |
26869
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
230 function init_mouse_tools (hf) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
231 set (hf, "__pan_mode__", struct ("Enable", "off", |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
232 "Motion", "both", |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
233 "FigureHandle", hf), |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
234 "__rotate_mode__", struct ("Enable", "off", |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
235 "RotateStyle", "box", |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
236 "FigureHandle", hf), |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
237 "__zoom_mode__", struct ("Enable", "off", |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
238 "Motion", "both", |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
239 "Direction", "in", |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
240 "FigureHandle", hf)); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
241 endfunction |
21758
ffad2baa90f7
maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents:
21385
diff
changeset
|
242 |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
243 function guimode_cb (h, e) |
19883
65e6207f7ae4
Fix FLTK Edit uimenu to use new pan/rotate3d fcns and mousewheelzoom property.
Stefan Mahr <dac922@gmx.de>
parents:
19742
diff
changeset
|
244 [hax, fig] = __get_axes__ (h); |
18961
52e01aa1fe8b
Overhaul FLTK pan, rotate, zoom
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18958
diff
changeset
|
245 id = get (h, "tag"); |
52e01aa1fe8b
Overhaul FLTK pan, rotate, zoom
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18958
diff
changeset
|
246 switch (id) |
52e01aa1fe8b
Overhaul FLTK pan, rotate, zoom
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18958
diff
changeset
|
247 case "pan_on" |
21385
89fa0694aa2e
Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
248 pan (fig, "on"); |
18961
52e01aa1fe8b
Overhaul FLTK pan, rotate, zoom
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18958
diff
changeset
|
249 case "pan_xon" |
21385
89fa0694aa2e
Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
250 pan (fig, "xon"); |
18961
52e01aa1fe8b
Overhaul FLTK pan, rotate, zoom
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18958
diff
changeset
|
251 case "pan_yon" |
21385
89fa0694aa2e
Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
252 pan (fig, "yon"); |
18961
52e01aa1fe8b
Overhaul FLTK pan, rotate, zoom
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18958
diff
changeset
|
253 case "rotate3d" |
21385
89fa0694aa2e
Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
254 rotate3d (fig, "on"); |
18961
52e01aa1fe8b
Overhaul FLTK pan, rotate, zoom
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18958
diff
changeset
|
255 case "no_pan_rotate" |
21385
89fa0694aa2e
Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
256 pan (fig, "off"); |
89fa0694aa2e
Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
257 rotate3d (fig, "off"); |
18961
52e01aa1fe8b
Overhaul FLTK pan, rotate, zoom
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18958
diff
changeset
|
258 case "zoom_on" |
19883
65e6207f7ae4
Fix FLTK Edit uimenu to use new pan/rotate3d fcns and mousewheelzoom property.
Stefan Mahr <dac922@gmx.de>
parents:
19742
diff
changeset
|
259 arrayfun (@(h) set (h, "mousewheelzoom", 0.05), hax); |
18961
52e01aa1fe8b
Overhaul FLTK pan, rotate, zoom
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18958
diff
changeset
|
260 case "zoom_off" |
19883
65e6207f7ae4
Fix FLTK Edit uimenu to use new pan/rotate3d fcns and mousewheelzoom property.
Stefan Mahr <dac922@gmx.de>
parents:
19742
diff
changeset
|
261 arrayfun (@(h) set (h, "mousewheelzoom", 0.0), hax); |
17136
e4968b4613a5
Overhaul default menubar (still not perfect).
Rik <rik@octave.org>
parents:
14868
diff
changeset
|
262 endswitch |
11349
4a3258b1448f
Add default menu for fltk backend figures
Kai Habel <kai.habel@gmx.de>
parents:
diff
changeset
|
263 endfunction |
26869
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
264 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
265 function mouse_tools_cb (h, ev, htools, typ = "") |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
266 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
267 persistent recursion = false; |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
268 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
269 if (! recursion) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
270 recursion = true; |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
271 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
272 hf = gcbf (); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
273 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
274 if (strcmp (typ, "mode")) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
275 ## The mouse mode has been changed from outside this callback, |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
276 ## change the buttons state accordingly |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
277 mode = get (hf, "__mouse_mode__"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
278 state = "on"; |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
279 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
280 switch mode |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
281 case "zoom" |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
282 zm = get (hf, "__zoom_mode__"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
283 if (strcmp (zm.Direction, "in")) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
284 htool = htools(3); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
285 else |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
286 htool = htools(4); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
287 endif |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
288 case "pan" |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
289 htool = htools(1); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
290 case "rotate" |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
291 htool = htools(2); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
292 case "text" |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
293 htool = htools(5); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
294 case "none" |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
295 state = "off"; |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
296 htool = htools; |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
297 endswitch |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
298 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
299 set (htool, "state", state); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
300 if (strcmp (state, "on")) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
301 set (htools(htools != htool), "state", "off"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
302 endif |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
303 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
304 else |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
305 ## Update the mouse mode according to the button state |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
306 state = get (h, "state"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
307 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
308 switch typ |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
309 case {"zoomin", "zoomout"} |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
310 prop = "__zoom_mode__"; |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
311 val = get (hf, prop); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
312 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
313 if (strcmp (state, "on")) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
314 if (strcmp (typ, "zoomin")) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
315 val.Direction = "in"; |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
316 else |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
317 val.Direction = "out"; |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
318 endif |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
319 set (hf, "__mouse_mode__" , "zoom"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
320 endif |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
321 val.Enable = state; |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
322 set (hf, prop, val) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
323 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
324 case {"pan", "rotate"} |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
325 prop = ["__", typ, "_mode__"]; |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
326 val = get (hf, prop); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
327 if (strcmp (state, "on")) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
328 set (hf, "__mouse_mode__" , typ); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
329 endif |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
330 val.Enable = state; |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
331 set (hf, prop, val); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
332 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
333 case {"text", "select"} |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
334 if (strcmp (state, "on")) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
335 set (hf, "__mouse_mode__" , typ); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
336 endif |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
337 endswitch |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
338 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
339 if (strcmp (state, "on")) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
340 set (htools(htools != h), "state", "off"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
341 elseif (! any (strcmp (get (htools, "state"), "on"))) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
342 set (hf, "__mouse_mode__" , "none"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
343 endif |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
344 endif |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
345 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
346 recursion = false; |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
347 endif |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
348 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
349 endfunction |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
350 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
351 function axes_cb (h) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
352 hax = get (gcbf (), "currentaxes"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
353 if (! isempty (hax)) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
354 if (strcmp (get (hax, "visible"), "on")) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
355 set (hax, "visible", "off"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
356 else |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
357 set (hax, "visible", "on") |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
358 endif |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
359 endif |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
360 endfunction |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
361 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
362 function grid_cb (h) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
363 hax = get (gcbf (), "currentaxes"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
364 if (! isempty (hax)) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
365 if (strcmp (get (hax, "xgrid"), "on") && strcmp (get (hax, "ygrid"), "on")) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
366 grid (hax, "off"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
367 else |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
368 grid (hax, "on") |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
369 endif |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
370 endif |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
371 endfunction |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
372 |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
373 function auto_cb (h) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
374 hax = get (gcbf (), "currentaxes"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
375 if (! isempty (hax)) |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
376 axis (hax, "auto"); |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
377 endif |
992f55ef87f5
Use an uitoolbar and ui*tools to build the default figure toolbar (bug #55795)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
378 endfunction |