Moved most of vc-dir from vc.el to vc-dispatcher.el.
[bpt/emacs.git] / lwlib / lwlib-int.h
CommitLineData
32c92352
GM
1/*
2Copyright (C) 1992 Lucid, Inc.
3Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006,
b9b14d13 4 2007, 2008 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
99570665 29extern char *safe_strdup __P ((const char *));
07bf635f
RS
30
31typedef struct _widget_instance
32{
33 Widget widget;
34 Widget parent;
35 Boolean pop_up_p;
36 struct _widget_info* info;
37 struct _widget_instance* next;
38} widget_instance;
39
40typedef struct _widget_info
41{
42 char* type;
43 char* name;
44 LWLIB_ID id;
45 widget_value* val;
46 Boolean busy;
47 lw_callback pre_activate_cb;
48 lw_callback selection_cb;
49 lw_callback post_activate_cb;
98f7f0d7 50 lw_callback highlight_cb;
07bf635f
RS
51 struct _widget_instance* instances;
52 struct _widget_info* next;
53} widget_info;
54
55typedef Widget
01492d1b 56(*widget_creation_function) ();
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
99570665 67lw_internal_update_other_instances __P ((Widget, XtPointer, XtPointer));
07bf635f
RS
68
69/* get the widget_value for a widget in a given instance */
70widget_value*
99570665 71lw_get_widget_value_for_widget __P ((widget_instance *, Widget));
07bf635f 72
99570665
DL
73widget_info *lw_get_widget_info __P ((LWLIB_ID));
74widget_instance * lw_get_widget_instance __P ((Widget));
07bf635f 75
801332e4 76#endif /* LWLIB_INTERNAL_H */
ab5796a9
MB
77
78/* arch-tag: ae02f67d-ef25-421c-b956-b01a4b0aac76
79 (do not change this comment) */