1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #ifndef LWLIB_INTERNAL_H
22 #define LWLIB_INTERNAL_H
23
24 #include "lwlib.h"
25
26 struct widget_xft_data;
27
28 typedef struct _widget_instance
29 {
30 Widget widget;
31 Widget parent;
32 Boolean pop_up_p;
33 #if defined USE_CAIRO || defined HAVE_XFT
34 struct widget_xft_data *xft_data;
35 #endif
36 struct _widget_info* info;
37 struct _widget_instance* next;
38 } widget_instance;
39
40 typedef struct _widget_info
41 {
42 char* type;
43 char* name;
44 LWLIB_ID id;
45 widget_value* val;
46 Boolean busy;
47 lw_callback pre_activate_cb;
48 lw_callback selection_cb;
49 lw_callback post_activate_cb;
50 lw_callback highlight_cb;
51 struct _widget_instance* instances;
52 struct _widget_info* next;
53 } widget_info;
54
55 typedef Widget (*widget_creation_function) (widget_instance *instance);
56
57 typedef struct _widget_creation_entry
58 {
59 char* type;
60 widget_creation_function function;
61 } widget_creation_entry;
62
63
64
65 void
66 lw_internal_update_other_instances (Widget, XtPointer, XtPointer);
67
68
69 widget_value*
70 lw_get_widget_value_for_widget (widget_instance *, Widget);
71
72 widget_info *lw_get_widget_info (LWLIB_ID);
73 widget_instance * lw_get_widget_instance (Widget);
74
75 #endif