Mercurial > hg > xemacs-beta
comparison lwlib/lwlib.h @ 272:c5d627a313b1 r21-0b34
Import from CVS: tag r21-0b34
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:28:48 +0200 |
parents | f220cc83d72e |
children | 4f79e16b1112 |
comparison
equal
deleted
inserted
replaced
271:c7b7086b0a39 | 272:c5d627a313b1 |
---|---|
1 #ifndef LWLIB_H | 1 #ifndef LWLIB_H |
2 #define LWLIB_H | 2 #define LWLIB_H |
3 | 3 |
4 #include <X11/Intrinsic.h> | 4 #include <X11/Intrinsic.h> |
5 | |
6 /* To eliminate use of `const' in the lwlib sources, define CONST_IS_LOSING. */ | |
7 #undef CONST | |
8 #ifdef CONST_IS_LOSING | |
9 # define CONST | |
10 #else | |
11 # define CONST const | |
12 #endif | |
13 | 5 |
14 #if defined (LWLIB_MENUBARS_LUCID) || defined (LWLIB_MENUBARS_MOTIF) || defined (LWLIB_MENUBARS_ATHENA) | 6 #if defined (LWLIB_MENUBARS_LUCID) || defined (LWLIB_MENUBARS_MOTIF) || defined (LWLIB_MENUBARS_ATHENA) |
15 #define NEED_MENUBARS | 7 #define NEED_MENUBARS |
16 #endif | 8 #endif |
17 #if defined (LWLIB_SCROLLBARS_LUCID) || defined (LWLIB_SCROLLBARS_MOTIF) || defined (LWLIB_SCROLLBARS_ATHENA) | 9 #if defined (LWLIB_SCROLLBARS_LUCID) || defined (LWLIB_SCROLLBARS_MOTIF) || defined (LWLIB_SCROLLBARS_ATHENA) |
21 #define NEED_DIALOGS | 13 #define NEED_DIALOGS |
22 #endif | 14 #endif |
23 | 15 |
24 /* | 16 /* |
25 ** Widget values depend on the Widget type: | 17 ** Widget values depend on the Widget type: |
26 ** | 18 ** |
27 ** widget: (name value key enabled data contents/selected) | 19 ** widget: (name value key enabled data contents/selected) |
28 ** | 20 ** |
29 ** label: ("name" "string" NULL NULL NULL NULL) | 21 ** label: ("name" "string" NULL NULL NULL NULL) |
30 ** BUTTON: ("name" "string" "key" T/F data <default-button-p>) | 22 ** BUTTON: ("name" "string" "key" T/F data <default-button-p>) |
31 ** CASCADE (button w/menu): | 23 ** CASCADE (button w/menu): |
32 ** ("name" "string" "key" T/F data (label|button|button w/menu...)) | 24 ** ("name" "string" "key" T/F data (label|button|button w/menu...)) |
33 ** INCREMENTAL (button w/menu construction callback): | 25 ** INCREMENTAL (button w/menu construction callback): |
34 ** ("name" "string" NULL T/F <opaque pointer>) | 26 ** ("name" "string" NULL T/F <opaque pointer>) |
35 ** menubar: ("name" NULL NULL T/F data (button w/menu)) | 27 ** menubar: ("name" NULL NULL T/F data (button w/menu)) |
36 ** scrollbar:("name" NULL NULL T/F NULL NULL) | 28 ** scrollbar:("name" NULL NULL T/F NULL NULL) |
37 ** selectable thing: | 29 ** selectable thing: |
38 ** ("name" "string" "key" T/F data T/F) | 30 ** ("name" "string" "key" T/F data T/F) |
41 ** strings: ("name" NULL NULL T/F data (selectable thing...)) | 33 ** strings: ("name" NULL NULL T/F data (selectable thing...)) |
42 ** TEXT: ("name" "string" <ign> T/F data) | 34 ** TEXT: ("name" "string" <ign> T/F data) |
43 ** | 35 ** |
44 ** Note that the above is EXTREMELY bogus. The "type" of the various entities | 36 ** Note that the above is EXTREMELY bogus. The "type" of the various entities |
45 ** that a widget_value structure can represent is implicit in the contents of | 37 ** that a widget_value structure can represent is implicit in the contents of |
46 ** half a dozen slots, instead of there simply being a type field. This | 38 ** half a dozen slots, instead of there simply being a type field. This |
47 ** should all be rethunk. I've added a type field, but for now it's only used | 39 ** should all be rethunk. I've added a type field, but for now it's only used |
48 ** by the new xlwmenu code. | 40 ** by the new xlwmenu code. |
49 */ | 41 */ |
50 | 42 |
51 typedef unsigned long LWLIB_ID; | 43 typedef unsigned long LWLIB_ID; |
112 | 104 |
113 /* name of widget */ | 105 /* name of widget */ |
114 char* name; | 106 char* name; |
115 /* value (meaning BOGUSLY depend on widget type) */ | 107 /* value (meaning BOGUSLY depend on widget type) */ |
116 char* value; | 108 char* value; |
117 /* keyboard equivalent. no implications for XtTranslations */ | 109 /* keyboard equivalent. no implications for XtTranslations */ |
118 char* key; | 110 char* key; |
119 /* accelerator key. For XEmacs, this should be a Lisp_Object holding a | 111 /* accelerator key. For XEmacs, this should be a Lisp_Object holding a |
120 char or symbol suitable for passing to event_matches_key_specifier_p. | 112 char or symbol suitable for passing to event_matches_key_specifier_p. |
121 Outside of emacs, this can be anything: an X KeySym is a good idea. | 113 Outside of emacs, this can be anything: an X KeySym is a good idea. |
122 lwlib provides support functions for keyboard traversal of menus. Actual | 114 lwlib provides support functions for keyboard traversal of menus. Actual |