2 Copyright (C) 1992 Lucid, Inc.
3 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
4 2010, 2011 Free Software Foundation, Inc.
6 This file is part of the Lucid Widget Library.
8 The Lucid Widget Library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 1, or (at your option)
13 The Lucid Widget Library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with GNU Emacs; see the file COPYING. If not, write to
20 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
24 #ifndef LWLIB_INTERNAL_H
25 #define LWLIB_INTERNAL_H
29 extern char *safe_strdup (const char *);
31 struct widget_xft_data
;
33 typedef struct _widget_instance
39 struct widget_xft_data
*xft_data
;
42 struct _widget_info
* info
;
43 struct _widget_instance
* next
;
46 typedef struct _widget_info
53 lw_callback pre_activate_cb
;
54 lw_callback selection_cb
;
55 lw_callback post_activate_cb
;
56 lw_callback highlight_cb
;
57 struct _widget_instance
* instances
;
58 struct _widget_info
* next
;
61 typedef Widget (*widget_creation_function
) (widget_instance
*instance
);
63 typedef struct _widget_creation_entry
66 widget_creation_function function
;
67 } widget_creation_entry
;
69 /* update all other instances of a widget. Can be used in a callback when
70 a widget has been used by the user */
72 lw_internal_update_other_instances (Widget
, XtPointer
, XtPointer
);
74 /* get the widget_value for a widget in a given instance */
76 lw_get_widget_value_for_widget (widget_instance
*, Widget
);
78 widget_info
*lw_get_widget_info (LWLIB_ID
);
79 widget_instance
* lw_get_widget_instance (Widget
);
81 #endif /* LWLIB_INTERNAL_H */