Description: |
Given a ButtonBox with -homogeneous 1 and -orient
horizontal, it is possible for buttons to be
incorrectly sized. The [_redraw] procedure attempts to
determine the maximum button width and then sets the
columns' minsize. However, it has not scanned /all/ of
the buttons and thus only knows the maximum size up to
that point; there could be an even larger button later
in the list.
The following code was tested under Linux/x86, Tk 8.4,
and BWidgets 1.7:
% package require BWidget
1.7
% Dialog .test -homogeneous 1
.test
% .test add -text "ok" ; .test add -text "really long
cancel button"
.test.bbox.b1
% puts [grid columnconfigure .test.bbox 0 -minsize];
puts [grid columnconfigure .test.bbox 2 -minsize]
44
169
% .test draw
Attached to this bug report is a patch that correctly
calculates button widths. It should work for all cases.
|