(xaw_popup_menu): Add EVENT arg.
[bpt/emacs.git] / lwlib / lwlib-int.h
CommitLineData
07bf635f
RS
1#ifndef LWLIB_INTERNAL_H
2#define LWLIB_INTERNAL_H
3
4#include "lwlib.h"
5
6/*
7extern char *strdup (const char *);
8extern int strcasecmp (const char *, const char *);
9*/
3efac4b0 10extern char *safe_strdup ();
07bf635f
RS
11
12typedef 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
21typedef 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;
98f7f0d7 31 lw_callback highlight_cb;
07bf635f
RS
32 struct _widget_instance* instances;
33 struct _widget_info* next;
34} widget_info;
35
36typedef Widget
01492d1b 37(*widget_creation_function) ();
07bf635f
RS
38
39typedef 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
908ff139 46 a widget has been used by the user */
07bf635f 47void
01492d1b 48lw_internal_update_other_instances ();
07bf635f
RS
49
50/* get the widget_value for a widget in a given instance */
51widget_value*
01492d1b 52lw_get_widget_value_for_widget ();
07bf635f 53
801332e4 54widget_info *lw_get_widget_info ();
98f7f0d7 55widget_instance * lw_get_widget_instance ();
07bf635f 56
801332e4 57#endif /* LWLIB_INTERNAL_H */