2 Copyright (C) 1992 Lucid, Inc.
3 Copyright (C) 2000-2011 Free Software Foundation, Inc.
5 This file is part of the Lucid Widget Library.
7 The Lucid Widget Library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 1, or (at your option)
12 The Lucid Widget Library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GNU Emacs; see the file COPYING. If not, write to
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA. */
23 #ifndef LWLIB_INTERNAL_H
24 #define LWLIB_INTERNAL_H
28 extern char *safe_strdup (const char *);
30 struct widget_xft_data
;
32 typedef struct _widget_instance
38 struct widget_xft_data
*xft_data
;
41 struct _widget_info
* info
;
42 struct _widget_instance
* next
;
45 typedef struct _widget_info
52 lw_callback pre_activate_cb
;
53 lw_callback selection_cb
;
54 lw_callback post_activate_cb
;
55 lw_callback highlight_cb
;
56 struct _widget_instance
* instances
;
57 struct _widget_info
* next
;
60 typedef Widget (*widget_creation_function
) (widget_instance
*instance
);
62 typedef struct _widget_creation_entry
65 widget_creation_function function
;
66 } widget_creation_entry
;
68 /* update all other instances of a widget. Can be used in a callback when
69 a widget has been used by the user */
71 lw_internal_update_other_instances (Widget
, XtPointer
, XtPointer
);
73 /* get the widget_value for a widget in a given instance */
75 lw_get_widget_value_for_widget (widget_instance
*, Widget
);
77 widget_info
*lw_get_widget_info (LWLIB_ID
);
78 widget_instance
* lw_get_widget_instance (Widget
);
80 #endif /* LWLIB_INTERNAL_H */