Mercurial > octave
comparison scripts/plot/util/private/__add_default_menu__.m @ 30999:fef2957c38ec
Deprecate uimenu properties "label" and "callback" (bug #62443)
Replace "label" property with "text". Replace "callback" property with
"menuselectedfcn". Both old properties are hidden, but continue to
exist and work as before to support old code.
* NEWS.8.md: Announce deprecation.
* graphics.in.h (uimenu::BEGIN_PROPERTIES): Mark "callback" property with "hgs"
for hidden, get, set routines. Mark "label" property with "hgs".
* graphics.in.h (uimenu::get_callback, uimenu::set_callback): New functions
which simply relay calls to "get_menuselectedfcn" and "set_menuselectedfcn".
* Menu.cc (Menu::actionTriggered, Menu::actionHovered): Replace "callback" with
"menuselectedfcn" in gh_callback_event calls.
* __init_fltk__.cc (script_cb): Rename "execute_callback" to
"execute_menuselectedfcn".
* __init_fltk__.cc (update_menuselectedfcn): Rename function from
"update_callback". Rename "get_callback" to "get_menuselectedfcn".
* __init_fltk__.cc (add_to_uimenu): Rename "update_callback" to
"update_menuselectedfcn".
* __init_fltk__.cc (uimenu_update): Rename "ID_CALLBACK" to
"ID_MENUSELECTEDFCN".
* uimenu.m: Update documentation to use "menuselectedfcn" and "text".
Update demos and BIST tests to use new property names.
* __add_default_menu__.m: Update code to use "menuselectedfcn" and "text".
author | Rik <rik@octave.org> |
---|---|
date | Sat, 14 May 2022 19:06:56 -0700 |
parents | 796f54d4ddbf |
children | c8ad083a5802 |
comparison
equal
deleted
inserted
replaced
30998:1bf26f913b9c | 30999:fef2957c38ec |
---|---|
47 ## Create | 47 ## Create |
48 if (isempty (hmenu)) | 48 if (isempty (hmenu)) |
49 ## File menu | 49 ## File menu |
50 hui = uimenu (hf, "label", "&File", "tag", "__default_menu__File", ... | 50 hui = uimenu (hf, "label", "&File", "tag", "__default_menu__File", ... |
51 "handlevisibility", "off"); | 51 "handlevisibility", "off"); |
52 uimenu (hui, "label", "&Open...", "callback", @open_cb, ... | 52 uimenu (hui, "label", "&Open...", "menuselectedfcn", @open_cb, ... |
53 "accelerator", "o"); | 53 "accelerator", "o"); |
54 uimenu (hui, "label", "&Save", "callback", {@save_cb, "save"}, ... | 54 uimenu (hui, "label", "&Save", "menuselectedfcn", {@save_cb, "save"}, ... |
55 "accelerator", "s"); | 55 "accelerator", "s"); |
56 uimenu (hui, "label", "Save &As...", "callback", {@save_cb, "saveas"}, ... | 56 uimenu (hui, "label", "Save &As...", ... |
57 "accelerator", "S"); | 57 "menuselectedfcn", {@save_cb, "saveas"}, ... |
58 uimenu (hui, "label", "&Close", "callback", @close_cb, ... | 58 "accelerator", "S"); |
59 "accelerator", "w", "separator", "on"); | 59 uimenu (hui, "label", "&Close", "menuselectedfcn", @close_cb, ... |
60 "accelerator", "w", "separator", "on"); | |
60 hmenu(1) = hui; | 61 hmenu(1) = hui; |
61 | 62 |
62 ## Edit menu | 63 ## Edit menu |
63 hui = uimenu (hf, "label", "&Edit", "handlevisibility", "off", ... | 64 hui = uimenu (hf, "label", "&Edit", "handlevisibility", "off", ... |
64 "tag", "__default_menu__Edit"); | 65 "tag", "__default_menu__Edit"); |
65 uimenu (hui, "label", "&New Figure", "callback", "figure ();", ... | 66 uimenu (hui, "label", "&New Figure", "menuselectedfcn", "figure ();", ... |
66 "accelerator", "n"); | 67 "accelerator", "n"); |
67 uimenu (hui, "label", "&Duplicate Figure", | 68 uimenu (hui, "label", "&Duplicate Figure", |
68 "callback", "copyobj (gcbf (), groot ());", ... | 69 "menuselectedfcn", "copyobj (gcbf (), groot ());", ... |
69 "accelerator", "d"); | 70 "accelerator", "d"); |
70 uimenu (hui, "label", "Clea&r Figure", | 71 uimenu (hui, "label", "Clea&r Figure", |
71 "callback", "clf (gcbf ());"); | 72 "menuselectedfcn", "clf (gcbf ());"); |
72 uimenu (hui, "label", "Reset Figure", | 73 uimenu (hui, "label", "Reset Figure", |
73 "callback", "reset (gcbf ());"); | 74 "menuselectedfcn", "reset (gcbf ());"); |
74 uimenu (hui, "label", "Copy Figure to Clipboard", ... | 75 uimenu (hui, "label", "Copy Figure to Clipboard", ... |
75 "callback", @clipboard_cb, "separator", "on", ... | 76 "menuselectedfcn", @clipboard_cb, "separator", "on", ... |
76 "accelerator", "c"); | 77 "accelerator", "c"); |
77 hmenu(2) = hui; | 78 hmenu(2) = hui; |
78 | 79 |
79 ## Tools menu | 80 ## Tools menu |
80 hui = uimenu (hf, "label", "&Tools", "handlevisibility", "off", ... | 81 hui = uimenu (hf, "label", "&Tools", "handlevisibility", "off", ... |
81 "tag", "__default_menu__Tools"); | 82 "tag", "__default_menu__Tools"); |
82 uimenu (hui, "label", "Toggle &grid on all axes", "tag", "toggle", ... | 83 uimenu (hui, "label", "Toggle &grid on all axes", "tag", "toggle", ... |
83 "callback", @grid_cb); | 84 "menuselectedfcn", @grid_cb); |
84 uimenu (hui, "label", "Show grid on all axes", "tag", "on", ... | 85 uimenu (hui, "label", "Show grid on all axes", "tag", "on", ... |
85 "callback", @grid_cb); | 86 "menuselectedfcn", @grid_cb); |
86 uimenu (hui, "label", "Hide grid on all axes", "tag", "off", ... | 87 uimenu (hui, "label", "Hide grid on all axes", "tag", "off", ... |
87 "callback", @grid_cb); | 88 "menuselectedfcn", @grid_cb); |
88 uimenu (hui, "label", "Auto&scale all axes", "callback", @autoscale_cb); | 89 uimenu (hui, "label", "Auto&scale all axes", |
90 "menuselectedfcn", @autoscale_cb); | |
89 | 91 |
90 hui2 = uimenu (hui, "label", "GUI &Mode (on all axes)"); | 92 hui2 = uimenu (hui, "label", "GUI &Mode (on all axes)"); |
91 uimenu (hui2, "label", "Pan x and y", "tag", "pan_on", ... | 93 uimenu (hui2, "label", "Pan x and y", "tag", "pan_on", ... |
92 "callback", @guimode_cb); | 94 "menuselectedfcn", @guimode_cb); |
93 uimenu (hui2, "label", "Pan x only", "tag", "pan_xon", ... | 95 uimenu (hui2, "label", "Pan x only", "tag", "pan_xon", ... |
94 "callback", @guimode_cb); | 96 "menuselectedfcn", @guimode_cb); |
95 uimenu (hui2, "label", "Pan y only", "tag", "pan_yon", ... | 97 uimenu (hui2, "label", "Pan y only", "tag", "pan_yon", ... |
96 "callback", @guimode_cb); | 98 "menuselectedfcn", @guimode_cb); |
97 uimenu (hui2, "label", "Disable pan and rotate", "tag", ... | 99 uimenu (hui2, "label", "Disable pan and rotate", "tag", ... |
98 "no_pan_rotate", "callback", @guimode_cb); | 100 "no_pan_rotate", "menuselectedfcn", @guimode_cb); |
99 uimenu (hui2, "label", "Rotate on", "tag", "rotate3d", ... | 101 uimenu (hui2, "label", "Rotate on", "tag", "rotate3d", ... |
100 "callback", @guimode_cb); | 102 "menuselectedfcn", @guimode_cb); |
101 uimenu (hui2, "label", "Enable mousezoom", "tag", "zoom_on", ... | 103 uimenu (hui2, "label", "Enable mousezoom", "tag", "zoom_on", ... |
102 "callback", @guimode_cb); | 104 "menuselectedfcn", @guimode_cb); |
103 uimenu (hui2, "label", "Disable mousezoom", "tag", "zoom_off", ... | 105 uimenu (hui2, "label", "Disable mousezoom", "tag", "zoom_off", ... |
104 "callback", @guimode_cb); | 106 "menuselectedfcn", @guimode_cb); |
105 hmenu(3) = hui; | 107 hmenu(3) = hui; |
106 | 108 |
107 ## Default toolbar | 109 ## Default toolbar |
108 init_mouse_tools (hf); | 110 init_mouse_tools (hf); |
109 htb = uitoolbar (hf, "tag", "__default_toolbar__", ... | 111 htb = uitoolbar (hf, "tag", "__default_toolbar__", ... |
110 "handlevisibility", "off", "visible", "off"); | 112 "handlevisibility", "off", "visible", "off"); |
111 | 113 |
112 ht(1) = uitoggletool (htb, "tooltipstring", "Pan", ... | 114 ht(1) = uitoggletool (htb, "tooltipstring", "Pan", ... |
113 "tag", "__default_button_pan__", ... | 115 "tag", "__default_button_pan__", ... |
114 "__named_icon__", "figure-pan"); | 116 "__named_icon__", "figure-pan"); |
115 ht(2) = uitoggletool (htb, "tooltipstring", "Rotate", ... | 117 ht(2) = uitoggletool (htb, "tooltipstring", "Rotate", ... |
116 "tag", "__default_button_rotate__", ... | 118 "tag", "__default_button_rotate__", ... |
117 "__named_icon__", "figure-rotate"); | 119 "__named_icon__", "figure-rotate"); |
118 | 120 |
119 ht(3) = uitoggletool (htb, "tooltipstring", "Zoom In", ... | 121 ht(3) = uitoggletool (htb, "tooltipstring", "Zoom In", ... |
120 "tag", "__default_button_zoomin__", ... | 122 "tag", "__default_button_zoomin__", ... |
121 "__named_icon__", "figure-zoom-in", ... | 123 "__named_icon__", "figure-zoom-in", ... |
122 "separator", "on"); | 124 "separator", "on"); |
123 ht(4) = uitoggletool (htb, "tooltipstring", "Zoom Out", ... | 125 ht(4) = uitoggletool (htb, "tooltipstring", "Zoom Out", ... |
124 "tag", "__default_button_zoomout__", ... | 126 "tag", "__default_button_zoomout__", ... |
125 "__named_icon__", "figure-zoom-out"); | 127 "__named_icon__", "figure-zoom-out"); |
126 uipushtool (htb, "tooltipstring", "Automatic limits for current axes", ... | 128 uipushtool (htb, "tooltipstring", "Automatic limits for current axes", ... |
127 "clickedcallback", @auto_cb, ... | 129 "clickedcallback", @auto_cb, ... |
128 "__named_icon__", "figure-zoom-original"); | 130 "__named_icon__", "figure-zoom-original"); |
129 | 131 |
130 ht(5) = uitoggletool (htb, "tooltipstring", "Insert Text", ... | 132 ht(5) = uitoggletool (htb, "tooltipstring", "Insert Text", ... |
131 "tag", "__default_button_text__", ... | 133 "tag", "__default_button_text__", ... |
132 "separator", "on", "__named_icon__", "figure-text"); | 134 "separator", "on", ... |
135 "__named_icon__", "figure-text"); | |
133 | 136 |
134 uipushtool (htb, "tooltipstring", "Toggle current axes visibility", ... | 137 uipushtool (htb, "tooltipstring", "Toggle current axes visibility", ... |
135 "clickedcallback", @axes_cb, "separator", "on", ... | 138 "clickedcallback", @axes_cb, "separator", "on", ... |
136 "__named_icon__", "figure-axes"); | 139 "__named_icon__", "figure-axes"); |
137 uipushtool (htb, "tooltipstring", "Toggle current axes grid visibility", ... | 140 uipushtool (htb, "tooltipstring", "Toggle current axes grid visibility", ... |
138 "clickedcallback", @grid_cb, "__named_icon__", "figure-grid"); | 141 "clickedcallback", @grid_cb, ... |
142 "__named_icon__", "figure-grid"); | |
139 | 143 |
140 set (ht(1), "oncallback", {@mouse_tools_cb, ht, "pan"}, ... | 144 set (ht(1), "oncallback", {@mouse_tools_cb, ht, "pan"}, ... |
141 "offcallback", {@mouse_tools_cb, ht, "pan"}); | 145 "offcallback", {@mouse_tools_cb, ht, "pan"}); |
142 set (ht(2), "oncallback", {@mouse_tools_cb, ht, "rotate"}, ... | 146 set (ht(2), "oncallback", {@mouse_tools_cb, ht, "rotate"}, ... |
143 "offcallback", {@mouse_tools_cb, ht, "rotate"}); | 147 "offcallback", {@mouse_tools_cb, ht, "rotate"}); |
144 set (ht(3), "oncallback", {@mouse_tools_cb, ht, "zoomin"}, ... | 148 set (ht(3), "oncallback", {@mouse_tools_cb, ht, "zoomin"}, ... |
145 "offcallback", {@mouse_tools_cb, ht, "zoomin"}); | 149 "offcallback", {@mouse_tools_cb, ht, "zoomin"}); |
146 set (ht(4), "oncallback", {@mouse_tools_cb, ht, "zoomout"}, ... | 150 set (ht(4), "oncallback", {@mouse_tools_cb, ht, "zoomout"}, ... |
147 "offcallback", {@mouse_tools_cb, ht, "zoomout"}); | 151 "offcallback", {@mouse_tools_cb, ht, "zoomout"}); |
148 set (ht(5), "oncallback", {@mouse_tools_cb, ht, "text"}, ... | 152 set (ht(5), "oncallback", {@mouse_tools_cb, ht, "text"}, ... |
149 "offcallback", {@mouse_tools_cb, ht, "text"}); | 153 "offcallback", {@mouse_tools_cb, ht, "text"}); |
150 endif | 154 endif |
151 | 155 |
152 if (! exist ("ht", "var")) | 156 if (! exist ("ht", "var")) |
153 ht = get (htb, "children")(end:-1:1); | 157 ht = get (htb, "children")(end:-1:1); |
154 istoggletool = strcmp (get (ht, "type"), "uitoggletool"); | 158 istoggletool = strcmp (get (ht, "type"), "uitoggletool"); |