Version 13 of frame

Updated 2016-09-07 08:04:49 by oehhar

http://www.tcl.tk/man/tcl8.5/TkCmd/frame.htm


Jeffrey Hobbs has written, "The whole container/use idea is nice, but was only pushed far enough to enable embedding Tk into Netscape/IE. There are definite problems with handling focus and message passing ..."

So I guess it is up to the Tk community to jump in and improve this capability? Let's use "Combining GUI applications developed with Tk and 'native' Windows toolkits" as a home for such progress.


Frame does not shrink to 0 height if last children is unpacked/ungridded

HaO 2016-09-07: (issue is present with pack and grid and with frame and ttk::frame)

Giving a frame with two children:

pack [frame .f -height 1]
pack [entry .f.e1] [entry .f.e2]

When on children is unpacked, the frame resizes to the size required by the other children:

pack forget .f.e1

When the last children is unpacked, the frame does not resize:

pack forget .f.e2

-> The frame keeps the size of the entry widget.

To avoid this effect, there are two solutions on clt (Thread "frame auto resize to 0 if forgetting packed subwidget", date 2016-09-05):

Solution 1: pack an invisible frame

bll: Just pack a dummy frame in the collapsing frame:

pack [frame .f] [frame .f.d]
pack [entry .f.e1] [entry .f.e2]

Solution 2: set -height of the frame to 1

Alexandru Dadalau I use the -height property in order to shrink the frame back after the "pack forget".

pack forget .f.e2
.f configure -height 1

This works without a dummy widget but shows a frame of height 1.