Mercurial > hg > xemacs-beta
comparison lwlib/lwlib.h @ 412:697ef44129c6 r21-2-14
Import from CVS: tag r21-2-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:20:41 +0200 |
parents | 74fd4e045ea6 |
children | 41dbb7a9d5f2 |
comparison
equal
deleted
inserted
replaced
411:12e008d41344 | 412:697ef44129c6 |
---|---|
1 #ifndef INCLUDED_lwlib_h_ | 1 #ifndef LWLIB_H |
2 #define INCLUDED_lwlib_h_ | 2 #define LWLIB_H |
3 | |
4 #undef CONST | |
3 | 5 |
4 #include <X11/Intrinsic.h> | 6 #include <X11/Intrinsic.h> |
7 | |
8 /* To eliminate use of `const' in the lwlib sources, define CONST_IS_LOSING. */ | |
9 #ifdef CONST_IS_LOSING | |
10 # define CONST | |
11 #else | |
12 # define CONST const | |
13 #endif | |
5 | 14 |
6 #if defined (LWLIB_MENUBARS_LUCID) || defined (LWLIB_MENUBARS_MOTIF) || defined (LWLIB_MENUBARS_ATHENA) | 15 #if defined (LWLIB_MENUBARS_LUCID) || defined (LWLIB_MENUBARS_MOTIF) || defined (LWLIB_MENUBARS_ATHENA) |
7 #define NEED_MENUBARS | 16 #define NEED_MENUBARS |
8 #endif | 17 #endif |
9 #if defined (LWLIB_SCROLLBARS_LUCID) || defined (LWLIB_SCROLLBARS_MOTIF) || defined (LWLIB_SCROLLBARS_ATHENA) | 18 #if defined (LWLIB_SCROLLBARS_LUCID) || defined (LWLIB_SCROLLBARS_MOTIF) || defined (LWLIB_SCROLLBARS_ATHENA) |
94 int slider_position; | 103 int slider_position; |
95 | 104 |
96 int scrollbar_width, scrollbar_height; | 105 int scrollbar_width, scrollbar_height; |
97 int scrollbar_x, scrollbar_y; | 106 int scrollbar_x, scrollbar_y; |
98 } scrollbar_values; | 107 } scrollbar_values; |
99 | |
100 typedef struct _widget_args | |
101 { | |
102 /* some things are only possible at creation time. args are applied | |
103 to widgets at creation time. */ | |
104 ArgList args; | |
105 int nargs; | |
106 /* Copying args is impossible so we make the caller give us heap allocated | |
107 args and free them when on-one wants them any more. */ | |
108 int ref_count; | |
109 } widget_args; | |
110 | 108 |
111 typedef struct _widget_value | 109 typedef struct _widget_value |
112 { | 110 { |
113 /* This slot is only partially utilized right now. */ | 111 /* This slot is only partially utilized right now. */ |
114 widget_value_type type; | 112 widget_value_type type; |
147 Boolean free_toolkit_data; | 145 Boolean free_toolkit_data; |
148 | 146 |
149 /* data defining a scrollbar; only valid if type == "scrollbar" */ | 147 /* data defining a scrollbar; only valid if type == "scrollbar" */ |
150 scrollbar_values *scrollbar_data; | 148 scrollbar_values *scrollbar_data; |
151 | 149 |
152 /* A reference counted arg structure. */ | |
153 struct _widget_args *args; | |
154 /* we resource the widget_value structures; this points to the next | 150 /* we resource the widget_value structures; this points to the next |
155 one on the free list if this one has been deallocated. */ | 151 one on the free list if this one has been deallocated. |
152 */ | |
156 struct _widget_value *free_list; | 153 struct _widget_value *free_list; |
157 | |
158 } widget_value; | 154 } widget_value; |
159 | 155 |
160 | 156 |
161 typedef void (*lw_callback) (Widget w, LWLIB_ID id, XtPointer data); | 157 typedef void (*lw_callback) (Widget w, LWLIB_ID id, XtPointer data); |
162 | 158 |
178 #define lw_menu_level xlw_menu_level | 174 #define lw_menu_level xlw_menu_level |
179 #else /* LWLIB_MENUBARS_LUCID */ | 175 #else /* LWLIB_MENUBARS_LUCID */ |
180 /* do this for the other toolkits too */ | 176 /* do this for the other toolkits too */ |
181 #endif /* LWLIB_MENUBARS_LUCID */ | 177 #endif /* LWLIB_MENUBARS_LUCID */ |
182 | 178 |
183 #if defined (LWLIB_TABS_LUCID) | 179 void lw_register_widget (CONST char* type, CONST char* name, LWLIB_ID id, |
184 #include "xlwtabs.h" | |
185 #endif | |
186 | |
187 void lw_register_widget (const char* type, const char* name, LWLIB_ID id, | |
188 widget_value* val, lw_callback pre_activate_cb, | 180 widget_value* val, lw_callback pre_activate_cb, |
189 lw_callback selection_cb, | 181 lw_callback selection_cb, |
190 lw_callback post_activate_cb); | 182 lw_callback post_activate_cb); |
191 Widget lw_get_widget (LWLIB_ID id, Widget parent, Boolean pop_up_p); | 183 Widget lw_get_widget (LWLIB_ID id, Widget parent, Boolean pop_up_p); |
192 Widget lw_make_widget (LWLIB_ID id, Widget parent, Boolean pop_up_p); | 184 Widget lw_make_widget (LWLIB_ID id, Widget parent, Boolean pop_up_p); |
193 Widget lw_create_widget (const char* type, const char* name, LWLIB_ID id, | 185 Widget lw_create_widget (CONST char* type, CONST char* name, LWLIB_ID id, |
194 widget_value* val, Widget parent, Boolean pop_up_p, | 186 widget_value* val, Widget parent, Boolean pop_up_p, |
195 lw_callback pre_activate_cb, | 187 lw_callback pre_activate_cb, |
196 lw_callback selection_cb, | 188 lw_callback selection_cb, |
197 lw_callback post_activate_cb); | 189 lw_callback post_activate_cb); |
198 LWLIB_ID lw_get_widget_id (Widget w); | 190 LWLIB_ID lw_get_widget_id (Widget w); |
207 Widget lw_raise_all_pop_up_widgets (void); | 199 Widget lw_raise_all_pop_up_widgets (void); |
208 widget_value* lw_get_all_values (LWLIB_ID id); | 200 widget_value* lw_get_all_values (LWLIB_ID id); |
209 Boolean lw_get_some_values (LWLIB_ID id, widget_value* val); | 201 Boolean lw_get_some_values (LWLIB_ID id, widget_value* val); |
210 void lw_pop_up_all_widgets (LWLIB_ID id); | 202 void lw_pop_up_all_widgets (LWLIB_ID id); |
211 void lw_pop_down_all_widgets (LWLIB_ID id); | 203 void lw_pop_down_all_widgets (LWLIB_ID id); |
212 void lw_add_value_args_to_args (widget_value* wv, ArgList addto, int* offset); | |
213 void lw_add_widget_value_arg (widget_value* wv, String name, XtArgVal value); | |
214 void lw_copy_widget_value_args (widget_value* copy, widget_value* val); | |
215 | 204 |
216 widget_value *malloc_widget_value (void); | 205 widget_value *malloc_widget_value (void); |
217 void free_widget_value (widget_value *); | 206 void free_widget_value (widget_value *); |
218 void free_widget_value_tree (widget_value *wv); | |
219 widget_value *replace_widget_value_tree (widget_value*, widget_value*); | 207 widget_value *replace_widget_value_tree (widget_value*, widget_value*); |
220 | 208 |
221 void lw_popup_menu (Widget, XEvent *); | 209 void lw_popup_menu (Widget, XEvent *); |
222 | 210 |
223 /* Toolkit independent way of focusing on a Widget at the Xt level. */ | 211 /* Toolkit independent way of focusing on a Widget at the Xt level. */ |
224 void lw_set_keyboard_focus (Widget parent, Widget w); | 212 void lw_set_keyboard_focus (Widget parent, Widget w); |
225 | 213 |
226 /* Silly Energize hack to invert the "sheet" button */ | 214 /* Silly Energize hack to invert the "sheet" button */ |
227 void lw_show_busy (Widget w, Boolean busy); | 215 void lw_show_busy (Widget w, Boolean busy); |
228 | 216 |
229 #endif /* INCLUDED_lwlib_h_ */ | 217 #endif /* LWLIB_H */ |