Mercurial > emacs
annotate lwlib/lwlib-int.h @ 109790:c34b730eb583
Potential buffer overrun and uninit variable fixed, bug 6855.
* keyboard.c (parse_tool_bar_item): malloc buf. Set TOOL_BAR_ITEM_LABEL
to empty string if not set to new_lbl (Bug#6855).
author | Jan D <jan.h.d@swipnet.se> |
---|---|
date | Sun, 15 Aug 2010 10:13:02 +0200 |
parents | 33021b778d4d |
children | 417b1e4d63cd |
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 | 3 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, |
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 | 24 #ifndef LWLIB_INTERNAL_H |
25 #define LWLIB_INTERNAL_H | |
26 | |
27 #include "lwlib.h" | |
28 | |
109099 | 29 extern char *safe_strdup (const char *); |
5626 | 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 | 33 typedef struct _widget_instance |
34 { | |
35 Widget widget; | |
36 Widget parent; | |
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 | 42 struct _widget_info* info; |
43 struct _widget_instance* next; | |
44 } widget_instance; | |
45 | |
46 typedef 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; | |
27336
397da07a6912
Add prototype for lw_get_widget_instance.
Gerd Moellmann <gerd@gnu.org>
parents:
14018
diff
changeset
|
56 lw_callback highlight_cb; |
5626 | 57 struct _widget_instance* instances; |
58 struct _widget_info* next; | |
59 } widget_info; | |
60 | |
109173
33021b778d4d
Change function definition from K&R to prototype. Fix prototype warnings.
Jan D <jan.h.d@swipnet.se>
parents:
109099
diff
changeset
|
61 typedef Widget (*widget_creation_function) (widget_instance *instance); |
5626 | 62 |
63 typedef struct _widget_creation_entry | |
64 { | |
65 char* type; | |
66 widget_creation_function function; | |
67 } widget_creation_entry; | |
68 | |
69 /* update all other instances of a widget. Can be used in a callback when | |
14018 | 70 a widget has been used by the user */ |
5626 | 71 void |
109099 | 72 lw_internal_update_other_instances (Widget, XtPointer, XtPointer); |
5626 | 73 |
74 /* get the widget_value for a widget in a given instance */ | |
75 widget_value* | |
109099 | 76 lw_get_widget_value_for_widget (widget_instance *, Widget); |
5626 | 77 |
109099 | 78 widget_info *lw_get_widget_info (LWLIB_ID); |
79 widget_instance * lw_get_widget_instance (Widget); | |
8723 | 80 |
5626 | 81 #endif /* LWLIB_INTERNAL_H */ |
52401 | 82 |
83 /* arch-tag: ae02f67d-ef25-421c-b956-b01a4b0aac76 | |
84 (do not change this comment) */ |