Update the copyright.
[emacs.git] / lwlib / lwlib-int.h
blob115cf790345ddd794dc1bb6d98324e9a4c545e90
1 #ifndef LWLIB_INTERNAL_H
2 #define LWLIB_INTERNAL_H
4 #include "lwlib.h"
6 /*
7 extern char *strdup (const char *);
8 extern int strcasecmp (const char *, const char *);
9 */
10 extern char *safe_strdup ();
12 typedef struct _widget_instance
14 Widget widget;
15 Widget parent;
16 Boolean pop_up_p;
17 struct _widget_info* info;
18 struct _widget_instance* next;
19 } widget_instance;
21 typedef struct _widget_info
23 char* type;
24 char* name;
25 LWLIB_ID id;
26 widget_value* val;
27 Boolean busy;
28 lw_callback pre_activate_cb;
29 lw_callback selection_cb;
30 lw_callback post_activate_cb;
31 lw_callback highlight_cb;
32 struct _widget_instance* instances;
33 struct _widget_info* next;
34 } widget_info;
36 typedef Widget
37 (*widget_creation_function) ();
39 typedef struct _widget_creation_entry
41 char* type;
42 widget_creation_function function;
43 } widget_creation_entry;
45 /* update all other instances of a widget. Can be used in a callback when
46 a widget has been used by the user */
47 void
48 lw_internal_update_other_instances ();
50 /* get the widget_value for a widget in a given instance */
51 widget_value*
52 lw_get_widget_value_for_widget ();
54 widget_info *lw_get_widget_info ();
55 widget_instance * lw_get_widget_instance ();
57 #endif /* LWLIB_INTERNAL_H */