]> code.delx.au - gnu-emacs/blob - lwlib/lwlib-int.h
Add prototype for lw_get_widget_instance.
[gnu-emacs] / 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 lw_callback highlight_cb;
32 struct _widget_instance* instances;
33 struct _widget_info* next;
34 } widget_info;
35
36 typedef Widget
37 (*widget_creation_function) ();
38
39 typedef struct _widget_creation_entry
40 {
41 char* type;
42 widget_creation_function function;
43 } widget_creation_entry;
44
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 ();
49
50 /* get the widget_value for a widget in a given instance */
51 widget_value*
52 lw_get_widget_value_for_widget ();
53
54 widget_info *lw_get_widget_info ();
55 widget_instance * lw_get_widget_instance ();
56
57 #endif /* LWLIB_INTERNAL_H */