annotate lwlib/lwlib-int.h @ 108387:fd328ff8d24c

Merge from mainline.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Mon, 10 May 2010 03:37:53 +0000
parents aa85632b7860
children e16f43875a48
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.
106815
1d1d5d9bd884 Add 2010 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 100957
diff changeset
3 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
1d1d5d9bd884 Add 2010 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 100957
diff changeset
4 2010 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
107827
aa85632b7860 Use XFT in Lucid dialogs if available.
Jan D. <jan.h.d@swipnet.se>
parents: 106815
diff changeset
31 struct widget_xft_data;
aa85632b7860 Use XFT in Lucid dialogs if available.
Jan D. <jan.h.d@swipnet.se>
parents: 106815
diff changeset
32
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 typedef struct _widget_instance
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35 Widget widget;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 Widget parent;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 Boolean pop_up_p;
107827
aa85632b7860 Use XFT in Lucid dialogs if available.
Jan D. <jan.h.d@swipnet.se>
parents: 106815
diff changeset
38 #ifdef HAVE_XFT
aa85632b7860 Use XFT in Lucid dialogs if available.
Jan D. <jan.h.d@swipnet.se>
parents: 106815
diff changeset
39 struct widget_xft_data *xft_data;
aa85632b7860 Use XFT in Lucid dialogs if available.
Jan D. <jan.h.d@swipnet.se>
parents: 106815
diff changeset
40 int nr_xft_data;
aa85632b7860 Use XFT in Lucid dialogs if available.
Jan D. <jan.h.d@swipnet.se>
parents: 106815
diff changeset
41 #endif
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 struct _widget_info* info;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43 struct _widget_instance* next;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
44 } widget_instance;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
46 typedef struct _widget_info
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
47 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
48 char* type;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
49 char* name;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
50 LWLIB_ID id;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
51 widget_value* val;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
52 Boolean busy;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
53 lw_callback pre_activate_cb;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
54 lw_callback selection_cb;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
55 lw_callback post_activate_cb;
27336
397da07a6912 Add prototype for lw_get_widget_instance.
Gerd Moellmann <gerd@gnu.org>
parents: 14018
diff changeset
56 lw_callback highlight_cb;
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
57 struct _widget_instance* instances;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
58 struct _widget_info* next;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
59 } widget_info;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
60
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
61 typedef Widget
5706
75570af32e92 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 5626
diff changeset
62 (*widget_creation_function) ();
5626
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 typedef struct _widget_creation_entry
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
65 {
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66 char* type;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
67 widget_creation_function function;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68 } widget_creation_entry;
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
69
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
70 /* 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
71 a widget has been used by the user */
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
72 void
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27336
diff changeset
73 lw_internal_update_other_instances __P ((Widget, XtPointer, XtPointer));
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
74
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
75 /* get the widget_value for a widget in a given instance */
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
76 widget_value*
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27336
diff changeset
77 lw_get_widget_value_for_widget __P ((widget_instance *, Widget));
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
78
29466
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27336
diff changeset
79 widget_info *lw_get_widget_info __P ((LWLIB_ID));
6ed38ee607e9 Enable prototypes.
Dave Love <fx@gnu.org>
parents: 27336
diff changeset
80 widget_instance * lw_get_widget_instance __P ((Widget));
8723
10af98fd7fa4 entered into RCS
Paul Reilly <pmr@pajato.com>
parents: 5706
diff changeset
81
5626
93bb7e0935ba Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
82 #endif /* LWLIB_INTERNAL_H */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 29466
diff changeset
83
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 29466
diff changeset
84 /* arch-tag: ae02f67d-ef25-421c-b956-b01a4b0aac76
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 29466
diff changeset
85 (do not change this comment) */