Don't redraw lucid menus more than needed. Use double buffer to reduce flicker.
[bpt/emacs.git] / lwlib / ChangeLog
CommitLineData
f0bd1598
J
12010-04-17 Jan Djärv <jan.h.d@swipnet.se>
2
3 * xlwmenu.c: Include Shell.h, remove duplicate declaration of
4 XlwMenuRedisplay.
5 (display_menu_item): Replace ws->window with ws->pixmap, remove
6 call to XftDrawRect.
7 (display_menu): Remove this and that argument. Remove
8 just_compute_this_one_p. Fill pixmap at start and copy it to window
9 at end.
10 (expose_cb): New function.
11 (make_windows_if_needed): Replace XCreateWindow with XtCreatePopup.
12 Add eventhandler for expose to expose_cb. Remove creation of
13 xft_draw.
14 (create_pixmap_for_menu): New function.
15 (remap_menubar): Pop down menus that aren't the same as in old_stack.
16 Set width, heigh, x, y on widget with XtVaSetValues. Call
17 create_pixmap_for_menu.
18 Replace XUnmapWindow with XtPopdown.
19 Remowe two last parameters to display_menu.
20 (map_event_to_widget_value, XlwMenuRedisplay, Key, Select)
21 (pop_up_menu): Remowe two last parameters to display_menu.
22 (XlwMenuRealize): Call create_pixmap_for_menu, set w and pixmap.
23 Remove call to XftDrawCreate.
24 (XlwMenuDestroy): Free pixmap. Call XtDestroyWidget instead of
25 XDestroyWindow.
26 (handle_motion_event): Only call handle_single_motion_event once.
27
28 * xlwmenuP.h (window_state): Add pixmap and w.
29
b117f7cc
YM
302010-04-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
31
32 * xlwmenu.c (facename_changed): Put function in #ifdef HAVE_XFT.
33
76bd8202
DN
342010-04-11 Dan Nicolaescu <dann@ics.uci.edu>
35
36 * Makefile.in (C_SWITCH_SYSTEM, C_SWITCH_MACHINE)
37 (C_SWITCH_X_SITE): Define using autoconf.
38
1ecb2d3f
JD
392010-04-11 Jan Djärv <jan.h.d@swipnet.se>
40
41 * lwlib-Xaw.c (widget_xft_data): New for Xft data.
42 (fill_xft_data, openFont, get_text_width_and_height)
43 (draw_text, set_text, find_xft_data, command_press)
44 (command_reset): New functions.
45 (xaw_update_one_widget): Call set_text for dialog and buttons
46 if HAVE_XFT. Also set internalHeight for buttons.
47 (xaw_destroy_instance): Free all Xft related data.
48 (button_actions, buttonTrans): New structures.
49 (make_dialog): Call XtAppAddActions for button_actions.
50 Find xft font to use and call fill_xft_data for widgets.
51 (xaw_create_dialog): Pass instance parameter to make_dialog.
52
53 * lwlib-int.h (_widget_instance): Add Xft data if HAVE_XFT.
54 Override translations for buttons. If depth is 16 or more, tell
55 Xaw3d to not be nice to colormap.
56 Remove separator widget, use XtNhorizDistance on first right button
57 instead.
58
99852628
JD
592010-04-08 Jan Djärv <jan.h.d@swipnet.se>
60
61 * xlwmenu.c (xlwmenu_default_font): Make static.
62 (xlwMenuResources): Add XtNfaceName and XtNdefaultFace.
63 (string_width): Use XftTextExtentsUtf8 if HAVE_XFT.
64 (MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Add versions for
65 HAVE_XFT.
66 (size_menu): Set max_rest_width in window_state structure.
67 (display_menu_item): If HAVE_XFT and xft_draw is set, use
68 XftDrawRect and XftDrawStringUtf8 to draw text.
69 (make_windows_if_needed): Set max_rest_width and xft_draw
70 in windows[i].
71 (openXftFont): New.
72 (XlwMenuInitialize): Call openXftFont if HAVE_XFT. If mw->menu.font
73 is not set, load font fixed and save it in xlwmenu_default_font.
74 (XlwMenuInitialize): Set max_rest_width and xft_draw in windows[0].
75 (XlwMenuClassInitialize): Initialize xlwmenu_default_font.
76 (XlwMenuRealize): Set xft_fg, xft_bg, xft_disabled_fg and
77 windows[0].xft_draw if xft_font is set.
78 (XlwMenuDestroy): Destroy all xft_draw and close xft_font.
79 (facename_changed): New.
80 (XlwMenuSetValues): Call facename_changed. If face name did change,
81 close old fonts and destroy xft_draw:s. Then create new ones.
82
83 * xlwmenu.h (XtNfaceName, XtCFaceName, XtNdefaultFace,
84 XtCDefaultFace): New.
85
86 * xlwmenuP.h (_window_state): Add max_rest_width and xft_draw.
87 (_XlwMenu_part): Add faceName,xft_fg, xft_bg, xft_disabled_fg and
88 xft_font.
89
288f9fc0
CY
902010-03-10 Chong Yidong <cyd@stupidchicken.com>
91
92 * Branch for 23.2.
93
d7306fe6
DN
942009-10-19 Dan Nicolaescu <dann@ics.uci.edu>
95
96 * xlwmenu.c:
97 * lwlib.c:
98 * lwlib-utils.c:
99 * lwlib-Xm.c:
100 * lwlib-Xlw.c:
101 * lwlib-Xaw.c: Include setjmp.h.
102
70243478
CY
1032009-06-21 Chong Yidong <cyd@stupidchicken.com>
104
105 * Branch for 23.1.
106
77ccee09
DN
1072008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
108
109 * Makefile.in (ALL_CFLAGS): Remove reference to C_SWITCH_SITE.
110
f2a77c3a
DN
1112008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
112
113 * lwlib.c: Remove references to obsolete variables.
114
c2cd06e6
JM
1152008-06-02 Jim Meyering <meyering@redhat.com>
116
ba60bd44 117 Remove useless if-before-free tests.
70fdbb46
JM
118 * lwlib-Xm.c (xm_update_one_value): Likewise.
119 * lwlib.c (safe_free_str, free_widget_value_tree): Likewise.
c2cd06e6 120
73d798d5
SM
1212008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
122
123 * Makefile.in (TOOLKIT_DEFINES): Remove.
124
880820fe 1252007-08-29 Károly Lőrentey <lorentey@elte.hu>
8d9cc0b7
MB
126
127 * xlwmenu.c (XlwMenuRealize): Ignore X errors while setting up
128 cursor shape.
129
cacc7b51
GM
1302007-07-25 Glenn Morris <rgm@gnu.org>
131
132 * Relicense all FSF files to GPLv3 or later.
133
134 * COPYING: Switch to GPLv3.
135
52a0e111
CY
1362007-06-13 Chong Yidong <cyd@stupidchicken.com>
137
138 * lwlib-Xaw.c, lwlib.c: Link to xaw3d if available.
139
7dfc4cda
CY
1402007-06-02 Chong Yidong <cyd@stupidchicken.com>
141
142 * Version 22.1 released.
143
7073bb78
GM
1442007-02-28 Glenn Morris <rgm@gnu.org>
145
146 * Makefile.in (distclean): Delete Makefile.
147 (maintainer-clean): Delete TAGS.
148
880820fe 1492007-01-01 Jan Djärv <jan.h.d@swipnet.se>
3fcd0186
JD
150
151 * xlwmenu.c (xlwMenuResources): Add XtNleaveCallback, XtNenterCallback.
152 (display_menu, map_event_to_widget_value): Generate enter and
153 leave callbacks.
154 (pop_up_menu): Initialize mw->menu.inside_entry.
155
156 * xlwmenu.h (XtNleaveCallback, XtNenterCallback): New strings.
157
158 * xlwmenuP.h (_XlwMenu_part): Add enter/leave callbacks and
159 inside_entry.
160
79a2d0fc 161 * lwlib-Xlw.c (enter_hook, leave_hook): New functions.
3fcd0186
JD
162 (xlw_create_menubar, xlw_create_popup_menu): Connect XtNenter/leave
163 to enter/leave_hook.
164
41c98a5e
CY
1652006-10-30 Chong Yidong <cyd@stupidchicken.com>
166
167 * Makefile.in (lwlib-utils.o): Use CPPFLAGS.
168
45a2056c
JB
1692006-09-15 Jay Belanger <belanger@truman.edu>
170
171 * COPYING: Replace "Library Public License" by "Lesser Public
172 License" throughout.
173
880820fe 1742006-05-23 Jan Djärv <jan.h.d@swipnet.se>
1f5df1f7
JD
175
176 * xlwmenu.c: Include xterm.h if emacs instead of declaring functions
177 used.
178 (string_width): Declare as static.
33462dfa 179 (Start, pop_up_menu): Set is_hint to 0 before calling
1f5df1f7
JD
180 handle_motion_event.
181 (pop_up_menu): Return value and parameters for x_catch_errors and
182 x_uncatch_errors changed.
183
43f15d4a
DN
1842005-09-27 Dan Nicolaescu <dann@ics.uci.edu>
185
79a2d0fc
JB
186 * xlwmenu.c (find_next_selectable, find_prev_selectable):
187 Add missing parameter declarations.
43f15d4a 188
c5caf981
DN
1892005-09-24 Dan Nicolaescu <dann@ics.uci.edu>
190
191 * xlwmenu.c: Fix the return type for x_clear_errors and
33462dfa 192 x_uncatch_errors.
c5caf981 193
880820fe 1942005-07-19 Jan Djärv <jan.h.d@swipnet.se>
7537ab9c 195
33462dfa 196 * lwlib-Xm.c (make_menu_in_widget): Disable drag and drop for
7537ab9c
JD
197 labels in menu bar.
198
a0ec7a4a
LK
1992005-07-04 Lute Kamstra <lute@gnu.org>
200
201 Update FSF's address in GPL notices.
202
880820fe 2032005-04-01 Jan Djärv <jan.h.d@swipnet.se>
52a9f3a0
JD
204
205 Reenable support for I18N to Lucid menus.
a0ec7a4a 206
52a9f3a0
JD
207 * xlwmenuP.h (_XlwMenu_part): Add fontSet resource.
208
209 * xlwmenu.c (string_width):
210 (MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Ditto.
211 (display_menu_item, make_drawing_gcs, XlwMenuInitialize)
79a2d0fc 212 (XlwMenuSetValues): Use font if fontSet is NULL, use only
52a9f3a0
JD
213 font for !HAVE_X_I18N.
214 (xlwMenuResources): Add fontSet resource.
215
880820fe 2162005-03-22 Jan Djärv <jan.h.d@swipnet.se>
937a855d
JD
217
218 * xlwmenuP.h: Temporary #undef HAVE_X_I18N until FontSet for UTF-8
219 on XFree86 is investigated.
220
221 * xlwmenu.c: Ditto.
222
9f9e5275
SM
2232005-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
224
423a3f59
SM
225 Add support for I18N to Lucid menus.
226
227 * xlwmenuP.h (struct _XlwMenu_part) [HAVE_X_I18N]: Change `font' to be
228 a fontset. Add a `font_extents' element.
229
230 * xlwmenu.c (xlwMenuResources) [HAVE_X_I18N]: Use a fontset for the
231 `font' resource.
232 (string_width) [HAVE_X_I18N]: Use XmbTextExtents;
233 (MENU_FONT_HEIGHT, MENU_FONT_ASCENT): New macros.
234 (arrow_width, toggle_button_width, size_menu_item, draw_arrow)
235 (draw_toggle, draw_radio, display_menu_item): Use them.
236 (display_menu_item) [HAVE_X_I18N]: Use XmbDrawString.
237 (make_drawing_gcs) [HAVE_X_I18N]: Don't mess with fonts.
238 (XlwMenuInitialize) [HAVE_X_I18N]: Initialize font_extents.
239 (XlwMenuSetValues) [HAVE_X_I18N]: Refresh font_extents if font changes.
240
3c916d65
SM
241 * lwlib-Xm.c (xm_update_label, xm_update_list): Use the recommended
242 XmStringCreateLocalized function. Add missing copyright.
243
9f9e5275
SM
244 * lwlib-Xm.h: Add missing copyright and license notice.
245
f7b758bd
SM
2462005-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
247
248 * xlwmenuP.h:
249 * xlwmenu.h: Add missing copyright and license notice.
250
880820fe 2512004-12-27 Jan Djärv <jan.h.d@swipnet.se>
4220b2a5
JD
252
253 * xlwmenu.c (xlwMenuActionsList): Install MenuGadgetEscape as an
254 action procedure for compatibility with Lesstif/Motif.
255
256 * Makefile.in (mostlyclean): Don't remove *~ on clean.
257
880820fe 2582004-12-26 Jan Djärv <jan.h.d@swipnet.se>
4e6e2184
JD
259
260 * lwlib-Xaw.c: Put <KeyPress>Escape in dialogOverride so dialogs only
261 pops down on Escape, not any keypress.
262
880820fe 2632004-11-01 Jan Djärv <jan.h.d@swipnet.se>
03a693b4
JD
264
265 * xlwmenu.c (find_first_selectable, find_next_selectable)
266 (find_prev_selectable): Rename parameter skip_no_call_data to
267 skip_titles. Recognize titles as having no call_data and no contents.
268 (Down, Up): Comment update.
269
880820fe 2702004-08-30 Jan Djärv <jan.h.d@swipnet.se>
05bdae44 271
f7b758bd 272 * lwlib.h (_widget_value): Add lname and lkey.
05bdae44 273
880820fe 2742004-01-12 Jan Djärv <jan.h.d@swipnet.se>
244c93fe 275
f7b758bd 276 * xlwmenuP.h (_XlwMenu_part): Add top_depth.
244c93fe
JD
277
278 * xlwmenu.h: Removed declaration of pop_up_menu
279
280 * xlwmenu.c (Start): Get correct time if time in event is CurrentTime.
281 (find_first_selectable, find_next_selectable)
282 (find_prev_selectable): Add parameter skip_no_call_data to skip
283 over items with no call data (popup menu titles).
284 (Down, Up): Compare old_depth to top_depth instead of 2.
285 Pass True to find_*_selectable:s new parameter if this is a popup menu.
286 (Left, Right): Compare old_depth to top_depth instead of 2.
287 Pass 0 to find_*_selectable:s new parameter.
288 (pop_up_menu): Set top_depth to 1 for pop up menus and 2 for
289 menu bar menus, to enable keyboard traversal of popups.
290
291 * lwlib-Xm.c (dialog_key_cb): New function.
292 (make_dialog): Add event handlers to dialog_key_cb for key press
293 so we can pop down on ESC.
294
295 * lwlib-Xlw.c (xlw_popup_menu): Replace call to pop_up_menu with
296 XtCallActionProc ("start"). Use a full XEvent since "start" copies it.
297
79a2d0fc 298 * lwlib-Xaw.c (make_dialog): Add override so dialog pops down on ESC.
244c93fe
JD
299 (wm_delete_window): If widget isn't a shell, use the parent.
300
404074e2
DL
3012003-05-22 Dave Love <fx@gnu.org>
302
303 * xlwmenu.c: Include lisp.h, not ../src/lisp.h.
304 (make_drawing_gcs): Remove unused `xswa', `mask'.
305
306 * lwlib-Xlw.c: Include lisp.h, not ../src/lisp.h.
307 (lw_lucid_widget_p): Remove unused `mw'.
f7b758bd
SM
308 (xlw_update_one_widget, xlw_pop_instance) [PROTOTYPES]:
309 Provide ISO C arglists.
404074e2 310
19bb0fcd 3112003-04-30 Lute Kamstra <lute@gnu.org>
d7acd774
JB
312
313 * Makefile.in: Make things function properly in case both LessTif
314 and Open Motif are installed.
315
880820fe 3162003-01-26 Jan Djärv <jan.h.d@swipnet.se>
d0bdb060
JD
317
318 * lwlib-Xm.c (update_one_menu_entry): Deallocate widget_list.
319 (destroy_all_children): Call it self to destroy sub menu children.
320
0b17a217
RS
3212002-12-22 Richard M. Stallman <rms@gnu.org>
322
323 * xlwmenu.c (pop_new_stack_if_no_contents): Do nothing if
324 new_depth is 1.
325 (remap_menubar): Don't look in new_stack[0].
326 (Left): At level 1, do the same thing Right does.
327
207c13a7
DL
3282002-11-21 Dave Love <fx@gnu.org>
329
330 * lwlib-Xaw.c [PROTOTYPES]: Provide ISO C arglists for functions
331 with Boolean args.
332
db0e17de
DL
3332002-11-20 Dave Love <fx@gnu.org>
334
335 * lwlib.c: Remove obsolete USE_OLIT code.
f7b758bd 336 [PROTOTYPES]: Provide ISO C arglists for functions with Boolean args.
db0e17de
DL
337 (lwlib_memset): Declare length arg as size_t.
338 (malloc_widget_value): Cast arg of lwlib_memset.
339
340 * xlwmenu.c (separator_height): Prototype.
341
ef93458b
PJ
3422002-05-07 Miles Bader <miles@gnu.org>
343
344 * xlwmenu.c (make_drawing_gcs): The scaling factor passed to
345 `x_alloc_lighter_color_for_widget' is a float, not an int, and
346 it's a multiplicative factor, so the name `delta' is inaccurate.
347 Always base disabled foreground on the normal foreground.
348 Don't use the temporary variable `temp'.
349
880820fe 3502002-05-06 Pavel Janík <Pavel@Janik.cz>
8b71a9ca
PJ
351
352 * xlwmenu.c (xlwMenuResources): New resource.
353 (find_next_selectable): Return current item when the menu is not
10d1d0af 354 popped up.
8b71a9ca
PJ
355 Rename `inactive_gc' to `disabled_gc'.
356 Use lighter/darker color for disabled menu items instead of using
357 stipple. Use stipple only when better color can not be
358 determined automatically.
359
360 * xlwmenu.h (XtNdisabledForeground, XtCDisabledForeground):
361 New resource names.
362
363 * xlwmenuP.h (_XlwMenu_part): Add new member `disabled_foreground'.
364 Rename `inactive_gc' to `disabled_gc'.
365
880820fe 3662002-04-29 Pavel Janík <Pavel@Janik.cz>
e656fc9d
PJ
367
368 * xlwmenu.c <XtNmargin, XtNverticalSpacing, XmNshadowThickness>:
369 Change default values.
370
880820fe 3712002-04-28 Jan Djärv <jan.h.d@swipnet.se>
005e0d57
JD
372
373 * xlwmenu.c: Do not grab keyboard if installation-directory is
374 non-nil (not installed Emacs). To simplify debugging.
375
880820fe 3762002-04-28 Pavel Janík <Pavel@Janik.cz>
38e668df 377
9d5ebed1
PJ
378 * Makefile.in: Remove OpenLook file dependencies.
379 (xrdb-cpp.o): Remove target.
380 Remove unused defines.
381
2bad4ee2
PJ
382 * xrdb.c, xrdb-cpp.c, Imakefile, dispatch.c, dispatch.h:
383 Remove unused file.
9d5ebed1 384
bcd833b2 385 * lwlib.c (instantiate_widget_instance): Remove duplicated prototype.
38e668df 386
880820fe 3872002-04-25 Pavel Janík <Pavel@Janik.cz>
90077f66
PJ
388
389 * lwlib-Xol.c, lwlib-Xol.h, lwlib-Xolmb.c, lwlib-Xolmb.h
390 * lwlib-XolmbP.h: Remove file.
391
880820fe 3922002-04-22 Jan Djärv <jan.h.d@swipnet.se>
6be3e0da
JD
393
394 * lwlib-Xm.c: Removed compiler warning.
395
396 * xlwmenu.c: Add calls to GrabKeyboard to remove strange
397 interactions with window managers that steal keypresses.
398 Call ungrab_all instead of XtUngrabPointer.
399 (pop_up_menu): Add call to XtGrabKeyboard.
400 (ungrab_all): New function.
401
880820fe 4022002-04-20 Pavel Janík <Pavel@Janik.cz>
7769818b
PJ
403
404 * xlwmenu.c (find_next_selectable): New function.
405 (Down, Up, Right): Use it.
406 (find_next_selectable): Prevent endless loops when only one item
407 is enabled in the menu.
408
880820fe 4092002-04-19 Pavel Janík <Pavel@Janik.cz>
6ad6535b
PJ
410
411 These changes allow moving in menu via keyboard.
bcd833b2
SM
412
413 * xlwmenu.c (xlwMenuTranslations, xlwMenuActionsList):
414 Add translations for cursor keys and RET.
6ad6535b
PJ
415 (find_next_selectable, find_prev_selectable): New functions used
416 for finding menu-items.
417 (Down, Up, Left, Right): New functions.
418
5e3238f4
EZ
4192002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
420
e7c9e445 421 * Makefile.in (TAGS): Don't use -t, it's the default behavior for
5e3238f4
EZ
422 etags, so it barfs if invoked with -t.
423
6147334f
RS
4242002-03-17 Richard M. Stallman <rms@gnu.org>
425
e7c9e445 426 * lwlib.c (P_): Definitions deleted.
6147334f 427
663671d5
EZ
4282002-03-16 Eli Zaretskii <eliz@is.elta.co.il>
429
430 * lwlib.c (P_): Don't define if already defined.
431
880820fe 4322002-01-27 Pavel Janík <Pavel@Janik.cz>
7a4b11ca
PJ
433
434 * lwlib-Xaw.c (xaw_update_scrollbar, xaw_scrollbar_scroll)
435 (xaw_scrollbar_jump): Put whole functions in #if 0.
436
880820fe 4372002-01-09 Pavel Janík <Pavel@Janik.cz>
ca79970e
PJ
438
439 * lwlib-Xaw.c (xaw_create_dialog): Initialize icon_name to
440 suppress compiler warnings.
441
880820fe 4422001-12-18 Pavel Janík <Pavel@Janik.cz>
4521d1fc 443
bcd833b2 444 * lwlib.c (separator_names): Add missing braces around initializers.
4521d1fc 445
880820fe 4462001-12-08 Pavel Janík <Pavel@Janik.cz>
03f9f7ae
PJ
447
448 * COPYING: New file.
449
656f46bb
RS
4502001-12-01 Richard M. Stallman <rms@gnu.org>
451
452 * lwlib.h (_widget_value): `help' has type Lisp_Object.
453
454 * xlwmenu.c, lwlib-Xaw.c, lwlib-Xlw.c: Include ../src/lisp.h.
455 * lwlib-Xm.c, lwlib-Xol.c, lwlib/lwlib-Xolmb.c: Include ../src/lisp.h.
456 * lwlib/lwlib-utils.c: Include ../src/lisp.h.
e7c9e445 457
656f46bb
RS
458 * lwlib.c: Include ../src/lisp.h. Don't declare xmalloc.
459 (free_widget_value_tree): Don't free `help' field.
460 (copy_widget_value_tree): Copy `help' simply, without safe_strdup.
461 (merge_widget_value): Compare and copy `help' simply.
462
66458f32
RS
4632001-11-28 Richard M. Stallman <rms@gnu.org>
464
465 * Makefile.in (TAGS): Find the source files in $(srcdir).
466
71431a0e
GM
4672001-10-20 Gerd Moellmann <gerd@gnu.org>
468
6aa97356 469 * (Version 21.1 released.)
71431a0e 470
14a3dff7
GM
4712001-10-09 Gerd Moellmann <gerd@gnu.org>
472
473 * lwlib-Xaw.c (xaw_create_scrollbar) [!0]: Return NULL.
474 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
475
ab952a4f
GM
4762001-10-05 Gerd Moellmann <gerd@gnu.org>
477
478 * Branch for 21.1.
e7c9e445 479
a9793e45
GM
4802001-04-30 Gerd Moellmann <gerd@gnu.org>
481
482 * xlwmenu.c (xlwmenu_window_p): New function.
483
6c29b43c
GM
4842001-03-23 Gerd Moellmann <gerd@gnu.org>
485
486 * lwlib-Xlw.c (x_print_complete_resource_name) [0]: New function.
487
3c9e997b
GM
4882001-03-22 Gerd Moellmann <gerd@gnu.org>
489
490 * lwlib-Xm.c (x_print_complete_resource_name) [0]: New function.
491
3d57dbba
GM
4922001-03-13 Gerd Moellmann <gerd@gnu.org>
493
19b2bb80
GM
494 * lwlib-Xm.c (make_menu_in_widget): Remove code forcing LessTif to
495 recompute centered text; it works fine without with current LessTif.
496
f25d58a4
GM
497 * lwlib-Xm.c (make_menu_in_widget): Add an XmNpopdownCallback
498 instead of an XmNunmapCallback.
f7b758bd 499 (xm_unmap_callback): Remove.
e7c9e445 500
f25d58a4
GM
501 * lwlib-Xm.c (make_menubar): Take out code in #if 0.
502
3d57dbba
GM
503 * lwlib-Xm.c (xm_popup_menu): Don't set XmNmenuPost unless
504 necessary. From Rick Scott <rwscott@alumni.uwaterloo.ca>.
505
2a73ab60
GM
5062001-02-28 Gerd Moellmann <gerd@gnu.org>
507
11ef99b9
GM
508 * lwlib-Xm.c (xm_arm_callback): Don't compare widgets with `None',
509 use NULL instead.
510
2a73ab60
GM
511 * lwlib-Xaw.c (xaw_update_one_widget): Use XtSetSensitive instead
512 of setting the value of XtNsensitive.
513
514 * lwlib-Xm.c (xm_update_radiobox, update_one_menu_entry)
515 (xm_update_one_widget): Use XtSetSensitive instead of setting the
bcd833b2 516 value of XmNsensitive. From Rick Scott <rwscott@alumni.uwaterloo.ca>.
2a73ab60 517
ec9077f2
DL
5182000-12-14 Dave Love <fx@gnu.org>
519
bcd833b2 520 * xlwmenu.c (gray_bitmap_bits): Remove `unsigned' from declaration.
ec9077f2 521
2f90328f
DL
5222000-12-11 Dave Love <fx@gnu.org>
523
524 * xlwmenu.c (draw_separator) <SEPARATOR_SHADOW_ETCHED_IN_DASH>:
525 <SEPARATOR_SHADOW_ETCHED_OUT_DASH>: Fix call of draw_separator.
526
ae0d7485
GM
5272000-12-07 Gerd Moellmann <gerd@gnu.org>
528
529 * lwlib-Xm.c (xm_arm_callback): Fix last change.
530
edfb795e
GM
5312000-11-30 Gerd Moellmann <gerd@gnu.org>
532
533 * lwlib-Xm.c (xm_arm_callback): Handle case that W is null;
534 also see comment there.
535
cd913aae
GM
5362000-11-21 Gerd Moellmann <gerd@gnu.org>
537
538 * xlwmenu.c (xlwmenu_redisplay): New function.
539
0f3360b0
SM
5402000-09-30 Stefan Monnier <monnier@cs.yale.edu>
541
542 * lwlib.c (lw_separator_p): Init separator_p (bug with "-- some text").
543
5c520e0a
SS
5442000-09-28 Sam Steingold <sds@gnu.org>
545
546 * xlwmenu.c: Before including <X11/Xos.h> on SUN, define SUNOS41
547 to avoid redefining struct timeval and struct timezone.
548
7a3d0e0e
MB
5492000-09-04 Miles Bader <miles@gnu.org>
550
551 * xlwmenu.c (XlwMenuSetValues): Only frob the display if the menu
552 is actually displayed.
b7fa4a06
MB
553 (remap_menubar): Only include the menu-margin in the initial X & Y
554 positions for horizontal menu-bars.
555 (fit_to_screen): If moving a sub-menu to the left-side, increment
556 its x-position by the shadow-thickness to make it look more
557 attached to the invoking menu-item (similarly to the way it would
558 be displayed on the right side).
7a3d0e0e 559
a3d35a39
MB
5602000-09-03 Miles Bader <miles@gnu.org>
561
562 * xlwmenu.c (x_alloc_lighter_color_for_widget): New extern declaration.
563 (make_shadow_gcs) [emacs]: Use x_alloc_lighter_color_for_widget to
564 do shadow calculation.
565 (make_shadow_gcs): Remove code that tests whether the top shadow
566 is dimmer than the bottom shadow--it shouldn't ever happen.
567
caccd8f2
MB
5682000-08-30 Miles Bader <miles@gnu.org>
569
570 * xlwmenu.c (XlwMenuSetValues): If the background color has
571 changed, re-make the shadow-gcs too.
572
f4988be7
GM
5732000-08-03 Gerd Moellmann <gerd@gnu.org>
574
575 * lwlib.c, lwlib-Xm.c, lwlib-Xaw.c: Use NULL at the end of the
576 variable argument lists of XtVaSetValues and XtVaGetValues
577 functions because 0 is not sufficient on systems where sizeof
578 (int) < sizeof (void *).
579
47db06aa
GM
5802000-07-19 Gerd Moellmann <gerd@gnu.org>
581
582 * xlwmenu.c [emacs]: Don't include <X11/bitmaps/gray> because that
583 leads to redefinition errors when static is defined as empty in
584 config.h. Refer to the gray bitmap in xfns.c, instead.
585
cdefcd82
DL
5862000-07-18 Dave Love <fx@gnu.org>
587
588 * lwlib-utils.c (XtApplyToWidgets): Cast args of lwlib_bcopy.
589
af5e64bc
DL
5902000-06-23 Dave Love <fx@gnu.org>
591
592 * lwlib-Xlw.c (xlw_popup_menu): Cast arg of pop_up_menu.
593
594 * lwlib-utils.c: Include lwlib.h.
595
0a2ea235
GM
5962000-06-16 Gerd Moellmann <gerd@gnu.org>
597
598 * xlwmenuP.h (_XlwMenu_part): Add free_top_shadow_color_p and
599 free_bottom_shadow_color_p.
600
601 * xlwmenu.c (make_shadow_gcs): Set free_top_shadow_color_p
602 and free_top_shadow_color_p flags in the menu widget if
603 top and bottom shadow colors must be freed.
604 (release_shadow_gcs): Free colors only if they must be freed.
605
ed1056b3
GM
6062000-06-12 Gerd Moellmann <gerd@gnu.org>
607
608 * xlwmenu.c (make_shadow_gcs): Free and copy colors so that
609 color reference counts are right.
610 (release_shadow_gcs): Free colors.
611
bb2337f5
DL
6122000-06-06 Dave Love <fx@gnu.org>
613
614 * xlwmenu.c (x_alloc_nearest_color_for_widget, x_catch_errors)
615 (x_uncatch_errors, x_had_errors_p, x_clear_errors): Add prototypes
616 -- should be moved into separate header.
bcd833b2 617 (make_shadow_gcs) <x_alloc_nearest_color_for_widget>: Cast first arg.
bb2337f5
DL
618 (Start) <pop_up_menu>: Cast second arg.
619
620 * lwlib.c (P_): Use PROTOTYPES.
621 (safe_strdup): Declare arg const.
622 (lw_modify_all_widgets) <!info>: Return 0.
623
624 * lwlib-Xm.c (P_): Use PROTOTYPES.
625
626 * xlwmenu.h, lwlib.h, lwlib-utils.h, lwlib-int.h, lwlib-Xm.h:
627 * lwlib-Xlw.h, lwlib-Xaw.h: Enable prototypes.
628
629 * lwlib-Xaw.c (xaw_popup_menu): Add EVENT arg.
630
631 * Makefile.in (lwlib.o): Depend on lwlib-Xlw.h.
632 (lwlib-Xlw.o): Depend on lwlib-Xlw.h.
633 (lwlib-Xaw.o): Depend on lwlib-Xaw.h.
634 (lwlib-Xm.o): Depend on lwlib-Xm.h.
635
9b2f3c38
GM
6362000-03-12 Gerd Moellmann <gerd@gnu.org>
637
638 * lwlib-Xm.c (make_menubar) [LESSTIF_VERSION]: Don't set
639 XmNresizeHeight and XmNresizeWidth.
640
7397acc4
DL
6412000-03-08 Dave Love <fx@gnu.org>
642
643 * Makefile.in (liblw.a): Don't bother testing for ranlib failing
644 since configure sets it up.
645
1d4d17e2
GM
6462000-03-06 Gerd Moellmann <gerd@gnu.org>
647
648 * lwlib-Xm.c (make_menubar): Set XmNresizeHeight and
649 XmNresizeWidth resources only if LESSTIF_VERSION is defined.
650
566f7ec8
GM
6512000-03-05 Gerd Moellmann <gerd@gnu.org>
652
653 * lwlib-Xm.c (xm_manage_resizing): Rewritten.
654
655 * lwlib.c (lw_modify_all_widgets): Return non-zero if widget
656 tree was changed.
657 (merge_widget_value): Add parameter CHANGE_P. Set *CHANGE_P
658 to 1 if a change occurs.
659
660 * lwlib.h (lw_modify_all_widgets): Change prototype.
661
64d739c4
GM
6622000-03-04 Gerd Moellmann <gerd@gnu.org>
663
664 * xlwmenu.c (make_shadow_gcs): Use the widget's colormap instead
665 of the screen's default colormap.
666
b6a22bf8
GM
6672000-02-18 Gerd Moellmann <gerd@gnu.org>
668
669 * lwlib.c (merge_widget_value): Fix incorrect assignment of
670 safe_strdup'd help string.
671
e12489f9
GM
6722000-01-25 Gerd Moellmann <gerd@gnu.org>
673
674 * lwlib-Xm.c (make_menu_in_widget): Don't add XmNpopdownCallback,
675 add XmNunmapCallback.
676 (xm_unmap_callback): New function.
677 (xm_pull_down_callback): Call pre-activate callback only if
678 parent is the menu bar.
679
52b8dbf9
GM
6802000-01-17 Gerd Moellmann <gerd@gnu.org>
681
682 * lwlib-Xm.c (xm_arm_callback): New function.
683 (make_menu_in_widget): Set xm_arm_callback as XmNarmCallback and
684 XmNdisarmCallback for buttons (not supported for other widgets).
d36100c9 685 (make_menubar): Set XmNresizeHeight and XmNresizeWidth to False.
52b8dbf9
GM
686
687 * lwlib-Xlw.c (highlight_hook): New function.
688 (xlw_create_menubar, xlw_create_popup_menu): Add highlight_hook as
689 callback XtNhighlightCallback.
690
691 * lwlib.c (copy_widget_value_tree): Copy help string.
692 (free_widget_value_tree): Free help string.
693 (merge_widget_value): Handle help string.
bcd833b2
SM
694 (allocate_widget_info, lw_register_widget, lw_create_widget):
695 Add parameter HIGHLIGHT_CB.
52b8dbf9
GM
696 (lw_get_widget_instance): New function.
697
698 * lwlib-int.h: Add prototype for lw_get_widget_instance.
699
700 * lwlib.h (_widget_value): Add help string.
701
702 * xlwmenu.c (xlwMenuResources): All XtNhighlightCallback.
703 (remap_menubar): Call highlight callback.
704
705 * xlwmenu.h (XtNhighlightCallback): New define.
706
707 * xlwmenuP.h (_XlwMenu_part): Add `highlight' callback list.
708
0f0912e6 7091999-10-19 Paul Eggert <eggert@twinsun.com>
5c520e0a 710
0f0912e6
PE
711 Add support for large files, plus some locale improvements.
712
713 * dispatch.c, lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib.c, xlwmenu.c,
79a2d0fc 714 * xrdb-cpp.c, xrdb.c:
0f0912e6
PE
715 Include <config.h> before any system include files.
716
717 * lwlib-Xm.c, lwlib.c:
718 Do not include <stdlib.h> or <string.h>, as <config.h> does this.
5c520e0a 719
f5737ad2
GM
7201999-10-07 Gerd Moellmann <gerd@gnu.org>
721
bcd833b2
SM
722 * lwlib-Xm.c (make_menu_in_widget, update_one_menu_entry):
723 Use widgets instead of gadgets to be able to set colors.
f5737ad2 724
387581d8
DL
7251999-09-17 Richard Stallman <rms@gnu.org>
726
727 * lwlib-Xaw.c (wm_delete_window): Check all the shell's children,
728 not just the first, to find the dialog box.
729
7301999-09-14 Gerd Moellmann <gerd@gnu.org>
731
bcd833b2 732 * lwlib.c (lw_separator_p): Check for new-style separators differently.
387581d8
DL
733
7341999-09-10 Gerd Moellmann <gerd@gnu.org>
735
5c520e0a 736 * lwlib.c (lw_separator_p): Add `--:space' with the same
387581d8
DL
737 meaning as `--:noLine'.
738
7391999-09-06 Gerd Moellmann <gerd@gnu.org>
740
741 * lwlib.c (lw_separator_p): Add alternative separator type names.
742
7431999-09-03 Gerd Moellmann <gerd@gnu.org>
744
bcd833b2 745 * xlwmenu.c (make_shadow_gcs): Call x_alloc_nearest_color_for_widget.
387581d8 746
32660797
GM
7471999-07-12 Gerd Moellmann <gerd@gnu.org>
748
749 * lwlib-Xm.c: Add function prototypes.
750
751 * lwlib-Xm.c (xm_update_label): Use val->name to look up
752 a label string from resources.
753 (xm_update_label): Add some comments.
754
7551999-07-12 Gerd Moellmann <gerd@gnu.org>
756
757 * xlwmenu.c (all_dashes_p): Removed.
758 (size_menu_item): Call lw_separator_p.
759 (display_menu_item): Ditto.
760 (display_menu): Ditto.
761 (draw_separator): New.
762 (display_menu_item): Call it.
763 (separator_height): New.
764 (size_menu_item): Call it.
765
766 * lwlib-Xm.c (all_dashes_p): Removed.
bcd833b2 767 (make_menu_in_widget): Use lw_separator_p. Set Motif separator type.
32660797
GM
768
769 * lwlib.c (lw_separator_p): New.
770
771 * lwlib.h (enum menu_separator): New.
772
7731999-07-12 Gerd Moellmann <gerd@gnu.org>
774
775 * lwlib-Xm.c (make_menu_in_widget): Set alignment of menu
776 title after all widgets have been created.
777
7781999-07-12 Gerd Moellmann <gerd@gnu.org>
779
780 * xlwmenu.c (toggle_button_width): Renamed from
781 toggle_or_radio_button_width.
782 (radio_button_width): New.
783 (size_menu_item): Use new functions.
784 (draw_shadow_rhombus): New.
785 (draw_radio): Use radio_button_width and draw_shadow_rhombus.
786 (draw_toggle): Use toggle_button_width.
787
7881999-07-12 Gerd Moellmann <gerd@gnu.org>
789
790 * lwlib-Xm.c (xm_update_toggle): Add callback xm_generic_callback
791 instead of xm_internal_update_other_instances.
792
793 * lwlib-Xm.c (make_menu_in_widget): Do help button before managing
794 children to get it to the right place.
795 (make_menu_in_widget): Create toggle buttons.
796 (update_one_menu_entry): Update toggle buttons.
797
798 * xlwmenu.c (size_menu_item): Add parameter button_width.
799 (size_menu): Compute button_width.
800 (toggle_or_radio_button_width): New.
801 (draw_toggle): New.
802 (draw_radio): New.
803 (draw_shadow_rectangle): Add parameter `down_p'.
804
805 * xlwmenuP.h (_window_state): Add button_width.
806
8071999-07-12 Gerd Moellmann <gerd@gnu.org>
808
79a2d0fc 809 * xlwmenu.c (make_shadow_gcs) [emacs]: Use x_alloc_nearest_color.
32660797
GM
810
811 * lwlib.c (merge_widget_value): Handle button_type.
812 (copy_widget_value_tree): Copy button_type.
813
814 * lwlib.h (enum button_type): New.
815 (_widget_value): New member button_type.
816
8171999-07-12 Gerd Moellmann <gerd@gnu.org>
818
819 * lwlib-Xm.c (make_menu_in_widget): Test for menubar widgets
820 using XmNrowColumnType.
821
8221999-07-12 Gerd Moellmann <gerd@gnu.org>
823
824 * xlwmenu.c (abort_gracefully): New.
825 (display_menu): Use it instead of abort.
826 (size_menu): Ditto.
827
8281999-07-12 Gerd Moellmann <gerd@gnu.org>
829
5c520e0a 830 * xlwmenu.c (xlwMenuResources): Change previously unused
32660797
GM
831 XtNmargin to 4.
832 (size_menu): Take margin into account.
833 (display_menu_item): Ditto.
834 (remap_menubar): Ditto.
835 (draw_arrow): Draw it 3D.
836
a08cb76c
DL
8371999-07-12 Richard Stallman <rms@gnu.org>
838
839 * Version 20.4 released.
840
8411998-08-19 Richard Stallman <rms@psilocin.ai.mit.edu>
842
843 * Version 20.3 released.
844
8451998-07-30 Paul Eggert <eggert@twinsun.com>
846
847 * lwlib/Makefile.in (lwlib-utils.o, lwlib.o, lwlib-Xlw.o)
5c520e0a 848 (lwlib-Xaw.o, lwlib-Xm.o, lwlib-Xol.o, lwlib-Xolmb.o):
5ce6e4f4 849 Add dependencies to corresponding .c files for Solaris 2.x VPATH make.
a08cb76c
DL
850
8511998-04-06 Andreas Schwab <schwab@gnu.org>
852
853 * lwlib.c: Always declare xmalloc.
854 [USE_XAW]: Include <X11/Xaw/Paned.h>.
855 (lwlib_memset, lwlib_bcopy): Explicitly declare return type.
856
8571997-12-20 Richard Stallman <rms@delysid.gnu.org>
858
859 * lwlib-Xm.c (update_one_menu_entry):
860 Add conditional in case XmNpositionIndex is missing.
861
8621997-12-20 Richard Stallman <rms@psilocin.gnu.org>
863
864 * lwlib-Xm.c (update_one_menu_entry):
865 Add conditional in case XmNpositionIndex is missing.
866
8671997-09-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
868
869 * Version 20.2 released.
870
871 * xlwmenu.c (motion_event_is_in_menu): Extend the left and
872 top windows by the shadow width.
873
8741997-09-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
875
876 * Version 20.1 released.
877
8781997-07-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
879
880 * xlwmenu.c (display_menu): If an item is disabled,
881 don't display its submenu (if any).
882
8831997-05-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
884
885 * xlwmenu.c (pop_up_menu): Update the call to x_catch_errors.
886
8871997-01-21 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
888
889 * xlwmenu.c (fit_to_screen): If new menu would overlap the previous
890 one from the side, try moving it up or down.
891
8921996-08-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
893
894 * Version 19.33 released.
895
896 * lwlib-Xm.c (update_one_menu_entry): Fix previous change:
897 When XmIsCascadeButton, don't call XmCreateCascadeButtonGadget,
898 just modify the existing one.
5c520e0a 899
f0131492 9001996-08-09 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
a08cb76c
DL
901
902 * lwlib.c (merge_widget_value): Undo previous change.
5c520e0a 903
a08cb76c
DL
904 * lwlib-Xm.c (update_one_menu_entry): When creating a pulldown
905 in an existing but empty menu item, in order to get a new functional
906 pulldown, the menu item must be switched from an XmPushButtonGadget
907 into a XmCascadeButtonGadget.
908
9091996-07-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
910
911 * Version 19.32 released.
912
f0131492 9131996-07-31 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
a08cb76c
DL
914
915 * lwlib-Xm.c (make_menubar): Turn off menu accelerator.
916
f0131492 9171996-07-24 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
a08cb76c
DL
918
919 * lwlib.c (merge_widget_value) [USE_MOTIF]: Pass along the change
920 flag from merged_contents.
921
9221996-07-13 Karl Heuer <kwzh@gnu.ai.mit.edu>
923
924 * lwlib-Xm.c (xm_update_menu): Fix loop termination test.
925
9261996-07-07 Karl Heuer <kwzh@gnu.ai.mit.edu>
927
928 * lwlib-Xm.h, lwlib-Xm.c, lwlib.h, lwlib.c: Undo previous change.
929
f0131492 9301996-07-03 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
a08cb76c
DL
931
932 * lwlib-Xm.h: Declare lw_motif_menu_related_event_p.
933
934 * lwlib-Xm.c (lw_motif_menu_related_event_p): A predicate to
935 identify keyboard events intended only for menus.
936
937 * lwlib.h: Declare lw_toolkit_related_event_p.
938
939 * lwlib.c (lw_toolkit_related_event_p): A predicate to identify
940 toolkit-specific events.
941
f0131492 9421996-06-07 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
a08cb76c
DL
943
944 * lwlib-Xm.c (make_menu_in_widget): Set mapping delay
945 for cascade buttons to zero.
946
9471996-05-25 Karl Heuer <kwzh@gnu.ai.mit.edu>
948
949 * Version 19.31 released.
950
9511996-03-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
952
953 * lwlib-Xm.c (destroy_all_children): When freeing a cascade button,
954 free its submenu too.
955 (make_menu_in_widget): Use a cascade button gadget, not a widget.
956 Include Xm/CascadeBG.h.
957
9581996-03-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
959
960 * Makefile.in (tags): New target.
961
9621996-03-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
963
964 * Makefile.in (TAGS): Renamed from `tags' and fixed to work.
965
9661996-03-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
967
968 * Makefile.in (xlwmenu.o): New explicit target.
969
9701996-03-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
971
972 * lwlib.h (struct widget_value): New field this_one_change.
973 * lwlib.c (merge_widget_value): Set the this_one_change field.
974 * lwlib-Xm.c (destroy_all_children): New arg first_child_to_destroy.
975 (make_menu_in_widget): New arg keep_first_children.
976 (xm_update_menu): Preserve the first children even if later ones
977 have a structural change.
978 (update_one_menu_entry): Use this_one_change field.
979
9801996-03-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
981
982 * xlwmenu.c (motion_event_is_in_menu): Make x and y signed.
983
9841996-02-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
985
986 * lwlib.c (lw_window_is_in_menubar) [USE_MOTIF]:
987 With Motif, the window WIN can be the menu bar widget itself.
988
9891996-02-21 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
990
991 * lwlib.c (free_widget_value_tree, merge_widget_value):
992 Use XtFree for the toolkit_data.
993
9941996-02-19 Karl Heuer <kwzh@gnu.ai.mit.edu>
995
996 * lwlib.c (lw_internal_update_other_instances): Move static var
997 outside the function, and rename it to lwlib_updating.
998
9991996-01-04 Paul Eggert <eggert@twinsun.com>
1000
1001 * lwlib.c (instantiate_widget_instance): Renamed from
1002 instanciate_widget_instance (spelling correction).
1003 All callers changed.
1004
10051995-12-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1006
1007 * xlwmenu.c (xlwMenuActionsList): Add "key" and "nothing".
1008 (xlwMenuTranslations): Add translations for Key, KeyUp,
1009 and for the modifier keysyms.
1010 (Nothing, Key): New functions.
1011
10121995-12-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1013
1014 * xlwmenu.c (XlwMenuSetValues): Do redisplay if non-null contents
1015 get replaced by empty contents.
1016
1017 * lwlib.c (merge_widget_value): Treat disappearance of entire contents
1018 as a STRUCTURAL_CHANGE.
1019
10201995-12-20 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
1021
1022 * lwlib-utils.c: Add #undef for index and rindex.
1023
10241995-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1025
1026 * Version 19.30 released.
1027
10281995-11-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1029
1030 * xlwmenu.c (display_menu_item): Fix previous change.
1031
10321995-11-04 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
1033
1034 * xlwmenu.c (display_menu_item): Don't treat buttons specially.
1035
10361995-08-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1037
1038 * Makefile.in (RANLIB): Get this var from configure.
1039
10401995-08-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1041
1042 * lwlib.c (lw_popup_menu): New arg `event', passed along.
1043 * lwlib-Xlw.c (xlw_popup_menu): New arg `event'.
1044 * lwlib-Xm.c (xm_popup_menu): New arg `event'.
1045
10461995-06-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1047
1048 * Version 19.29 released.
1049
10501995-06-11 Richard Stallman <rms@gnu.ai.mit.edu>
1051
1052 * lwlib.c (lwlib_toolkit_type): New variable.
1053
10541995-05-26 Richard Stallman <rms@gnu.ai.mit.edu>
1055
1056 * xlwmenu.c (Drag): Do nothing unless menu.popped_up field is set.
1057
10581995-05-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1059
1060 * xlwmenu.c (XlwMenuInitialize): Cast XCreatePixmapFromBitmapData args.
1061
10621995-05-20 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1063
1064 * lwlib.c: Don't use prototype.
1065 * lwlib-Xm.c (activate_button, xm_update_cascadebutton): Likewise.
1066
10671995-05-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1068
1069 * lwlib.c (lw_refigure_widget) [USE_MOTIF]: Fix backward if.
1070
10711995-05-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1072
1073 * Makefile.in (ALL_CFLAGS): Add -I../src.
1074
10751995-05-03 Morten Welinder <terra+@cs.cmu.edu>
1076
1077 * lwlib.c [__osf__]: Include string.h and stdlib.h.
1078 [__osf__] (xmalloc): Declared.
1079
10801995-04-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1081
1082 * lwlib-Xm.c (update_one_menu_entry, make_menu_in_widget):
1083 Specify more useful names in XmCreatePulldownMenu calls.
1084
1085 * lwlib-Xaw.c (xaw_pop_instance): Make x, y, w, h unsigned.
1086
1087 * xlwmenu.c (size_menu): Make height and label_width unsigned.
1088 (fit_to_screen): Make screen_width and screen_height unsigned.
1089 (motion_event_is_in_menu): Make x, y unsigned.
1090
10911995-04-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1092
1093 * lwlib-utils.c: If HAVE_CONFIG_H, include config.h.
1094
1095 * Makefile.in (ALL_CFLAGS): Define HAVE_CONFIG_H.
1096 Add -I${srcdir}/../src.
5c520e0a 1097
a08cb76c
DL
10981995-04-08 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1099
1100 * lwlib-Xm.c: Remove function prototypes.
1101 (xm_pop_down_callback): Call the deactivation callback only when
79a2d0fc 1102 popping down the top level submenu.
a08cb76c
DL
1103
11041995-04-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1105
1106 * Makefile.in (lwlib.o): Depend on Makefile.
1107
1108 * lwlib-Xm.h: Remove function prototypes.
1109
1110 * lwlib-Xm.c (remove_grabs): Use type Widget for `menu'.
1111
11121995-02-15 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1113
1114 * Makefile.in (ALL_CFLAGS): Allow include files to be found in
bcd833b2 1115 `srcdir'.
a08cb76c
DL
1116
11171995-02-07 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
1118
1119 * Makefile.in (maintainer-clean): Renamed from realclean.
1120
11211994-11-28 Richard Stallman <rms@bethel>
1122
1123 * lwlib-int.h (safe_strdup): Don't use ANSI argument prototype.
1124
11251994-11-15 Paul Reilly <pmr@duality.gnu.ai.mit.edu>
1126
1127 * lwlib.c (lw_refigure_widget): Use the macro USE_XAW rather than XAW.
1128
11291994-11-08 Paul Reilly <pmr@duality.gnu.ai.mit.edu>
1130
79a2d0fc 1131 * lwlib-Xm.c (make_menu_in_widget): Differentiate a separator
a08cb76c
DL
1132 entry ("--") from a title.
1133 (xm_pop_down_callback): Filter all but the last pop down callbacks.
1134
11351994-11-07 Paul Reilly <pmr@duality.gnu.ai.mit.edu>
1136
1137 * lwlib-Xm.c (update_one_menu_entry): Use the parent of the
1138 cascade button as the parent of the pulldown, rather than the
1139 cascade button itself. This works around a Motif SIGSEGV in the
1140 function `InSharedMenuHierarchy'.
1141
11421994-10-29 Richard Stallman <rms@duality.gnu.ai.mit.edu>
1143
1144 * xlwmenu.c (xlwmenu_default_font): New global variable.
1145 (XlwMenuInitialize): Use xlwmenu_default_font to default
1146 the font if necessary. Make mw, itself, an argument.
1147
11481994-10-26 Richard Stallman <rms@duality.gnu.ai.mit.edu>
1149
1150 * xlwmenu.c (pop_up_menu): Pass a Display * to x_catch_errors, etc.
1151
11521994-10-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1153
1154 * xlwmenu.c (xlwmenu_default_font): New global variable.
1155 (XlwMenuInitialize): Use xlwmenu_default_font to default
1156 the font if necessary. Make mw, itself, an argument.
1157
1158 * xlwmenu.c (pop_up_menu): Pass a Display * to x_catch_errors, etc.
1159
11601994-10-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1161
1162 * xlwmenu.c (fit_to_screen): Don't put the menu off the left or top.
1163
11641994-10-02 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1165
1166 * xlwmenu.c (display_menu_item): Add support for displaying the
bcd833b2 1167 title in pop up menus.
a08cb76c
DL
1168
1169 * lwlib.c (lw_set_main_areas): Use xm_set_main_areas().
1170 (lw_manage_resizing): Use xm_manage_resizing() for Emacs/Motif.
1171
11721994-09-25 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1173
1174 * lwlib-Xaw.c (xaw_create_main): New function to support the
bcd833b2
SM
1175 toolkit independent creation of the main Emacs widget. *
1176 lwlib-Xlw.c (xlw_create_menubar): When compiling under Emacs, set
1177 resizing resources to disable showGrip and to enable both
1178 resizeToPreferred and allowShellResize.
a08cb76c
DL
1179
1180 * lwlib-Xm.h: Declare xm_set_main_areas, xm_manage_resizing.
1181
79a2d0fc 1182 * lwlib-Xm.c (make_menu_in_widget): Add support for displaying a
a08cb76c
DL
1183 title in pop up menus.
1184 (make_main, xm_set_main_areas, xm_manage_resizing): New functions to
1185 create and manage a Motif Main Window widget.
1186
1187 * xlwmenu.c: Add #include <X11/ObjectP.h> for X11R4.
1188
f0131492 11891994-09-18 Frederic Pierresteguy <F.Pierresteguy@frcl.bull.fr>
a08cb76c
DL
1190
1191 * lwlib-Xm.c (make_dialog): When there is more than two pushbuttons,
1192 set XmPACK_TIGHT and XmHORIZONTAL to the rowcolumn. Also add a
1193 margin of 10 pixels.
1194
177c0ea7 11951994-09-16 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
a08cb76c
DL
1196
1197 * lwlib-Xm.c (make_main): New function to support toolkit
bcd833b2 1198 independent creation of the main Emacs widget.
a08cb76c
DL
1199 (make_destroyed_instance): Use safe_strdup() instead of strdup().
1200
1201 * lwlib-int.h: Declare safe_strdup.
1202
1203 * lwlib.c (lw_refigure_widget): New function. Handle geometry
bcd833b2 1204 management inside lwlib instead of in Emacs.
a08cb76c
DL
1205 (lw_window_is_in_menubar): New function. Determine if the pointer
1206 is in a menubar.
1207 (lw_set_main_areas): New function. Set the main window widgets for
1208 Motif.
1209
1210 * lwlib.h: Declare lw_refigure_widget(), lw_window_is_in_menubar(),
1211 lw_set_main_areas().
1212
1213 * xlwmenu.h: Define Xt{Ns,CS}howGrip, Xt{Nr,CR}esizeToPreferred, and
1214 Xt{Na,CA}llowResize.
1215
1216 * xlwmenu.c (Start): Use pop_up_menu() to post the submenus.
bcd833b2 1217 (Select): Remove the pointer grab when popping down a menubar submenu.
a08cb76c
DL
1218 (pop_up_menu): Handle popping up submenus from a menubar, i.e. when
1219 the menu widget parent is not a shell widget.
1220
12211994-08-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1222
1223 * xlwmenu.c (pop_up_menu): Clear next_release_must_exit.
1224 (Start): Clear next_release_must_exit when popping up the menu.
1225
12261994-08-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1227
1228 * xlwmenu.c (Start): Set menu_post_event or next_release_must_exit.
1229 (Select): Do nothing if the menu should be left posted.
1230
12311994-07-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1232
1233 * xlwmenu.c (make_windows_if_needed, pop_up_menu):
1234 Enable mouse motion events even when no button down.
1235
12361994-07-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1237
1238 * xlwmenu.c (pointer_grabbed): New variable.
1239 (pop_up_menu): Set the variable.
1240 (XlwMenuDestroy): Maybe call XtUngrabPointer.
1241
12421994-05-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1243
1244 * lwlib.c (max): Function deleted. Define as macro instead,
1245 but only if not already defined.
1246
12471994-05-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1248
1249 * xlwmenu.c (xlwMenuResources): Use XtRDimension for shadow thickness.
1250
12511994-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1252
1253 * lwlib-Xaw.c (xaw_pop_instance): Use XtSetValues, not XtMoveWidget.
1254
12551994-05-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1256
1257 * lwlib.c (lwlib_memset: New function, used instead of memset.
1258 All callers changed.
1259 * lwlib.c (lwlib_bcopy): New function.
1260 * lwlib-utils.c (XtApplyToWidgets): Use lwlib_bcopy.
1261
1262 * lwlib.c: Delete definitions for use of alloca.
1263 (name_to_widget): Use xmalloc, not alloca.
1264
12651994-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1266
1267 * xlwmenu.c (XlwMenuDestroy): Set new var submenu_destroyed.
1268 (XlwMenuRedisplay): If it's set, truncate the old_depth to 1.
1269
12701994-05-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1271
1272 * xrdb-cpp.c: Don't include string.h, unistd.h, stdlib.h.
1273 * lwlib-Xaw.c: Don't include string.h, unistd.h, stdlib.h.
1274 * lwlib-utils.c (XtApplyToWidgets): Use bcopy, not memcpy.
1275 * lwlib-utils.c: Don't include string.h, unistd.h, stdlib.h, memory.h.
1276 * xlwmenu.c: Don't include string.h, unistd.h, stdlib.h.
1277 * lwlib.c: Don't include string.h, unistd.h, stdlib.h.
1278 (safe_strdup): No longer static.
1279 * lwlib-Xm.c: Use safe_strdup, not strdup.
1280
1281 * xlwmenu.c (string_width): No longer static.
1282
12831994-05-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1284
1285 * xlwmenuP.h (struct _XlwMenu_part): Use Pixel and Cursor
1286 for foreground and cursor_shape fields.
1287
1288 * xlwmenu.c (XlwMenuSetValues): Check for change of font.
1289
12901994-04-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1291
1292 * Makefile.in: Delete all SRCS variables (unused).
1293 (lwlib.o, xrdb-cpp.o): Mention srcdir in dep.
1294
12951994-04-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1296
1297 * Makefile.in (ALL_CFLAGS): Don't define THIS_IS_X11R4.
1298
1299 * xrdb.c: Define HAVE_X11R5 as in xterm.h.
1300 Include X11/Xlib.h, X11/cursorfont.h and X11/Xutil.h.
1301 (_XtDisplayInitialize): Test HAVE_X11R5.
1302
1303 * dispatch.c: Define HAVE_X11R5 as in xterm.h.
1304 Include X11/Xlib.h, X11/cursorfont.h and X11/Xutil.h.
1305 (_XtConvertTypeToMask): Conditionalize on HAVE_X11R5.
1306 (WouldDispatchEvent): Likewise.
1307
13081994-04-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1309
1310 * lwlib-Xaw.c (xaw_generic_callback): Declare without arg names.
1311
13121994-04-01 Frederic Pierresteguy (fp@hal.gnu.ai.mit.edu)
1313
5c520e0a 1314 * lwlib-Xaw.c (make_dialog): Don't allow any geometry request from the
a08cb76c
DL
1315 user.
1316
13171994-03-22 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1318
5c520e0a 1319 * xlwmenu.c (XlwMenuResize): Don't allow the popup menu to resize
6ad6535b 1320 itself. Therefore reset the size to its initial value.
a08cb76c
DL
1321
13221994-03-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1323
1324 * lwlib-Xaw.c (xaw_update_one_widget): Finish replacing XtVaSetValues.
1325 Don't test for scrollbar widget.
1326
13271994-03-14 Frederic Pierresteguy (fp@gnu.ai.mit.edu)
1328
1329 * lwlib-int.h: Declare lw_get_widget_info.
1330
1331 * lwlib.c (lw_get_widget_info): Comment out arg in function decl.
1332
1333 * lwlib-Xaw.h: Comment out args in function decls.
1334 * lwlib-Xaw.c: Convert all function definitions to non-prototype K&R.
1335 (xaw_update_one_widget - case dialogWidgetClass): Call XtSetValues,
1336 not XtVaSetValues.
1337
13381994-03-11 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
1339
1340 * xlwmenu.c (display_menu_item): Modify parameters to draw_arrow to
1341 right justify the arrow in the pane.
1342
1343 * lwlib.c: If not defined USE_MOTIF and defined USE_LUCID then
1344 define USE_XAW.
1345
1346 * Makefile.in (LUCID_SRCS, LUCID_OBJS): Add the target lwlib-Xaw.[oc].
1347
1348 * lwlib.c, lwlib-int.h: Merged from Lucid 19.9 release.
1349 * lwlib.c (_AIX): Replace the AIXV3 directive.
1350 (USE_XAW): New macro to conditionalize the use of the athena toolkit.
1351 (lw_get_widget_info): New function.
1352 (set_one_value): Handle USE_XAW.
1353 (instanciate_widget_instance): Likewise.
1354 (destroy_one_instance): Likewise.
1355 (lw_pop_all_widgets): Likewise.
1356 (lw_pop_down_all_widgets): Likewise.
1357 (get_one_value): Likewise.
1358
1359 * lwlib-Xaw.c, lwlib-Xaw.h: New files.
1360
13611994-02-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1362
1363 * xlwmenu.c (XlwMenuInitialize, XlwMenuDestroy): Undo previous changes.
1364
1365 * lwlib-Xlw.c (xlw_create_menubar, xlw_create_popup_menu):
1366 Use XtCreate..., not XtVaCreate...
1367 No need to copy instance->info->val any more.
1368 (xlw_update_one_widget): Use XtSetValues, not XtVaSetValues.
1369
13701994-02-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1371
1372 * xlwmenu.c (pop_up_menu): Call XtUngrabPointer if XtGrabPointer fails.
1373
13741994-02-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1375
1376 * Makefile.in (xrdb-cpp.o, lwlib.o): Put ALL_CFLAGS after other flags.
1377
1378 * lwlib-Xlw.c (xlw_create_menubar): Don't call free_widget_value.
1379 Use malloc for allocation.
1380 (xlw_create_popup_menu): Likewise.
1381
13821994-02-18 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1383
1384 * lwlib.c (malloc_cpt): New static variable.
1385 (malloc_widget_value): Increment malloc_cpt when allocating a cell.
1386 (free_widget_value): Really free the cells when the number of
1387 allocated ones is bigger than 25.
1388
1389 * lwlib-Xlw.c (xlw_create_menubar): Call malloc_widget_value and
1390 free_widget_value instead of XtMalloc and XtFree.
1391 (xlw_create_popup_menu): Likewise.
1392
13931994-02-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1394
1395 * Makefile.in (ALL_CFLAGS): Specify -Demacs.
1396
1397 * xlwmenu.c (pop_up_menu) [emacs]: Catch and ignore X protocol errors
1398 in XtGrabPointer.
1399
14001994-02-17 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1401
5c520e0a 1402 * lwlib-Xlw.c (xlw_create_popup_menu): Pass tem to
a08cb76c
DL
1403 XtVaCreateManagedWidget, not instance->info->val.
1404 (xlw_create_menubar): Likewise.
1405
14061994-02-15 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1407
1408 * lwlib-Xlw.c (xlw_create_popup_menu): Copy instance->info->val
1409 before calling XtVaCreateManagedWidget and then free the copy.
1410 (xlw_create_menubar): Likewise.
1411
14121994-02-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1413
1414 * xlwmenu.c (XlwMenuInitialize): Copy mw->menu.contents.
1415 (XlwMenuDestroy): Free mw->menu.contents.
1416
14171994-02-09 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1418
1419 * xlwmenu.c (display_menu_item): Call draw_shadow_rectangle to make
1420 visible/invisible the selection of the menubar items.
1421
14221994-02-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
1423
1424 * lwlib.c (strcasecmp): Renamed to my_strcasecmp.
1425 (find_in_table): Changed only caller.
1426
14271994-02-04 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1428
1429 * xlwmenu.c (display_menu_item): When dealing with the menubar,
5c520e0a 1430 always call XDrawRectangle to clear the selection after popping down
a08cb76c
DL
1431 the pulldown menu.
1432
14331994-02-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1434
1435 * lwlib.c: Include ctype.h.
1436
14371994-01-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1438
1439 * lwlib.c (strcasecmp): New function.
1440
14411994-01-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1442
1443 * xlwmenu.c, lwlib.c, lwlib-Xlw.c, lwlib-utils.c:
1444 Convert all function definitions to non-prototype K&R.
1445
1446 * lwlib-Xlw.h: Comment out args in function decls.
1447 * lwlib.h: Comment out args in function decls.
1448 * lwlib-utils.h: Comment out args in function decls.
1449
14501994-01-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1451
1452 * lwlib.c: Include StringDefs.h after lwlib.h.
1453
14541994-01-22 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
1455
1456 * Makefile (xrdb-cpp.o, lwlib.o): Use $(srcdir) and file name
1457 instead of $*.
1458 (dispatch.o, xrdb.o, lwlib-Xm.o): Rules removed; they were
bcd833b2
SM
1459 superfluous and didn't work when configured outside srcdir.
1460 The implicit .c.o rule works fine.
a08cb76c
DL
1461
14621994-01-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1463
1464 * xlwmenu.c (resource_widget_value): Avoid using strdup.
1465
14661994-01-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1467
1468 * Makefile.in: New file.
1469
1470 * lwlib-Xolmb.c: Renamed from lwlib-Xol-mb.c.
1471 * lwlib-Xolmb.h: Renamed from lwlib-Xol-mb.h.
1472 * lwlib-XolmbP.h: Renamed from lwlib-Xol-mbP.h.
1473
1474 * lwlib-int.h: Renamed from lwlib-internal.h.
1475
5c520e0a 1476
a08cb76c 1477
6922b018 1478;; Local Variables:
880820fe 1479;; coding: utf-8
33462dfa 1480;; add-log-time-zone-rule: t
6922b018 1481;; End:
2a34a036 1482
b3d90e46 1483 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004,
114f9c96 1484 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
7f6d64f8
GM
1485
1486 This file is part of GNU Emacs.
1487
05a3a789 1488 GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 1489 it under the terms of the GNU General Public License as published by
05a3a789
GM
1490 the Free Software Foundation, either version 3 of the License, or
1491 (at your option) any later version.
7f6d64f8
GM
1492
1493 GNU Emacs is distributed in the hope that it will be useful,
1494 but WITHOUT ANY WARRANTY; without even the implied warranty of
1495 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1496 GNU General Public License for more details.
1497
1498 You should have received a copy of the GNU General Public License
05a3a789 1499 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
ab5796a9
MB
1500
1501;;; arch-tag: 0cd8ab87-d764-40d9-b86d-d00c71887a9e