Remove leftover P_ macros.
[bpt/emacs.git] / lwlib / lwlib-int.h
CommitLineData
32c92352
GM
1/*
2Copyright (C) 1992 Lucid, Inc.
114f9c96
GM
3Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
4 2010 Free Software Foundation, Inc.
32c92352
GM
5
6This file is part of the Lucid Widget Library.
7
8The Lucid Widget Library is free software; you can redistribute it and/or
9modify it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 1, or (at your option)
11any later version.
12
13The Lucid Widget Library is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23
07bf635f
RS
24#ifndef LWLIB_INTERNAL_H
25#define LWLIB_INTERNAL_H
26
27#include "lwlib.h"
28
383e0970 29extern char *safe_strdup (const char *);
07bf635f 30
1ecb2d3f
JD
31struct widget_xft_data;
32
07bf635f
RS
33typedef struct _widget_instance
34{
35 Widget widget;
36 Widget parent;
37 Boolean pop_up_p;
1ecb2d3f
JD
38#ifdef HAVE_XFT
39 struct widget_xft_data *xft_data;
40 int nr_xft_data;
41#endif
07bf635f
RS
42 struct _widget_info* info;
43 struct _widget_instance* next;
44} widget_instance;
45
46typedef struct _widget_info
47{
48 char* type;
49 char* name;
50 LWLIB_ID id;
51 widget_value* val;
52 Boolean busy;
53 lw_callback pre_activate_cb;
54 lw_callback selection_cb;
55 lw_callback post_activate_cb;
98f7f0d7 56 lw_callback highlight_cb;
07bf635f
RS
57 struct _widget_instance* instances;
58 struct _widget_info* next;
59} widget_info;
60
61typedef Widget
01492d1b 62(*widget_creation_function) ();
07bf635f
RS
63
64typedef struct _widget_creation_entry
65{
66 char* type;
67 widget_creation_function function;
68} widget_creation_entry;
69
70/* update all other instances of a widget. Can be used in a callback when
908ff139 71 a widget has been used by the user */
07bf635f 72void
383e0970 73lw_internal_update_other_instances (Widget, XtPointer, XtPointer);
07bf635f
RS
74
75/* get the widget_value for a widget in a given instance */
76widget_value*
383e0970 77lw_get_widget_value_for_widget (widget_instance *, Widget);
07bf635f 78
383e0970
J
79widget_info *lw_get_widget_info (LWLIB_ID);
80widget_instance * lw_get_widget_instance (Widget);
07bf635f 81
801332e4 82#endif /* LWLIB_INTERNAL_H */
ab5796a9
MB
83
84/* arch-tag: ae02f67d-ef25-421c-b956-b01a4b0aac76
85 (do not change this comment) */