Lucid menus can now use Xft for fonts.
[bpt/emacs.git] / lwlib / ChangeLog
1 2010-04-08 Jan Djärv <jan.h.d@swipnet.se>
2
3 * xlwmenu.c (xlwmenu_default_font): Make static.
4 (xlwMenuResources): Add XtNfaceName and XtNdefaultFace.
5 (string_width): Use XftTextExtentsUtf8 if HAVE_XFT.
6 (MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Add versions for
7 HAVE_XFT.
8 (size_menu): Set max_rest_width in window_state structure.
9 (display_menu_item): If HAVE_XFT and xft_draw is set, use
10 XftDrawRect and XftDrawStringUtf8 to draw text.
11 (make_windows_if_needed): Set max_rest_width and xft_draw
12 in windows[i].
13 (openXftFont): New.
14 (XlwMenuInitialize): Call openXftFont if HAVE_XFT. If mw->menu.font
15 is not set, load font fixed and save it in xlwmenu_default_font.
16 (XlwMenuInitialize): Set max_rest_width and xft_draw in windows[0].
17 (XlwMenuClassInitialize): Initialize xlwmenu_default_font.
18 (XlwMenuRealize): Set xft_fg, xft_bg, xft_disabled_fg and
19 windows[0].xft_draw if xft_font is set.
20 (XlwMenuDestroy): Destroy all xft_draw and close xft_font.
21 (facename_changed): New.
22 (XlwMenuSetValues): Call facename_changed. If face name did change,
23 close old fonts and destroy xft_draw:s. Then create new ones.
24
25 * xlwmenu.h (XtNfaceName, XtCFaceName, XtNdefaultFace,
26 XtCDefaultFace): New.
27
28 * xlwmenuP.h (_window_state): Add max_rest_width and xft_draw.
29 (_XlwMenu_part): Add faceName,xft_fg, xft_bg, xft_disabled_fg and
30 xft_font.
31
32 2010-03-10 Chong Yidong <cyd@stupidchicken.com>
33
34 * Branch for 23.2.
35
36 2009-10-19 Dan Nicolaescu <dann@ics.uci.edu>
37
38 * xlwmenu.c:
39 * lwlib.c:
40 * lwlib-utils.c:
41 * lwlib-Xm.c:
42 * lwlib-Xlw.c:
43 * lwlib-Xaw.c: Include setjmp.h.
44
45 2009-06-21 Chong Yidong <cyd@stupidchicken.com>
46
47 * Branch for 23.1.
48
49 2008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
50
51 * Makefile.in (ALL_CFLAGS): Remove reference to C_SWITCH_SITE.
52
53 2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
54
55 * lwlib.c: Remove references to obsolete variables.
56
57 2008-06-02 Jim Meyering <meyering@redhat.com>
58
59 Remove useless if-before-free tests.
60 * lwlib-Xm.c (xm_update_one_value): Likewise.
61 * lwlib.c (safe_free_str, free_widget_value_tree): Likewise.
62
63 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
64
65 * Makefile.in (TOOLKIT_DEFINES): Remove.
66
67 2007-08-29 Károly Lőrentey <lorentey@elte.hu>
68
69 * xlwmenu.c (XlwMenuRealize): Ignore X errors while setting up
70 cursor shape.
71
72 2007-07-25 Glenn Morris <rgm@gnu.org>
73
74 * Relicense all FSF files to GPLv3 or later.
75
76 * COPYING: Switch to GPLv3.
77
78 2007-06-13 Chong Yidong <cyd@stupidchicken.com>
79
80 * lwlib-Xaw.c, lwlib.c: Link to xaw3d if available.
81
82 2007-06-02 Chong Yidong <cyd@stupidchicken.com>
83
84 * Version 22.1 released.
85
86 2007-02-28 Glenn Morris <rgm@gnu.org>
87
88 * Makefile.in (distclean): Delete Makefile.
89 (maintainer-clean): Delete TAGS.
90
91 2007-01-01 Jan Djärv <jan.h.d@swipnet.se>
92
93 * xlwmenu.c (xlwMenuResources): Add XtNleaveCallback, XtNenterCallback.
94 (display_menu, map_event_to_widget_value): Generate enter and
95 leave callbacks.
96 (pop_up_menu): Initialize mw->menu.inside_entry.
97
98 * xlwmenu.h (XtNleaveCallback, XtNenterCallback): New strings.
99
100 * xlwmenuP.h (_XlwMenu_part): Add enter/leave callbacks and
101 inside_entry.
102
103 * lwlib-Xlw.c (enter_hook, leave_hook): New functions.
104 (xlw_create_menubar, xlw_create_popup_menu): Connect XtNenter/leave
105 to enter/leave_hook.
106
107 2006-10-30 Chong Yidong <cyd@stupidchicken.com>
108
109 * Makefile.in (lwlib-utils.o): Use CPPFLAGS.
110
111 2006-09-15 Jay Belanger <belanger@truman.edu>
112
113 * COPYING: Replace "Library Public License" by "Lesser Public
114 License" throughout.
115
116 2006-05-23 Jan Djärv <jan.h.d@swipnet.se>
117
118 * xlwmenu.c: Include xterm.h if emacs instead of declaring functions
119 used.
120 (string_width): Declare as static.
121 (Start, pop_up_menu): Set is_hint to 0 before calling
122 handle_motion_event.
123 (pop_up_menu): Return value and parameters for x_catch_errors and
124 x_uncatch_errors changed.
125
126 2005-09-27 Dan Nicolaescu <dann@ics.uci.edu>
127
128 * xlwmenu.c (find_next_selectable, find_prev_selectable):
129 Add missing parameter declarations.
130
131 2005-09-24 Dan Nicolaescu <dann@ics.uci.edu>
132
133 * xlwmenu.c: Fix the return type for x_clear_errors and
134 x_uncatch_errors.
135
136 2005-07-19 Jan Djärv <jan.h.d@swipnet.se>
137
138 * lwlib-Xm.c (make_menu_in_widget): Disable drag and drop for
139 labels in menu bar.
140
141 2005-07-04 Lute Kamstra <lute@gnu.org>
142
143 Update FSF's address in GPL notices.
144
145 2005-04-01 Jan Djärv <jan.h.d@swipnet.se>
146
147 Reenable support for I18N to Lucid menus.
148
149 * xlwmenuP.h (_XlwMenu_part): Add fontSet resource.
150
151 * xlwmenu.c (string_width):
152 (MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Ditto.
153 (display_menu_item, make_drawing_gcs, XlwMenuInitialize)
154 (XlwMenuSetValues): Use font if fontSet is NULL, use only
155 font for !HAVE_X_I18N.
156 (xlwMenuResources): Add fontSet resource.
157
158 2005-03-22 Jan Djärv <jan.h.d@swipnet.se>
159
160 * xlwmenuP.h: Temporary #undef HAVE_X_I18N until FontSet for UTF-8
161 on XFree86 is investigated.
162
163 * xlwmenu.c: Ditto.
164
165 2005-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
166
167 Add support for I18N to Lucid menus.
168
169 * xlwmenuP.h (struct _XlwMenu_part) [HAVE_X_I18N]: Change `font' to be
170 a fontset. Add a `font_extents' element.
171
172 * xlwmenu.c (xlwMenuResources) [HAVE_X_I18N]: Use a fontset for the
173 `font' resource.
174 (string_width) [HAVE_X_I18N]: Use XmbTextExtents;
175 (MENU_FONT_HEIGHT, MENU_FONT_ASCENT): New macros.
176 (arrow_width, toggle_button_width, size_menu_item, draw_arrow)
177 (draw_toggle, draw_radio, display_menu_item): Use them.
178 (display_menu_item) [HAVE_X_I18N]: Use XmbDrawString.
179 (make_drawing_gcs) [HAVE_X_I18N]: Don't mess with fonts.
180 (XlwMenuInitialize) [HAVE_X_I18N]: Initialize font_extents.
181 (XlwMenuSetValues) [HAVE_X_I18N]: Refresh font_extents if font changes.
182
183 * lwlib-Xm.c (xm_update_label, xm_update_list): Use the recommended
184 XmStringCreateLocalized function. Add missing copyright.
185
186 * lwlib-Xm.h: Add missing copyright and license notice.
187
188 2005-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
189
190 * xlwmenuP.h:
191 * xlwmenu.h: Add missing copyright and license notice.
192
193 2004-12-27 Jan Djärv <jan.h.d@swipnet.se>
194
195 * xlwmenu.c (xlwMenuActionsList): Install MenuGadgetEscape as an
196 action procedure for compatibility with Lesstif/Motif.
197
198 * Makefile.in (mostlyclean): Don't remove *~ on clean.
199
200 2004-12-26 Jan Djärv <jan.h.d@swipnet.se>
201
202 * lwlib-Xaw.c: Put <KeyPress>Escape in dialogOverride so dialogs only
203 pops down on Escape, not any keypress.
204
205 2004-11-01 Jan Djärv <jan.h.d@swipnet.se>
206
207 * xlwmenu.c (find_first_selectable, find_next_selectable)
208 (find_prev_selectable): Rename parameter skip_no_call_data to
209 skip_titles. Recognize titles as having no call_data and no contents.
210 (Down, Up): Comment update.
211
212 2004-08-30 Jan Djärv <jan.h.d@swipnet.se>
213
214 * lwlib.h (_widget_value): Add lname and lkey.
215
216 2004-01-12 Jan Djärv <jan.h.d@swipnet.se>
217
218 * xlwmenuP.h (_XlwMenu_part): Add top_depth.
219
220 * xlwmenu.h: Removed declaration of pop_up_menu
221
222 * xlwmenu.c (Start): Get correct time if time in event is CurrentTime.
223 (find_first_selectable, find_next_selectable)
224 (find_prev_selectable): Add parameter skip_no_call_data to skip
225 over items with no call data (popup menu titles).
226 (Down, Up): Compare old_depth to top_depth instead of 2.
227 Pass True to find_*_selectable:s new parameter if this is a popup menu.
228 (Left, Right): Compare old_depth to top_depth instead of 2.
229 Pass 0 to find_*_selectable:s new parameter.
230 (pop_up_menu): Set top_depth to 1 for pop up menus and 2 for
231 menu bar menus, to enable keyboard traversal of popups.
232
233 * lwlib-Xm.c (dialog_key_cb): New function.
234 (make_dialog): Add event handlers to dialog_key_cb for key press
235 so we can pop down on ESC.
236
237 * lwlib-Xlw.c (xlw_popup_menu): Replace call to pop_up_menu with
238 XtCallActionProc ("start"). Use a full XEvent since "start" copies it.
239
240 * lwlib-Xaw.c (make_dialog): Add override so dialog pops down on ESC.
241 (wm_delete_window): If widget isn't a shell, use the parent.
242
243 2003-05-22 Dave Love <fx@gnu.org>
244
245 * xlwmenu.c: Include lisp.h, not ../src/lisp.h.
246 (make_drawing_gcs): Remove unused `xswa', `mask'.
247
248 * lwlib-Xlw.c: Include lisp.h, not ../src/lisp.h.
249 (lw_lucid_widget_p): Remove unused `mw'.
250 (xlw_update_one_widget, xlw_pop_instance) [PROTOTYPES]:
251 Provide ISO C arglists.
252
253 2003-04-30 Lute Kamstra <lute@gnu.org>
254
255 * Makefile.in: Make things function properly in case both LessTif
256 and Open Motif are installed.
257
258 2003-01-26 Jan Djärv <jan.h.d@swipnet.se>
259
260 * lwlib-Xm.c (update_one_menu_entry): Deallocate widget_list.
261 (destroy_all_children): Call it self to destroy sub menu children.
262
263 2002-12-22 Richard M. Stallman <rms@gnu.org>
264
265 * xlwmenu.c (pop_new_stack_if_no_contents): Do nothing if
266 new_depth is 1.
267 (remap_menubar): Don't look in new_stack[0].
268 (Left): At level 1, do the same thing Right does.
269
270 2002-11-21 Dave Love <fx@gnu.org>
271
272 * lwlib-Xaw.c [PROTOTYPES]: Provide ISO C arglists for functions
273 with Boolean args.
274
275 2002-11-20 Dave Love <fx@gnu.org>
276
277 * lwlib.c: Remove obsolete USE_OLIT code.
278 [PROTOTYPES]: Provide ISO C arglists for functions with Boolean args.
279 (lwlib_memset): Declare length arg as size_t.
280 (malloc_widget_value): Cast arg of lwlib_memset.
281
282 * xlwmenu.c (separator_height): Prototype.
283
284 2002-05-07 Miles Bader <miles@gnu.org>
285
286 * xlwmenu.c (make_drawing_gcs): The scaling factor passed to
287 `x_alloc_lighter_color_for_widget' is a float, not an int, and
288 it's a multiplicative factor, so the name `delta' is inaccurate.
289 Always base disabled foreground on the normal foreground.
290 Don't use the temporary variable `temp'.
291
292 2002-05-06 Pavel Janík <Pavel@Janik.cz>
293
294 * xlwmenu.c (xlwMenuResources): New resource.
295 (find_next_selectable): Return current item when the menu is not
296 popped up.
297 Rename `inactive_gc' to `disabled_gc'.
298 Use lighter/darker color for disabled menu items instead of using
299 stipple. Use stipple only when better color can not be
300 determined automatically.
301
302 * xlwmenu.h (XtNdisabledForeground, XtCDisabledForeground):
303 New resource names.
304
305 * xlwmenuP.h (_XlwMenu_part): Add new member `disabled_foreground'.
306 Rename `inactive_gc' to `disabled_gc'.
307
308 2002-04-29 Pavel Janík <Pavel@Janik.cz>
309
310 * xlwmenu.c <XtNmargin, XtNverticalSpacing, XmNshadowThickness>:
311 Change default values.
312
313 2002-04-28 Jan Djärv <jan.h.d@swipnet.se>
314
315 * xlwmenu.c: Do not grab keyboard if installation-directory is
316 non-nil (not installed Emacs). To simplify debugging.
317
318 2002-04-28 Pavel Janík <Pavel@Janik.cz>
319
320 * Makefile.in: Remove OpenLook file dependencies.
321 (xrdb-cpp.o): Remove target.
322 Remove unused defines.
323
324 * xrdb.c, xrdb-cpp.c, Imakefile, dispatch.c, dispatch.h:
325 Remove unused file.
326
327 * lwlib.c (instantiate_widget_instance): Remove duplicated prototype.
328
329 2002-04-25 Pavel Janík <Pavel@Janik.cz>
330
331 * lwlib-Xol.c, lwlib-Xol.h, lwlib-Xolmb.c, lwlib-Xolmb.h
332 * lwlib-XolmbP.h: Remove file.
333
334 2002-04-22 Jan Djärv <jan.h.d@swipnet.se>
335
336 * lwlib-Xm.c: Removed compiler warning.
337
338 * xlwmenu.c: Add calls to GrabKeyboard to remove strange
339 interactions with window managers that steal keypresses.
340 Call ungrab_all instead of XtUngrabPointer.
341 (pop_up_menu): Add call to XtGrabKeyboard.
342 (ungrab_all): New function.
343
344 2002-04-20 Pavel Janík <Pavel@Janik.cz>
345
346 * xlwmenu.c (find_next_selectable): New function.
347 (Down, Up, Right): Use it.
348 (find_next_selectable): Prevent endless loops when only one item
349 is enabled in the menu.
350
351 2002-04-19 Pavel Janík <Pavel@Janik.cz>
352
353 These changes allow moving in menu via keyboard.
354
355 * xlwmenu.c (xlwMenuTranslations, xlwMenuActionsList):
356 Add translations for cursor keys and RET.
357 (find_next_selectable, find_prev_selectable): New functions used
358 for finding menu-items.
359 (Down, Up, Left, Right): New functions.
360
361 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
362
363 * Makefile.in (TAGS): Don't use -t, it's the default behavior for
364 etags, so it barfs if invoked with -t.
365
366 2002-03-17 Richard M. Stallman <rms@gnu.org>
367
368 * lwlib.c (P_): Definitions deleted.
369
370 2002-03-16 Eli Zaretskii <eliz@is.elta.co.il>
371
372 * lwlib.c (P_): Don't define if already defined.
373
374 2002-01-27 Pavel Janík <Pavel@Janik.cz>
375
376 * lwlib-Xaw.c (xaw_update_scrollbar, xaw_scrollbar_scroll)
377 (xaw_scrollbar_jump): Put whole functions in #if 0.
378
379 2002-01-09 Pavel Janík <Pavel@Janik.cz>
380
381 * lwlib-Xaw.c (xaw_create_dialog): Initialize icon_name to
382 suppress compiler warnings.
383
384 2001-12-18 Pavel Janík <Pavel@Janik.cz>
385
386 * lwlib.c (separator_names): Add missing braces around initializers.
387
388 2001-12-08 Pavel Janík <Pavel@Janik.cz>
389
390 * COPYING: New file.
391
392 2001-12-01 Richard M. Stallman <rms@gnu.org>
393
394 * lwlib.h (_widget_value): `help' has type Lisp_Object.
395
396 * xlwmenu.c, lwlib-Xaw.c, lwlib-Xlw.c: Include ../src/lisp.h.
397 * lwlib-Xm.c, lwlib-Xol.c, lwlib/lwlib-Xolmb.c: Include ../src/lisp.h.
398 * lwlib/lwlib-utils.c: Include ../src/lisp.h.
399
400 * lwlib.c: Include ../src/lisp.h. Don't declare xmalloc.
401 (free_widget_value_tree): Don't free `help' field.
402 (copy_widget_value_tree): Copy `help' simply, without safe_strdup.
403 (merge_widget_value): Compare and copy `help' simply.
404
405 2001-11-28 Richard M. Stallman <rms@gnu.org>
406
407 * Makefile.in (TAGS): Find the source files in $(srcdir).
408
409 2001-10-20 Gerd Moellmann <gerd@gnu.org>
410
411 * (Version 21.1 released.)
412
413 2001-10-09 Gerd Moellmann <gerd@gnu.org>
414
415 * lwlib-Xaw.c (xaw_create_scrollbar) [!0]: Return NULL.
416 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
417
418 2001-10-05 Gerd Moellmann <gerd@gnu.org>
419
420 * Branch for 21.1.
421
422 2001-04-30 Gerd Moellmann <gerd@gnu.org>
423
424 * xlwmenu.c (xlwmenu_window_p): New function.
425
426 2001-03-23 Gerd Moellmann <gerd@gnu.org>
427
428 * lwlib-Xlw.c (x_print_complete_resource_name) [0]: New function.
429
430 2001-03-22 Gerd Moellmann <gerd@gnu.org>
431
432 * lwlib-Xm.c (x_print_complete_resource_name) [0]: New function.
433
434 2001-03-13 Gerd Moellmann <gerd@gnu.org>
435
436 * lwlib-Xm.c (make_menu_in_widget): Remove code forcing LessTif to
437 recompute centered text; it works fine without with current LessTif.
438
439 * lwlib-Xm.c (make_menu_in_widget): Add an XmNpopdownCallback
440 instead of an XmNunmapCallback.
441 (xm_unmap_callback): Remove.
442
443 * lwlib-Xm.c (make_menubar): Take out code in #if 0.
444
445 * lwlib-Xm.c (xm_popup_menu): Don't set XmNmenuPost unless
446 necessary. From Rick Scott <rwscott@alumni.uwaterloo.ca>.
447
448 2001-02-28 Gerd Moellmann <gerd@gnu.org>
449
450 * lwlib-Xm.c (xm_arm_callback): Don't compare widgets with `None',
451 use NULL instead.
452
453 * lwlib-Xaw.c (xaw_update_one_widget): Use XtSetSensitive instead
454 of setting the value of XtNsensitive.
455
456 * lwlib-Xm.c (xm_update_radiobox, update_one_menu_entry)
457 (xm_update_one_widget): Use XtSetSensitive instead of setting the
458 value of XmNsensitive. From Rick Scott <rwscott@alumni.uwaterloo.ca>.
459
460 2000-12-14 Dave Love <fx@gnu.org>
461
462 * xlwmenu.c (gray_bitmap_bits): Remove `unsigned' from declaration.
463
464 2000-12-11 Dave Love <fx@gnu.org>
465
466 * xlwmenu.c (draw_separator) <SEPARATOR_SHADOW_ETCHED_IN_DASH>:
467 <SEPARATOR_SHADOW_ETCHED_OUT_DASH>: Fix call of draw_separator.
468
469 2000-12-07 Gerd Moellmann <gerd@gnu.org>
470
471 * lwlib-Xm.c (xm_arm_callback): Fix last change.
472
473 2000-11-30 Gerd Moellmann <gerd@gnu.org>
474
475 * lwlib-Xm.c (xm_arm_callback): Handle case that W is null;
476 also see comment there.
477
478 2000-11-21 Gerd Moellmann <gerd@gnu.org>
479
480 * xlwmenu.c (xlwmenu_redisplay): New function.
481
482 2000-09-30 Stefan Monnier <monnier@cs.yale.edu>
483
484 * lwlib.c (lw_separator_p): Init separator_p (bug with "-- some text").
485
486 2000-09-28 Sam Steingold <sds@gnu.org>
487
488 * xlwmenu.c: Before including <X11/Xos.h> on SUN, define SUNOS41
489 to avoid redefining struct timeval and struct timezone.
490
491 2000-09-04 Miles Bader <miles@gnu.org>
492
493 * xlwmenu.c (XlwMenuSetValues): Only frob the display if the menu
494 is actually displayed.
495 (remap_menubar): Only include the menu-margin in the initial X & Y
496 positions for horizontal menu-bars.
497 (fit_to_screen): If moving a sub-menu to the left-side, increment
498 its x-position by the shadow-thickness to make it look more
499 attached to the invoking menu-item (similarly to the way it would
500 be displayed on the right side).
501
502 2000-09-03 Miles Bader <miles@gnu.org>
503
504 * xlwmenu.c (x_alloc_lighter_color_for_widget): New extern declaration.
505 (make_shadow_gcs) [emacs]: Use x_alloc_lighter_color_for_widget to
506 do shadow calculation.
507 (make_shadow_gcs): Remove code that tests whether the top shadow
508 is dimmer than the bottom shadow--it shouldn't ever happen.
509
510 2000-08-30 Miles Bader <miles@gnu.org>
511
512 * xlwmenu.c (XlwMenuSetValues): If the background color has
513 changed, re-make the shadow-gcs too.
514
515 2000-08-03 Gerd Moellmann <gerd@gnu.org>
516
517 * lwlib.c, lwlib-Xm.c, lwlib-Xaw.c: Use NULL at the end of the
518 variable argument lists of XtVaSetValues and XtVaGetValues
519 functions because 0 is not sufficient on systems where sizeof
520 (int) < sizeof (void *).
521
522 2000-07-19 Gerd Moellmann <gerd@gnu.org>
523
524 * xlwmenu.c [emacs]: Don't include <X11/bitmaps/gray> because that
525 leads to redefinition errors when static is defined as empty in
526 config.h. Refer to the gray bitmap in xfns.c, instead.
527
528 2000-07-18 Dave Love <fx@gnu.org>
529
530 * lwlib-utils.c (XtApplyToWidgets): Cast args of lwlib_bcopy.
531
532 2000-06-23 Dave Love <fx@gnu.org>
533
534 * lwlib-Xlw.c (xlw_popup_menu): Cast arg of pop_up_menu.
535
536 * lwlib-utils.c: Include lwlib.h.
537
538 2000-06-16 Gerd Moellmann <gerd@gnu.org>
539
540 * xlwmenuP.h (_XlwMenu_part): Add free_top_shadow_color_p and
541 free_bottom_shadow_color_p.
542
543 * xlwmenu.c (make_shadow_gcs): Set free_top_shadow_color_p
544 and free_top_shadow_color_p flags in the menu widget if
545 top and bottom shadow colors must be freed.
546 (release_shadow_gcs): Free colors only if they must be freed.
547
548 2000-06-12 Gerd Moellmann <gerd@gnu.org>
549
550 * xlwmenu.c (make_shadow_gcs): Free and copy colors so that
551 color reference counts are right.
552 (release_shadow_gcs): Free colors.
553
554 2000-06-06 Dave Love <fx@gnu.org>
555
556 * xlwmenu.c (x_alloc_nearest_color_for_widget, x_catch_errors)
557 (x_uncatch_errors, x_had_errors_p, x_clear_errors): Add prototypes
558 -- should be moved into separate header.
559 (make_shadow_gcs) <x_alloc_nearest_color_for_widget>: Cast first arg.
560 (Start) <pop_up_menu>: Cast second arg.
561
562 * lwlib.c (P_): Use PROTOTYPES.
563 (safe_strdup): Declare arg const.
564 (lw_modify_all_widgets) <!info>: Return 0.
565
566 * lwlib-Xm.c (P_): Use PROTOTYPES.
567
568 * xlwmenu.h, lwlib.h, lwlib-utils.h, lwlib-int.h, lwlib-Xm.h:
569 * lwlib-Xlw.h, lwlib-Xaw.h: Enable prototypes.
570
571 * lwlib-Xaw.c (xaw_popup_menu): Add EVENT arg.
572
573 * Makefile.in (lwlib.o): Depend on lwlib-Xlw.h.
574 (lwlib-Xlw.o): Depend on lwlib-Xlw.h.
575 (lwlib-Xaw.o): Depend on lwlib-Xaw.h.
576 (lwlib-Xm.o): Depend on lwlib-Xm.h.
577
578 2000-03-12 Gerd Moellmann <gerd@gnu.org>
579
580 * lwlib-Xm.c (make_menubar) [LESSTIF_VERSION]: Don't set
581 XmNresizeHeight and XmNresizeWidth.
582
583 2000-03-08 Dave Love <fx@gnu.org>
584
585 * Makefile.in (liblw.a): Don't bother testing for ranlib failing
586 since configure sets it up.
587
588 2000-03-06 Gerd Moellmann <gerd@gnu.org>
589
590 * lwlib-Xm.c (make_menubar): Set XmNresizeHeight and
591 XmNresizeWidth resources only if LESSTIF_VERSION is defined.
592
593 2000-03-05 Gerd Moellmann <gerd@gnu.org>
594
595 * lwlib-Xm.c (xm_manage_resizing): Rewritten.
596
597 * lwlib.c (lw_modify_all_widgets): Return non-zero if widget
598 tree was changed.
599 (merge_widget_value): Add parameter CHANGE_P. Set *CHANGE_P
600 to 1 if a change occurs.
601
602 * lwlib.h (lw_modify_all_widgets): Change prototype.
603
604 2000-03-04 Gerd Moellmann <gerd@gnu.org>
605
606 * xlwmenu.c (make_shadow_gcs): Use the widget's colormap instead
607 of the screen's default colormap.
608
609 2000-02-18 Gerd Moellmann <gerd@gnu.org>
610
611 * lwlib.c (merge_widget_value): Fix incorrect assignment of
612 safe_strdup'd help string.
613
614 2000-01-25 Gerd Moellmann <gerd@gnu.org>
615
616 * lwlib-Xm.c (make_menu_in_widget): Don't add XmNpopdownCallback,
617 add XmNunmapCallback.
618 (xm_unmap_callback): New function.
619 (xm_pull_down_callback): Call pre-activate callback only if
620 parent is the menu bar.
621
622 2000-01-17 Gerd Moellmann <gerd@gnu.org>
623
624 * lwlib-Xm.c (xm_arm_callback): New function.
625 (make_menu_in_widget): Set xm_arm_callback as XmNarmCallback and
626 XmNdisarmCallback for buttons (not supported for other widgets).
627 (make_menubar): Set XmNresizeHeight and XmNresizeWidth to False.
628
629 * lwlib-Xlw.c (highlight_hook): New function.
630 (xlw_create_menubar, xlw_create_popup_menu): Add highlight_hook as
631 callback XtNhighlightCallback.
632
633 * lwlib.c (copy_widget_value_tree): Copy help string.
634 (free_widget_value_tree): Free help string.
635 (merge_widget_value): Handle help string.
636 (allocate_widget_info, lw_register_widget, lw_create_widget):
637 Add parameter HIGHLIGHT_CB.
638 (lw_get_widget_instance): New function.
639
640 * lwlib-int.h: Add prototype for lw_get_widget_instance.
641
642 * lwlib.h (_widget_value): Add help string.
643
644 * xlwmenu.c (xlwMenuResources): All XtNhighlightCallback.
645 (remap_menubar): Call highlight callback.
646
647 * xlwmenu.h (XtNhighlightCallback): New define.
648
649 * xlwmenuP.h (_XlwMenu_part): Add `highlight' callback list.
650
651 1999-10-19 Paul Eggert <eggert@twinsun.com>
652
653 Add support for large files, plus some locale improvements.
654
655 * dispatch.c, lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib.c, xlwmenu.c,
656 * xrdb-cpp.c, xrdb.c:
657 Include <config.h> before any system include files.
658
659 * lwlib-Xm.c, lwlib.c:
660 Do not include <stdlib.h> or <string.h>, as <config.h> does this.
661
662 1999-10-07 Gerd Moellmann <gerd@gnu.org>
663
664 * lwlib-Xm.c (make_menu_in_widget, update_one_menu_entry):
665 Use widgets instead of gadgets to be able to set colors.
666
667 1999-09-17 Richard Stallman <rms@gnu.org>
668
669 * lwlib-Xaw.c (wm_delete_window): Check all the shell's children,
670 not just the first, to find the dialog box.
671
672 1999-09-14 Gerd Moellmann <gerd@gnu.org>
673
674 * lwlib.c (lw_separator_p): Check for new-style separators differently.
675
676 1999-09-10 Gerd Moellmann <gerd@gnu.org>
677
678 * lwlib.c (lw_separator_p): Add `--:space' with the same
679 meaning as `--:noLine'.
680
681 1999-09-06 Gerd Moellmann <gerd@gnu.org>
682
683 * lwlib.c (lw_separator_p): Add alternative separator type names.
684
685 1999-09-03 Gerd Moellmann <gerd@gnu.org>
686
687 * xlwmenu.c (make_shadow_gcs): Call x_alloc_nearest_color_for_widget.
688
689 1999-07-12 Gerd Moellmann <gerd@gnu.org>
690
691 * lwlib-Xm.c: Add function prototypes.
692
693 * lwlib-Xm.c (xm_update_label): Use val->name to look up
694 a label string from resources.
695 (xm_update_label): Add some comments.
696
697 1999-07-12 Gerd Moellmann <gerd@gnu.org>
698
699 * xlwmenu.c (all_dashes_p): Removed.
700 (size_menu_item): Call lw_separator_p.
701 (display_menu_item): Ditto.
702 (display_menu): Ditto.
703 (draw_separator): New.
704 (display_menu_item): Call it.
705 (separator_height): New.
706 (size_menu_item): Call it.
707
708 * lwlib-Xm.c (all_dashes_p): Removed.
709 (make_menu_in_widget): Use lw_separator_p. Set Motif separator type.
710
711 * lwlib.c (lw_separator_p): New.
712
713 * lwlib.h (enum menu_separator): New.
714
715 1999-07-12 Gerd Moellmann <gerd@gnu.org>
716
717 * lwlib-Xm.c (make_menu_in_widget): Set alignment of menu
718 title after all widgets have been created.
719
720 1999-07-12 Gerd Moellmann <gerd@gnu.org>
721
722 * xlwmenu.c (toggle_button_width): Renamed from
723 toggle_or_radio_button_width.
724 (radio_button_width): New.
725 (size_menu_item): Use new functions.
726 (draw_shadow_rhombus): New.
727 (draw_radio): Use radio_button_width and draw_shadow_rhombus.
728 (draw_toggle): Use toggle_button_width.
729
730 1999-07-12 Gerd Moellmann <gerd@gnu.org>
731
732 * lwlib-Xm.c (xm_update_toggle): Add callback xm_generic_callback
733 instead of xm_internal_update_other_instances.
734
735 * lwlib-Xm.c (make_menu_in_widget): Do help button before managing
736 children to get it to the right place.
737 (make_menu_in_widget): Create toggle buttons.
738 (update_one_menu_entry): Update toggle buttons.
739
740 * xlwmenu.c (size_menu_item): Add parameter button_width.
741 (size_menu): Compute button_width.
742 (toggle_or_radio_button_width): New.
743 (draw_toggle): New.
744 (draw_radio): New.
745 (draw_shadow_rectangle): Add parameter `down_p'.
746
747 * xlwmenuP.h (_window_state): Add button_width.
748
749 1999-07-12 Gerd Moellmann <gerd@gnu.org>
750
751 * xlwmenu.c (make_shadow_gcs) [emacs]: Use x_alloc_nearest_color.
752
753 * lwlib.c (merge_widget_value): Handle button_type.
754 (copy_widget_value_tree): Copy button_type.
755
756 * lwlib.h (enum button_type): New.
757 (_widget_value): New member button_type.
758
759 1999-07-12 Gerd Moellmann <gerd@gnu.org>
760
761 * lwlib-Xm.c (make_menu_in_widget): Test for menubar widgets
762 using XmNrowColumnType.
763
764 1999-07-12 Gerd Moellmann <gerd@gnu.org>
765
766 * xlwmenu.c (abort_gracefully): New.
767 (display_menu): Use it instead of abort.
768 (size_menu): Ditto.
769
770 1999-07-12 Gerd Moellmann <gerd@gnu.org>
771
772 * xlwmenu.c (xlwMenuResources): Change previously unused
773 XtNmargin to 4.
774 (size_menu): Take margin into account.
775 (display_menu_item): Ditto.
776 (remap_menubar): Ditto.
777 (draw_arrow): Draw it 3D.
778
779 1999-07-12 Richard Stallman <rms@gnu.org>
780
781 * Version 20.4 released.
782
783 1998-08-19 Richard Stallman <rms@psilocin.ai.mit.edu>
784
785 * Version 20.3 released.
786
787 1998-07-30 Paul Eggert <eggert@twinsun.com>
788
789 * lwlib/Makefile.in (lwlib-utils.o, lwlib.o, lwlib-Xlw.o)
790 (lwlib-Xaw.o, lwlib-Xm.o, lwlib-Xol.o, lwlib-Xolmb.o):
791 Add dependencies to corresponding .c files for Solaris 2.x VPATH make.
792
793 1998-04-06 Andreas Schwab <schwab@gnu.org>
794
795 * lwlib.c: Always declare xmalloc.
796 [USE_XAW]: Include <X11/Xaw/Paned.h>.
797 (lwlib_memset, lwlib_bcopy): Explicitly declare return type.
798
799 1997-12-20 Richard Stallman <rms@delysid.gnu.org>
800
801 * lwlib-Xm.c (update_one_menu_entry):
802 Add conditional in case XmNpositionIndex is missing.
803
804 1997-12-20 Richard Stallman <rms@psilocin.gnu.org>
805
806 * lwlib-Xm.c (update_one_menu_entry):
807 Add conditional in case XmNpositionIndex is missing.
808
809 1997-09-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
810
811 * Version 20.2 released.
812
813 * xlwmenu.c (motion_event_is_in_menu): Extend the left and
814 top windows by the shadow width.
815
816 1997-09-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
817
818 * Version 20.1 released.
819
820 1997-07-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
821
822 * xlwmenu.c (display_menu): If an item is disabled,
823 don't display its submenu (if any).
824
825 1997-05-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
826
827 * xlwmenu.c (pop_up_menu): Update the call to x_catch_errors.
828
829 1997-01-21 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
830
831 * xlwmenu.c (fit_to_screen): If new menu would overlap the previous
832 one from the side, try moving it up or down.
833
834 1996-08-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
835
836 * Version 19.33 released.
837
838 * lwlib-Xm.c (update_one_menu_entry): Fix previous change:
839 When XmIsCascadeButton, don't call XmCreateCascadeButtonGadget,
840 just modify the existing one.
841
842 1996-08-09 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
843
844 * lwlib.c (merge_widget_value): Undo previous change.
845
846 * lwlib-Xm.c (update_one_menu_entry): When creating a pulldown
847 in an existing but empty menu item, in order to get a new functional
848 pulldown, the menu item must be switched from an XmPushButtonGadget
849 into a XmCascadeButtonGadget.
850
851 1996-07-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
852
853 * Version 19.32 released.
854
855 1996-07-31 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
856
857 * lwlib-Xm.c (make_menubar): Turn off menu accelerator.
858
859 1996-07-24 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
860
861 * lwlib.c (merge_widget_value) [USE_MOTIF]: Pass along the change
862 flag from merged_contents.
863
864 1996-07-13 Karl Heuer <kwzh@gnu.ai.mit.edu>
865
866 * lwlib-Xm.c (xm_update_menu): Fix loop termination test.
867
868 1996-07-07 Karl Heuer <kwzh@gnu.ai.mit.edu>
869
870 * lwlib-Xm.h, lwlib-Xm.c, lwlib.h, lwlib.c: Undo previous change.
871
872 1996-07-03 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
873
874 * lwlib-Xm.h: Declare lw_motif_menu_related_event_p.
875
876 * lwlib-Xm.c (lw_motif_menu_related_event_p): A predicate to
877 identify keyboard events intended only for menus.
878
879 * lwlib.h: Declare lw_toolkit_related_event_p.
880
881 * lwlib.c (lw_toolkit_related_event_p): A predicate to identify
882 toolkit-specific events.
883
884 1996-06-07 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
885
886 * lwlib-Xm.c (make_menu_in_widget): Set mapping delay
887 for cascade buttons to zero.
888
889 1996-05-25 Karl Heuer <kwzh@gnu.ai.mit.edu>
890
891 * Version 19.31 released.
892
893 1996-03-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
894
895 * lwlib-Xm.c (destroy_all_children): When freeing a cascade button,
896 free its submenu too.
897 (make_menu_in_widget): Use a cascade button gadget, not a widget.
898 Include Xm/CascadeBG.h.
899
900 1996-03-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
901
902 * Makefile.in (tags): New target.
903
904 1996-03-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
905
906 * Makefile.in (TAGS): Renamed from `tags' and fixed to work.
907
908 1996-03-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
909
910 * Makefile.in (xlwmenu.o): New explicit target.
911
912 1996-03-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
913
914 * lwlib.h (struct widget_value): New field this_one_change.
915 * lwlib.c (merge_widget_value): Set the this_one_change field.
916 * lwlib-Xm.c (destroy_all_children): New arg first_child_to_destroy.
917 (make_menu_in_widget): New arg keep_first_children.
918 (xm_update_menu): Preserve the first children even if later ones
919 have a structural change.
920 (update_one_menu_entry): Use this_one_change field.
921
922 1996-03-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
923
924 * xlwmenu.c (motion_event_is_in_menu): Make x and y signed.
925
926 1996-02-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
927
928 * lwlib.c (lw_window_is_in_menubar) [USE_MOTIF]:
929 With Motif, the window WIN can be the menu bar widget itself.
930
931 1996-02-21 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
932
933 * lwlib.c (free_widget_value_tree, merge_widget_value):
934 Use XtFree for the toolkit_data.
935
936 1996-02-19 Karl Heuer <kwzh@gnu.ai.mit.edu>
937
938 * lwlib.c (lw_internal_update_other_instances): Move static var
939 outside the function, and rename it to lwlib_updating.
940
941 1996-01-04 Paul Eggert <eggert@twinsun.com>
942
943 * lwlib.c (instantiate_widget_instance): Renamed from
944 instanciate_widget_instance (spelling correction).
945 All callers changed.
946
947 1995-12-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
948
949 * xlwmenu.c (xlwMenuActionsList): Add "key" and "nothing".
950 (xlwMenuTranslations): Add translations for Key, KeyUp,
951 and for the modifier keysyms.
952 (Nothing, Key): New functions.
953
954 1995-12-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
955
956 * xlwmenu.c (XlwMenuSetValues): Do redisplay if non-null contents
957 get replaced by empty contents.
958
959 * lwlib.c (merge_widget_value): Treat disappearance of entire contents
960 as a STRUCTURAL_CHANGE.
961
962 1995-12-20 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
963
964 * lwlib-utils.c: Add #undef for index and rindex.
965
966 1995-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
967
968 * Version 19.30 released.
969
970 1995-11-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
971
972 * xlwmenu.c (display_menu_item): Fix previous change.
973
974 1995-11-04 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
975
976 * xlwmenu.c (display_menu_item): Don't treat buttons specially.
977
978 1995-08-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
979
980 * Makefile.in (RANLIB): Get this var from configure.
981
982 1995-08-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
983
984 * lwlib.c (lw_popup_menu): New arg `event', passed along.
985 * lwlib-Xlw.c (xlw_popup_menu): New arg `event'.
986 * lwlib-Xm.c (xm_popup_menu): New arg `event'.
987
988 1995-06-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
989
990 * Version 19.29 released.
991
992 1995-06-11 Richard Stallman <rms@gnu.ai.mit.edu>
993
994 * lwlib.c (lwlib_toolkit_type): New variable.
995
996 1995-05-26 Richard Stallman <rms@gnu.ai.mit.edu>
997
998 * xlwmenu.c (Drag): Do nothing unless menu.popped_up field is set.
999
1000 1995-05-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1001
1002 * xlwmenu.c (XlwMenuInitialize): Cast XCreatePixmapFromBitmapData args.
1003
1004 1995-05-20 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1005
1006 * lwlib.c: Don't use prototype.
1007 * lwlib-Xm.c (activate_button, xm_update_cascadebutton): Likewise.
1008
1009 1995-05-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1010
1011 * lwlib.c (lw_refigure_widget) [USE_MOTIF]: Fix backward if.
1012
1013 1995-05-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1014
1015 * Makefile.in (ALL_CFLAGS): Add -I../src.
1016
1017 1995-05-03 Morten Welinder <terra+@cs.cmu.edu>
1018
1019 * lwlib.c [__osf__]: Include string.h and stdlib.h.
1020 [__osf__] (xmalloc): Declared.
1021
1022 1995-04-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1023
1024 * lwlib-Xm.c (update_one_menu_entry, make_menu_in_widget):
1025 Specify more useful names in XmCreatePulldownMenu calls.
1026
1027 * lwlib-Xaw.c (xaw_pop_instance): Make x, y, w, h unsigned.
1028
1029 * xlwmenu.c (size_menu): Make height and label_width unsigned.
1030 (fit_to_screen): Make screen_width and screen_height unsigned.
1031 (motion_event_is_in_menu): Make x, y unsigned.
1032
1033 1995-04-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1034
1035 * lwlib-utils.c: If HAVE_CONFIG_H, include config.h.
1036
1037 * Makefile.in (ALL_CFLAGS): Define HAVE_CONFIG_H.
1038 Add -I${srcdir}/../src.
1039
1040 1995-04-08 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1041
1042 * lwlib-Xm.c: Remove function prototypes.
1043 (xm_pop_down_callback): Call the deactivation callback only when
1044 popping down the top level submenu.
1045
1046 1995-04-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1047
1048 * Makefile.in (lwlib.o): Depend on Makefile.
1049
1050 * lwlib-Xm.h: Remove function prototypes.
1051
1052 * lwlib-Xm.c (remove_grabs): Use type Widget for `menu'.
1053
1054 1995-02-15 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1055
1056 * Makefile.in (ALL_CFLAGS): Allow include files to be found in
1057 `srcdir'.
1058
1059 1995-02-07 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
1060
1061 * Makefile.in (maintainer-clean): Renamed from realclean.
1062
1063 1994-11-28 Richard Stallman <rms@bethel>
1064
1065 * lwlib-int.h (safe_strdup): Don't use ANSI argument prototype.
1066
1067 1994-11-15 Paul Reilly <pmr@duality.gnu.ai.mit.edu>
1068
1069 * lwlib.c (lw_refigure_widget): Use the macro USE_XAW rather than XAW.
1070
1071 1994-11-08 Paul Reilly <pmr@duality.gnu.ai.mit.edu>
1072
1073 * lwlib-Xm.c (make_menu_in_widget): Differentiate a separator
1074 entry ("--") from a title.
1075 (xm_pop_down_callback): Filter all but the last pop down callbacks.
1076
1077 1994-11-07 Paul Reilly <pmr@duality.gnu.ai.mit.edu>
1078
1079 * lwlib-Xm.c (update_one_menu_entry): Use the parent of the
1080 cascade button as the parent of the pulldown, rather than the
1081 cascade button itself. This works around a Motif SIGSEGV in the
1082 function `InSharedMenuHierarchy'.
1083
1084 1994-10-29 Richard Stallman <rms@duality.gnu.ai.mit.edu>
1085
1086 * xlwmenu.c (xlwmenu_default_font): New global variable.
1087 (XlwMenuInitialize): Use xlwmenu_default_font to default
1088 the font if necessary. Make mw, itself, an argument.
1089
1090 1994-10-26 Richard Stallman <rms@duality.gnu.ai.mit.edu>
1091
1092 * xlwmenu.c (pop_up_menu): Pass a Display * to x_catch_errors, etc.
1093
1094 1994-10-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1095
1096 * xlwmenu.c (xlwmenu_default_font): New global variable.
1097 (XlwMenuInitialize): Use xlwmenu_default_font to default
1098 the font if necessary. Make mw, itself, an argument.
1099
1100 * xlwmenu.c (pop_up_menu): Pass a Display * to x_catch_errors, etc.
1101
1102 1994-10-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1103
1104 * xlwmenu.c (fit_to_screen): Don't put the menu off the left or top.
1105
1106 1994-10-02 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1107
1108 * xlwmenu.c (display_menu_item): Add support for displaying the
1109 title in pop up menus.
1110
1111 * lwlib.c (lw_set_main_areas): Use xm_set_main_areas().
1112 (lw_manage_resizing): Use xm_manage_resizing() for Emacs/Motif.
1113
1114 1994-09-25 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1115
1116 * lwlib-Xaw.c (xaw_create_main): New function to support the
1117 toolkit independent creation of the main Emacs widget. *
1118 lwlib-Xlw.c (xlw_create_menubar): When compiling under Emacs, set
1119 resizing resources to disable showGrip and to enable both
1120 resizeToPreferred and allowShellResize.
1121
1122 * lwlib-Xm.h: Declare xm_set_main_areas, xm_manage_resizing.
1123
1124 * lwlib-Xm.c (make_menu_in_widget): Add support for displaying a
1125 title in pop up menus.
1126 (make_main, xm_set_main_areas, xm_manage_resizing): New functions to
1127 create and manage a Motif Main Window widget.
1128
1129 * xlwmenu.c: Add #include <X11/ObjectP.h> for X11R4.
1130
1131 1994-09-18 Frederic Pierresteguy <F.Pierresteguy@frcl.bull.fr>
1132
1133 * lwlib-Xm.c (make_dialog): When there is more than two pushbuttons,
1134 set XmPACK_TIGHT and XmHORIZONTAL to the rowcolumn. Also add a
1135 margin of 10 pixels.
1136
1137 1994-09-16 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1138
1139 * lwlib-Xm.c (make_main): New function to support toolkit
1140 independent creation of the main Emacs widget.
1141 (make_destroyed_instance): Use safe_strdup() instead of strdup().
1142
1143 * lwlib-int.h: Declare safe_strdup.
1144
1145 * lwlib.c (lw_refigure_widget): New function. Handle geometry
1146 management inside lwlib instead of in Emacs.
1147 (lw_window_is_in_menubar): New function. Determine if the pointer
1148 is in a menubar.
1149 (lw_set_main_areas): New function. Set the main window widgets for
1150 Motif.
1151
1152 * lwlib.h: Declare lw_refigure_widget(), lw_window_is_in_menubar(),
1153 lw_set_main_areas().
1154
1155 * xlwmenu.h: Define Xt{Ns,CS}howGrip, Xt{Nr,CR}esizeToPreferred, and
1156 Xt{Na,CA}llowResize.
1157
1158 * xlwmenu.c (Start): Use pop_up_menu() to post the submenus.
1159 (Select): Remove the pointer grab when popping down a menubar submenu.
1160 (pop_up_menu): Handle popping up submenus from a menubar, i.e. when
1161 the menu widget parent is not a shell widget.
1162
1163 1994-08-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1164
1165 * xlwmenu.c (pop_up_menu): Clear next_release_must_exit.
1166 (Start): Clear next_release_must_exit when popping up the menu.
1167
1168 1994-08-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1169
1170 * xlwmenu.c (Start): Set menu_post_event or next_release_must_exit.
1171 (Select): Do nothing if the menu should be left posted.
1172
1173 1994-07-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1174
1175 * xlwmenu.c (make_windows_if_needed, pop_up_menu):
1176 Enable mouse motion events even when no button down.
1177
1178 1994-07-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1179
1180 * xlwmenu.c (pointer_grabbed): New variable.
1181 (pop_up_menu): Set the variable.
1182 (XlwMenuDestroy): Maybe call XtUngrabPointer.
1183
1184 1994-05-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1185
1186 * lwlib.c (max): Function deleted. Define as macro instead,
1187 but only if not already defined.
1188
1189 1994-05-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1190
1191 * xlwmenu.c (xlwMenuResources): Use XtRDimension for shadow thickness.
1192
1193 1994-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1194
1195 * lwlib-Xaw.c (xaw_pop_instance): Use XtSetValues, not XtMoveWidget.
1196
1197 1994-05-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1198
1199 * lwlib.c (lwlib_memset: New function, used instead of memset.
1200 All callers changed.
1201 * lwlib.c (lwlib_bcopy): New function.
1202 * lwlib-utils.c (XtApplyToWidgets): Use lwlib_bcopy.
1203
1204 * lwlib.c: Delete definitions for use of alloca.
1205 (name_to_widget): Use xmalloc, not alloca.
1206
1207 1994-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1208
1209 * xlwmenu.c (XlwMenuDestroy): Set new var submenu_destroyed.
1210 (XlwMenuRedisplay): If it's set, truncate the old_depth to 1.
1211
1212 1994-05-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1213
1214 * xrdb-cpp.c: Don't include string.h, unistd.h, stdlib.h.
1215 * lwlib-Xaw.c: Don't include string.h, unistd.h, stdlib.h.
1216 * lwlib-utils.c (XtApplyToWidgets): Use bcopy, not memcpy.
1217 * lwlib-utils.c: Don't include string.h, unistd.h, stdlib.h, memory.h.
1218 * xlwmenu.c: Don't include string.h, unistd.h, stdlib.h.
1219 * lwlib.c: Don't include string.h, unistd.h, stdlib.h.
1220 (safe_strdup): No longer static.
1221 * lwlib-Xm.c: Use safe_strdup, not strdup.
1222
1223 * xlwmenu.c (string_width): No longer static.
1224
1225 1994-05-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1226
1227 * xlwmenuP.h (struct _XlwMenu_part): Use Pixel and Cursor
1228 for foreground and cursor_shape fields.
1229
1230 * xlwmenu.c (XlwMenuSetValues): Check for change of font.
1231
1232 1994-04-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1233
1234 * Makefile.in: Delete all SRCS variables (unused).
1235 (lwlib.o, xrdb-cpp.o): Mention srcdir in dep.
1236
1237 1994-04-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1238
1239 * Makefile.in (ALL_CFLAGS): Don't define THIS_IS_X11R4.
1240
1241 * xrdb.c: Define HAVE_X11R5 as in xterm.h.
1242 Include X11/Xlib.h, X11/cursorfont.h and X11/Xutil.h.
1243 (_XtDisplayInitialize): Test HAVE_X11R5.
1244
1245 * dispatch.c: Define HAVE_X11R5 as in xterm.h.
1246 Include X11/Xlib.h, X11/cursorfont.h and X11/Xutil.h.
1247 (_XtConvertTypeToMask): Conditionalize on HAVE_X11R5.
1248 (WouldDispatchEvent): Likewise.
1249
1250 1994-04-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1251
1252 * lwlib-Xaw.c (xaw_generic_callback): Declare without arg names.
1253
1254 1994-04-01 Frederic Pierresteguy (fp@hal.gnu.ai.mit.edu)
1255
1256 * lwlib-Xaw.c (make_dialog): Don't allow any geometry request from the
1257 user.
1258
1259 1994-03-22 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1260
1261 * xlwmenu.c (XlwMenuResize): Don't allow the popup menu to resize
1262 itself. Therefore reset the size to its initial value.
1263
1264 1994-03-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1265
1266 * lwlib-Xaw.c (xaw_update_one_widget): Finish replacing XtVaSetValues.
1267 Don't test for scrollbar widget.
1268
1269 1994-03-14 Frederic Pierresteguy (fp@gnu.ai.mit.edu)
1270
1271 * lwlib-int.h: Declare lw_get_widget_info.
1272
1273 * lwlib.c (lw_get_widget_info): Comment out arg in function decl.
1274
1275 * lwlib-Xaw.h: Comment out args in function decls.
1276 * lwlib-Xaw.c: Convert all function definitions to non-prototype K&R.
1277 (xaw_update_one_widget - case dialogWidgetClass): Call XtSetValues,
1278 not XtVaSetValues.
1279
1280 1994-03-11 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
1281
1282 * xlwmenu.c (display_menu_item): Modify parameters to draw_arrow to
1283 right justify the arrow in the pane.
1284
1285 * lwlib.c: If not defined USE_MOTIF and defined USE_LUCID then
1286 define USE_XAW.
1287
1288 * Makefile.in (LUCID_SRCS, LUCID_OBJS): Add the target lwlib-Xaw.[oc].
1289
1290 * lwlib.c, lwlib-int.h: Merged from Lucid 19.9 release.
1291 * lwlib.c (_AIX): Replace the AIXV3 directive.
1292 (USE_XAW): New macro to conditionalize the use of the athena toolkit.
1293 (lw_get_widget_info): New function.
1294 (set_one_value): Handle USE_XAW.
1295 (instanciate_widget_instance): Likewise.
1296 (destroy_one_instance): Likewise.
1297 (lw_pop_all_widgets): Likewise.
1298 (lw_pop_down_all_widgets): Likewise.
1299 (get_one_value): Likewise.
1300
1301 * lwlib-Xaw.c, lwlib-Xaw.h: New files.
1302
1303 1994-02-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1304
1305 * xlwmenu.c (XlwMenuInitialize, XlwMenuDestroy): Undo previous changes.
1306
1307 * lwlib-Xlw.c (xlw_create_menubar, xlw_create_popup_menu):
1308 Use XtCreate..., not XtVaCreate...
1309 No need to copy instance->info->val any more.
1310 (xlw_update_one_widget): Use XtSetValues, not XtVaSetValues.
1311
1312 1994-02-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1313
1314 * xlwmenu.c (pop_up_menu): Call XtUngrabPointer if XtGrabPointer fails.
1315
1316 1994-02-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1317
1318 * Makefile.in (xrdb-cpp.o, lwlib.o): Put ALL_CFLAGS after other flags.
1319
1320 * lwlib-Xlw.c (xlw_create_menubar): Don't call free_widget_value.
1321 Use malloc for allocation.
1322 (xlw_create_popup_menu): Likewise.
1323
1324 1994-02-18 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1325
1326 * lwlib.c (malloc_cpt): New static variable.
1327 (malloc_widget_value): Increment malloc_cpt when allocating a cell.
1328 (free_widget_value): Really free the cells when the number of
1329 allocated ones is bigger than 25.
1330
1331 * lwlib-Xlw.c (xlw_create_menubar): Call malloc_widget_value and
1332 free_widget_value instead of XtMalloc and XtFree.
1333 (xlw_create_popup_menu): Likewise.
1334
1335 1994-02-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1336
1337 * Makefile.in (ALL_CFLAGS): Specify -Demacs.
1338
1339 * xlwmenu.c (pop_up_menu) [emacs]: Catch and ignore X protocol errors
1340 in XtGrabPointer.
1341
1342 1994-02-17 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1343
1344 * lwlib-Xlw.c (xlw_create_popup_menu): Pass tem to
1345 XtVaCreateManagedWidget, not instance->info->val.
1346 (xlw_create_menubar): Likewise.
1347
1348 1994-02-15 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1349
1350 * lwlib-Xlw.c (xlw_create_popup_menu): Copy instance->info->val
1351 before calling XtVaCreateManagedWidget and then free the copy.
1352 (xlw_create_menubar): Likewise.
1353
1354 1994-02-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1355
1356 * xlwmenu.c (XlwMenuInitialize): Copy mw->menu.contents.
1357 (XlwMenuDestroy): Free mw->menu.contents.
1358
1359 1994-02-09 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1360
1361 * xlwmenu.c (display_menu_item): Call draw_shadow_rectangle to make
1362 visible/invisible the selection of the menubar items.
1363
1364 1994-02-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
1365
1366 * lwlib.c (strcasecmp): Renamed to my_strcasecmp.
1367 (find_in_table): Changed only caller.
1368
1369 1994-02-04 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1370
1371 * xlwmenu.c (display_menu_item): When dealing with the menubar,
1372 always call XDrawRectangle to clear the selection after popping down
1373 the pulldown menu.
1374
1375 1994-02-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1376
1377 * lwlib.c: Include ctype.h.
1378
1379 1994-01-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1380
1381 * lwlib.c (strcasecmp): New function.
1382
1383 1994-01-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1384
1385 * xlwmenu.c, lwlib.c, lwlib-Xlw.c, lwlib-utils.c:
1386 Convert all function definitions to non-prototype K&R.
1387
1388 * lwlib-Xlw.h: Comment out args in function decls.
1389 * lwlib.h: Comment out args in function decls.
1390 * lwlib-utils.h: Comment out args in function decls.
1391
1392 1994-01-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1393
1394 * lwlib.c: Include StringDefs.h after lwlib.h.
1395
1396 1994-01-22 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
1397
1398 * Makefile (xrdb-cpp.o, lwlib.o): Use $(srcdir) and file name
1399 instead of $*.
1400 (dispatch.o, xrdb.o, lwlib-Xm.o): Rules removed; they were
1401 superfluous and didn't work when configured outside srcdir.
1402 The implicit .c.o rule works fine.
1403
1404 1994-01-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1405
1406 * xlwmenu.c (resource_widget_value): Avoid using strdup.
1407
1408 1994-01-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1409
1410 * Makefile.in: New file.
1411
1412 * lwlib-Xolmb.c: Renamed from lwlib-Xol-mb.c.
1413 * lwlib-Xolmb.h: Renamed from lwlib-Xol-mb.h.
1414 * lwlib-XolmbP.h: Renamed from lwlib-Xol-mbP.h.
1415
1416 * lwlib-int.h: Renamed from lwlib-internal.h.
1417
1418
1419
1420 ;; Local Variables:
1421 ;; coding: utf-8
1422 ;; add-log-time-zone-rule: t
1423 ;; End:
1424
1425 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004,
1426 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
1427
1428 This file is part of GNU Emacs.
1429
1430 GNU Emacs is free software: you can redistribute it and/or modify
1431 it under the terms of the GNU General Public License as published by
1432 the Free Software Foundation, either version 3 of the License, or
1433 (at your option) any later version.
1434
1435 GNU Emacs is distributed in the hope that it will be useful,
1436 but WITHOUT ANY WARRANTY; without even the implied warranty of
1437 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1438 GNU General Public License for more details.
1439
1440 You should have received a copy of the GNU General Public License
1441 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
1442
1443 ;;; arch-tag: 0cd8ab87-d764-40d9-b86d-d00c71887a9e