delete_temp_file fix
[bpt/emacs.git] / lwlib / lwlib-int.h
CommitLineData
32c92352
GM
1/*
2Copyright (C) 1992 Lucid, Inc.
ba318903 3Copyright (C) 2000-2014 Free Software Foundation, Inc.
32c92352
GM
4
5This file is part of the Lucid Widget Library.
6
7The Lucid Widget Library is free software; you can redistribute it and/or
8modify it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 1, or (at your option)
10any later version.
11
12The Lucid Widget Library is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
fee0bd5f 18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
32c92352
GM
19
20
07bf635f
RS
21#ifndef LWLIB_INTERNAL_H
22#define LWLIB_INTERNAL_H
23
24#include "lwlib.h"
25
1ecb2d3f
JD
26struct widget_xft_data;
27
07bf635f
RS
28typedef struct _widget_instance
29{
30 Widget widget;
31 Widget parent;
32 Boolean pop_up_p;
1ecb2d3f
JD
33#ifdef HAVE_XFT
34 struct widget_xft_data *xft_data;
35 int nr_xft_data;
36#endif
07bf635f
RS
37 struct _widget_info* info;
38 struct _widget_instance* next;
39} widget_instance;
40
41typedef struct _widget_info
42{
43 char* type;
44 char* name;
45 LWLIB_ID id;
46 widget_value* val;
47 Boolean busy;
48 lw_callback pre_activate_cb;
49 lw_callback selection_cb;
50 lw_callback post_activate_cb;
98f7f0d7 51 lw_callback highlight_cb;
07bf635f
RS
52 struct _widget_instance* instances;
53 struct _widget_info* next;
54} widget_info;
55
c825c0b6 56typedef Widget (*widget_creation_function) (widget_instance *instance);
07bf635f
RS
57
58typedef struct _widget_creation_entry
59{
60 char* type;
61 widget_creation_function function;
62} widget_creation_entry;
63
64/* update all other instances of a widget. Can be used in a callback when
908ff139 65 a widget has been used by the user */
07bf635f 66void
383e0970 67lw_internal_update_other_instances (Widget, XtPointer, XtPointer);
07bf635f
RS
68
69/* get the widget_value for a widget in a given instance */
70widget_value*
383e0970 71lw_get_widget_value_for_widget (widget_instance *, Widget);
07bf635f 72
383e0970
J
73widget_info *lw_get_widget_info (LWLIB_ID);
74widget_instance * lw_get_widget_instance (Widget);
07bf635f 75
801332e4 76#endif /* LWLIB_INTERNAL_H */