From: SourceForge.net <no...@so...> - 2009-09-20 23:59:39
|
Patches item #2863003, was opened at 2009-09-20 20:41 Message generated for change (Comment added) made by egavilan You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312997&aid=2863003&group_id=12997 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: 48. Geometry Management Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Emiliano (egavilan) Assigned to: Chengye Mao (chengyemao) Summary: Add a virtual event when GM leaves parent without slaves Initial Comment: When trying to build a custom scrolledframe one generally resorts to the <Configure> event to catch the resizing of the scrolled frame [usually a frame inside a canvas] to keep scrollbars in sync. The problem with this approach is that, when the last slave is removed from inside the frame, the geometry managers leave the frame size as-is, and the scrolled frame ends scrolling an empty region. This can be noted in this BWidget example: ================================================== package require BWidget set sw [ScrolledWindow .sw] set sf [ScrollableFrame .sf] $sw setwidget $sf set f [$sf getframe] pack $sw -expand 1 -fill both -padx 10 -pady 10 for {set i 0} {$i <= 20} {incr i} { grid \ [label $f.la$i -text "Label a order $i"] \ [label $f.lb$i -text "Label b order $i"] \ [label $f.lc$i -text "Label c order $i"] } after 5000 {destroy {*}[winfo children $sf]} ================================================= A way to note when the GM removes the last slave is to deliver a virtual event to the master. This patch adds the virtual event, and is intended as a sketch of the final code (the name of the virtual event, and whether to send additional details or not can be changed) ---------------------------------------------------------------------- >Comment By: Emiliano (egavilan) Date: 2009-09-20 20:59 Message: Forgot to mention, patch's code is copied almost literally from the GenerateModifiedEvent() function in generic/tkText.c ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312997&aid=2863003&group_id=12997 |