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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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