comparison src/keyboard.h @ 21297:41ed45a73873

(item_properties): New variable. (ITEM_PROPERTY_...): New macros.
author Richard M. Stallman <rms@gnu.org>
date Fri, 27 Mar 1998 04:52:43 +0000
parents 1507c5324f4c
children fb4c986db0e2
comparison
equal deleted inserted replaced
21296:25db4bc0e67e 21297:41ed45a73873
201 generate switch-frame events. This may be cleared by functions 201 generate switch-frame events. This may be cleared by functions
202 like Fselect_frame, to make sure that a switch-frame event is 202 like Fselect_frame, to make sure that a switch-frame event is
203 generated by the next character. */ 203 generated by the next character. */
204 extern Lisp_Object internal_last_event_frame; 204 extern Lisp_Object internal_last_event_frame;
205 205
206 /* This holds a Lisp vector that holds the properties of a single
207 menu item while decoding it in parse_menu_item.
208 Using a Lisp vector to hold this information while we decode it
209 takes care of protecting all the data from GC. */
210 extern Lisp_Object item_properties;
211
212 /* This describes the elements of item_properties.
213 The first element is not a property, it is a pointer to the item properties
214 that is saved for GC protection. */
215 #define ITEM_PROPERTY_ITEM 0
216 /* The item string. */
217 #define ITEM_PROPERTY_NAME 1
218 /* Start of initilize to nil */
219 /* The binding: nil, a command or a keymap. */
220 #define ITEM_PROPERTY_DEF 2
221 /* The keymap if the binding is a keymap, otherwise nil. */
222 #define ITEM_PROPERTY_MAP 3
223 /* Nil, :radio or :toggle. */
224 #define ITEM_PROPERTY_TYPE 4
225 /* Nil or a string describing an equivalent key binding. */
226 #define ITEM_PROPERTY_KEYEQ 5
227 /* Not nil if a selected toggle box or radio button, otherwise nil. */
228 #define ITEM_PROPERTY_SELECTED 6
229 /* Place for a help string. Not yet used. */
230 #define ITEM_PROPERTY_HELP 7
231 /* Start of initilize to t */
232 /* Last property. */
233 /* Not nil if item is enabled. */
234 #define ITEM_PROPERTY_ENABLE 8
235
206 /* Macros for dealing with lispy events. */ 236 /* Macros for dealing with lispy events. */
207 237
208 /* True iff EVENT has data fields describing it (i.e. a mouse click). */ 238 /* True iff EVENT has data fields describing it (i.e. a mouse click). */
209 #define EVENT_HAS_PARAMETERS(event) (CONSP (event)) 239 #define EVENT_HAS_PARAMETERS(event) (CONSP (event))
210 240
258 extern Lisp_Object read_char P_ ((int, int, Lisp_Object *, Lisp_Object, int *)); 288 extern Lisp_Object read_char P_ ((int, int, Lisp_Object *, Lisp_Object, int *));
259 /* User-supplied string to translate input characters through. */ 289 /* User-supplied string to translate input characters through. */
260 extern Lisp_Object Vkeyboard_translate_table; 290 extern Lisp_Object Vkeyboard_translate_table;
261 291
262 extern Lisp_Object map_prompt P_ ((Lisp_Object)); 292 extern Lisp_Object map_prompt P_ ((Lisp_Object));
293
294
295 extern int parse_menu_item ();
263 296
264 extern void echo_now P_ ((void)); 297 extern void echo_now P_ ((void));
265 extern void init_kboard P_ ((KBOARD *)); 298 extern void init_kboard P_ ((KBOARD *));
266 extern void delete_kboard P_ ((KBOARD *)); 299 extern void delete_kboard P_ ((KBOARD *));
267 extern void single_kboard_state P_ ((void)); 300 extern void single_kboard_state P_ ((void));