1 #ifndef INCLUDED_lwlib_internal_h_
2 #define INCLUDED_lwlib_internal_h_
7 /* This represents a single widget within a widget tree. All the
8 widgets in a widget tree are chained through the `next' field.
9 `info' is a back pointer to the widget tree. */
11 typedef struct _widget_instance {
15 struct _widget_info *info;
16 struct _widget_instance *next;
19 /* This represents a single widget tree, such as a single menubar.
20 The global variable `all_widget_info' lists all widget trees,
21 chained through the `next' field of this structure. */
23 typedef struct _widget_info {
29 lw_callback pre_activate_cb;
30 lw_callback selection_cb;
31 lw_callback post_activate_cb;
32 struct _widget_instance *instances;
33 struct _widget_info *next;
36 typedef Widget(*widget_creation_function) (widget_instance * instance);
38 typedef struct _widget_creation_entry {
40 widget_creation_function function;
41 } widget_creation_entry;
43 /* update all other instances of a widget. Can be used in a callback when
44 a widget has been used by the user */
46 lw_internal_update_other_instances(Widget widget, XtPointer closure,
49 /* get the widget_value for a widget in a given instance */
50 widget_value *lw_get_widget_value_for_widget(widget_instance * instance,
53 widget_info *lw_get_widget_info(LWLIB_ID id);
55 #endif /* INCLUDED_lwlib_internal_h_ */