Comment fixes.
[bpt/emacs.git] / lwlib / lwlib-int.h
1 #ifndef LWLIB_INTERNAL_H
2 #define LWLIB_INTERNAL_H
3
4 #include "lwlib.h"
5
6 /*
7 extern char *strdup (const char *);
8 extern int strcasecmp (const char *, const char *);
9 */
10 extern char *safe_strdup ();
11
12 typedef struct _widget_instance
13 {
14 Widget widget;
15 Widget parent;
16 Boolean pop_up_p;
17 struct _widget_info* info;
18 struct _widget_instance* next;
19 } widget_instance;
20
21 typedef struct _widget_info
22 {
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 struct _widget_instance* instances;
32 struct _widget_info* next;
33 } widget_info;
34
35 typedef Widget
36 (*widget_creation_function) ();
37
38 typedef struct _widget_creation_entry
39 {
40 char* type;
41 widget_creation_function function;
42 } widget_creation_entry;
43
44 /* update all other instances of a widget. Can be used in a callback when
45 a widget has been used by the user */
46 void
47 lw_internal_update_other_instances ();
48
49 /* get the widget_value for a widget in a given instance */
50 widget_value*
51 lw_get_widget_value_for_widget ();
52
53 widget_info *lw_get_widget_info ();
54
55 #endif /* LWLIB_INTERNAL_H */