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;