Mercurial > hg > xemacs-beta
annotate lwlib/lwlib-internal.h @ 5750:66d2f63df75f
Correct some spelling and formatting in behavior.el.
Mentioned in tracker issue 826, the third thing mentioned there (the file
name at the bottom of the file) had already been fixed.
lisp/ChangeLog addition:
2013-08-05 Aidan Kehoe <kehoea@parhasard.net>
* behavior.el:
(override-behavior):
Correct some spelling and formatting here, thank you Steven
Mitchell in tracker issue 826.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Mon, 05 Aug 2013 10:05:32 +0100 |
parents | ade4c7e2c6cb |
children |
rev | line source |
---|---|
4894
03ab78e48ef6
Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents:
3025
diff
changeset
|
1 /* Implementation-specific definitions for the Lucid Widget Library. |
03ab78e48ef6
Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents:
3025
diff
changeset
|
2 Copyright (C) 1992 Lucid, Inc. |
03ab78e48ef6
Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents:
3025
diff
changeset
|
3 Copyright (C) 2000 Ben Wing. |
03ab78e48ef6
Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents:
3025
diff
changeset
|
4 |
03ab78e48ef6
Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents:
3025
diff
changeset
|
5 This file is part of the Lucid Widget Library. |
03ab78e48ef6
Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents:
3025
diff
changeset
|
6 |
5422
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
7 The Lucid Widget Library is free software: you can redistribute it |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
8 and/or modify it under the terms of the GNU General Public License as |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
9 published by the Free Software Foundation, either version 3 of the |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
10 License, or (at your option) any later version. |
4894
03ab78e48ef6
Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents:
3025
diff
changeset
|
11 |
5422
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
12 The Lucid Widget Library is distributed in the hope that it will be |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
15 General Public License for more details. |
4894
03ab78e48ef6
Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents:
3025
diff
changeset
|
16 |
03ab78e48ef6
Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents:
3025
diff
changeset
|
17 You should have received a copy of the GNU General Public License |
5422
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
18 along with the Lucid Widget Library. If not, see |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
5231
diff
changeset
|
19 <http://www.gnu.org/licenses/>. */ |
4894
03ab78e48ef6
Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents:
3025
diff
changeset
|
20 |
440 | 21 #ifndef INCLUDED_lwlib_internal_h_ |
22 #define INCLUDED_lwlib_internal_h_ | |
428 | 23 |
24 #include "lwlib.h" | |
25 | |
448 | 26 #ifdef USE_ASSERTIONS |
27 /* Highly dubious kludge */ | |
28 /* (thanks, Jamie, I feel better now -- ben) */ | |
1650 | 29 EXTERN_C void assert_failed (const char *, int, const char *); |
448 | 30 # define abort() (assert_failed (__FILE__, __LINE__, "abort()")) |
3025 | 31 # define assert(x) ((x) ? (void) 0 : assert_failed (__FILE__, __LINE__, #x)) |
448 | 32 #else |
33 # ifdef DEBUG_XEMACS | |
3025 | 34 # define assert(x) ((x) ? (void) 0 : (void) abort ()) |
448 | 35 # else |
3025 | 36 # define assert(x) ((void) 0) |
448 | 37 # endif |
38 #endif | |
39 | |
428 | 40 /* This represents a single widget within a widget tree. All the |
41 widgets in a widget tree are chained through the `next' field. | |
42 `info' is a back pointer to the widget tree. */ | |
43 | |
44 typedef struct _widget_instance | |
45 { | |
46 Widget widget; | |
47 Widget parent; | |
48 Boolean pop_up_p; | |
49 struct _widget_info* info; | |
50 struct _widget_instance* next; | |
51 } widget_instance; | |
52 | |
53 /* This represents a single widget tree, such as a single menubar. | |
54 The global variable `all_widget_info' lists all widget trees, | |
55 chained through the `next' field of this structure. */ | |
56 | |
57 typedef struct _widget_info | |
58 { | |
59 char* type; | |
60 char* name; | |
61 LWLIB_ID id; | |
62 widget_value* val; | |
63 Boolean busy; | |
64 lw_callback pre_activate_cb; | |
65 lw_callback selection_cb; | |
66 lw_callback post_activate_cb; | |
67 struct _widget_instance* instances; | |
68 struct _widget_info* next; | |
69 } widget_info; | |
70 | |
71 typedef Widget | |
72 (*widget_creation_function) (widget_instance* instance); | |
73 | |
74 typedef struct _widget_creation_entry | |
75 { | |
442 | 76 const char* type; |
428 | 77 widget_creation_function function; |
78 } widget_creation_entry; | |
79 | |
80 /* update all other instances of a widget. Can be used in a callback when | |
442 | 81 a widget has been used by the user */ |
428 | 82 void |
83 lw_internal_update_other_instances (Widget widget, XtPointer closure, | |
84 XtPointer call_data); | |
85 | |
86 /* get the widget_value for a widget in a given instance */ | |
87 widget_value* | |
88 lw_get_widget_value_for_widget (widget_instance* instance, Widget w); | |
89 | |
90 widget_info *lw_get_widget_info (LWLIB_ID id); | |
91 | |
440 | 92 #endif /* INCLUDED_lwlib_internal_h_ */ |