annotate lwlib/lwlib-int.h @ 93309:7731615c8fe2

*** empty log message ***
author Kenichi Handa <handa@m17n.org>
date Thu, 27 Mar 2008 13:17:30 +0000
parents a1c6fb73c033
children 606f2d163a64 3c31d7653adf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
76178
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
1 /*
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
2 Copyright (C) 1992 Lucid, Inc.
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
3 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006,
79747
a1c6fb73c033 Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 76178
diff changeset
4 2007, 2008 Free Software Foundation, Inc.
76178
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
5
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
6 This file is part of the Lucid Widget Library.
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
7
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
8 The Lucid Widget Library is free software; you can redistribute it and/or
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
9 modify it under the terms of the GNU General Public License as published by
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
10 the Free Software Foundation; either version 1, or (at your option)
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
11 any later version.
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
12
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
13 The Lucid Widget Library is distributed in the hope that it will be useful,
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
16 GNU General Public License for more details.
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
17
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
18 You should have received a copy of the GNU General Public License
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
19 along with GNU Emacs; see the file COPYING. If not, write to
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
20 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
21 Boston, MA 02110-1301, USA. */
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
22
9f78501bf1f3 Add Lucid and FSF copyrights and GPL text.
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
23
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24 #ifndef LWLIB_INTERNAL_H
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 #define LWLIB_INTERNAL_H
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 #include "lwlib.h"
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27336
diff changeset
29 extern char *safe_strdup __P ((const char *));
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 typedef struct _widget_instance
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 Widget widget;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 Widget parent;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35 Boolean pop_up_p;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 struct _widget_info* info;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 struct _widget_instance* next;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 } widget_instance;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40 typedef struct _widget_info
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 char* type;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43 char* name;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
44 LWLIB_ID id;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45 widget_value* val;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
46 Boolean busy;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
47 lw_callback pre_activate_cb;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
48 lw_callback selection_cb;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
49 lw_callback post_activate_cb;
27336
397da07a6912 Add prototype for lw_get_widget_instance.
Gerd Moellmann <gerd@gnu.org>
parents: 14018
diff changeset
50 lw_callback highlight_cb;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
51 struct _widget_instance* instances;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
52 struct _widget_info* next;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
53 } widget_info;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
54
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
55 typedef Widget
5706
75570af32e92 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
56 (*widget_creation_function) ();
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
57
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
58 typedef struct _widget_creation_entry
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
59 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
60 char* type;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
61 widget_creation_function function;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
62 } widget_creation_entry;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
63
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
64 /* update all other instances of a widget. Can be used in a callback when
14018
0a94cd2c51c4 Comment fixes.
Karl Heuer <kwzh@gnu.org>
parents: 10079
diff changeset
65 a widget has been used by the user */
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66 void
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27336
diff changeset
67 lw_internal_update_other_instances __P ((Widget, XtPointer, XtPointer));
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
69 /* get the widget_value for a widget in a given instance */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
70 widget_value*
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27336
diff changeset
71 lw_get_widget_value_for_widget __P ((widget_instance *, Widget));
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
72
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27336
diff changeset
73 widget_info *lw_get_widget_info __P ((LWLIB_ID));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27336
diff changeset
74 widget_instance * lw_get_widget_instance __P ((Widget));
8723
10af98fd7fa4 entered into RCS
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
75
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
76 #endif /* LWLIB_INTERNAL_H */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 29466
diff changeset
77
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 29466
diff changeset
78 /* arch-tag: ae02f67d-ef25-421c-b956-b01a4b0aac76
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 29466
diff changeset
79 (do not change this comment) */