# HG changeset patch # User Jason Rumney # Date 1213014961 0 # Node ID 33605d8c9e6d0a6a0e81eedd06618ae77c5ed515 # Parent 2d395f0b0295aed4ca28e717a97ce9a98d7db687 (widget_value, XtPointer, Boolean, enum button_type): Define here. diff -r 2d395f0b0295 -r 33605d8c9e6d src/w32gui.h --- a/src/w32gui.h Mon Jun 09 11:54:51 2008 +0000 +++ b/src/w32gui.h Mon Jun 09 12:36:01 2008 +0000 @@ -33,6 +33,66 @@ short descent; } XCharStruct; +/* Emulate widget_value from ../lwlib/lwlib.h, modified for Windows. */ +typedef void * XtPointer; +typedef char Boolean; +enum button_type +{ + BUTTON_TYPE_NONE, + BUTTON_TYPE_TOGGLE, + BUTTON_TYPE_RADIO +}; +typedef struct _widget_value +{ + /* name of widget */ + Lisp_Object lname; + char* name; + /* value (meaning depend on widget type) */ + char* value; + /* keyboard equivalent. no implications for XtTranslations */ + Lisp_Object lkey; + char* key; + /* Help string or nil if none. + GC finds this string through the frame's menu_bar_vector + or through menu_items. */ + Lisp_Object help; + /* true if enabled */ + Boolean enabled; + /* true if selected */ + Boolean selected; + /* The type of a button. */ + enum button_type button_type; + /* true if menu title */ + Boolean title; +#if 0 + /* true if was edited (maintained by get_value) */ + Boolean edited; + /* true if has changed (maintained by lw library) */ + change_type change; + /* true if this widget itself has changed, + but not counting the other widgets found in the `next' field. */ + change_type this_one_change; +#endif + /* Contents of the sub-widgets, also selected slot for checkbox */ + struct _widget_value* contents; + /* data passed to callback */ + XtPointer call_data; + /* next one in the list */ + struct _widget_value* next; +#if 0 + /* slot for the toolkit dependent part. Always initialize to NULL. */ + void* toolkit_data; + /* tell us if we should free the toolkit data slot when freeing the + widget_value itself. */ + Boolean free_toolkit_data; + + /* we resource the widget_value structures; this points to the next + one on the free list if this one has been deallocated. + */ + struct _widget_value *free_list; +#endif +} widget_value; + enum w32_char_font_type { UNKNOWN_FONT = 0 /* FONT_TYPE_UNKNOWN */,