(speedbar-edit-line, speedbar-buffer-kill-buffer,
[emacs.git] / lwlib / lwlib-int.h
blob3649a24173836f5e72a6975840651b7bc9f3f6ce
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 struct _widget_instance* instances;
32 struct _widget_info* next;
33 } widget_info;
35 typedef Widget
36 (*widget_creation_function) ();
38 typedef struct _widget_creation_entry
40 char* type;
41 widget_creation_function function;
42 } widget_creation_entry;
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 ();
49 /* get the widget_value for a widget in a given instance */
50 widget_value*
51 lw_get_widget_value_for_widget ();
53 widget_info *lw_get_widget_info ();
55 #endif /* LWLIB_INTERNAL_H */