Mercurial > emacs
comparison src/menu.c @ 95714:51e7d268aef8
* menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
defs to w32gui.h.
(single_keymap_panes, push_menu_item, push_menu_pane): Make
globally visible.
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Mon, 09 Jun 2008 12:57:42 +0000 |
parents | 1c2b64c79c32 |
children | ce4bece7ab52 |
comparison
equal
deleted
inserted
replaced
95713:37802c533470 | 95714:51e7d268aef8 |
---|---|
40 #include "gtkutil.h" | 40 #include "gtkutil.h" |
41 #endif | 41 #endif |
42 | 42 |
43 #ifdef HAVE_NTGUI | 43 #ifdef HAVE_NTGUI |
44 #include "w32term.h" | 44 #include "w32term.h" |
45 | |
46 /* Local memory management */ | |
47 #define local_heap (GetProcessHeap ()) | |
48 #define local_alloc(n) (HeapAlloc (local_heap, HEAP_ZERO_MEMORY, (n))) | |
49 #define local_free(p) (HeapFree (local_heap, 0, ((LPVOID) (p)))) | |
50 | |
51 #define malloc_widget_value() ((widget_value *) local_alloc (sizeof (widget_value))) | |
52 #define free_widget_value(wv) (local_free ((wv))) | |
53 | 45 |
54 extern AppendMenuW_Proc unicode_append_menu; | 46 extern AppendMenuW_Proc unicode_append_menu; |
55 | 47 |
56 #endif /* HAVE_NTGUI */ | 48 #endif /* HAVE_NTGUI */ |
57 | 49 |
210 } | 202 } |
211 | 203 |
212 /* Start a new menu pane in menu_items. | 204 /* Start a new menu pane in menu_items. |
213 NAME is the pane name. PREFIX_VEC is a prefix key for this pane. */ | 205 NAME is the pane name. PREFIX_VEC is a prefix key for this pane. */ |
214 | 206 |
215 static void | 207 void |
216 push_menu_pane (name, prefix_vec) | 208 push_menu_pane (name, prefix_vec) |
217 Lisp_Object name, prefix_vec; | 209 Lisp_Object name, prefix_vec; |
218 { | 210 { |
219 if (menu_items_used + MENU_ITEMS_PANE_LENGTH > menu_items_allocated) | 211 if (menu_items_used + MENU_ITEMS_PANE_LENGTH > menu_items_allocated) |
220 grow_menu_items (); | 212 grow_menu_items (); |
232 doesn't really have a definition. DEF is the definition of this | 224 doesn't really have a definition. DEF is the definition of this |
233 item. EQUIV is the textual description of the keyboard equivalent | 225 item. EQUIV is the textual description of the keyboard equivalent |
234 for this item (or nil if none). TYPE is the type of this menu | 226 for this item (or nil if none). TYPE is the type of this menu |
235 item, one of nil, `toggle' or `radio'. */ | 227 item, one of nil, `toggle' or `radio'. */ |
236 | 228 |
237 static void | 229 void |
238 push_menu_item (name, enable, key, def, equiv, type, selected, help) | 230 push_menu_item (name, enable, key, def, equiv, type, selected, help) |
239 Lisp_Object name, enable, key, def, equiv, type, selected, help; | 231 Lisp_Object name, enable, key, def, equiv, type, selected, help; |
240 { | 232 { |
241 if (menu_items_used + MENU_ITEMS_ITEM_LENGTH > menu_items_allocated) | 233 if (menu_items_used + MENU_ITEMS_ITEM_LENGTH > menu_items_allocated) |
242 grow_menu_items (); | 234 grow_menu_items (); |
269 If NOTREAL is nonzero, only check for equivalent key bindings, don't | 261 If NOTREAL is nonzero, only check for equivalent key bindings, don't |
270 evaluate expressions in menu items and don't make any menu. | 262 evaluate expressions in menu items and don't make any menu. |
271 | 263 |
272 If we encounter submenus deeper than MAXDEPTH levels, ignore them. */ | 264 If we encounter submenus deeper than MAXDEPTH levels, ignore them. */ |
273 | 265 |
274 static void | 266 void |
275 single_keymap_panes (keymap, pane_name, prefix, notreal, maxdepth) | 267 single_keymap_panes (keymap, pane_name, prefix, notreal, maxdepth) |
276 Lisp_Object keymap; | 268 Lisp_Object keymap; |
277 Lisp_Object pane_name; | 269 Lisp_Object pane_name; |
278 Lisp_Object prefix; | 270 Lisp_Object prefix; |
279 int notreal; | 271 int notreal; |