From: SourceForge.net <no...@so...> - 2007-10-15 20:46:09
|
Patches item #998125, was opened at 2004-07-26 08:53 Message generated for change (Comment added) made by hobbs You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312997&aid=998125&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: 08. [(label)frame] and [toplevel] Group: TIP Implementation Status: Open Resolution: None Priority: 9 Private: No Submitted By: Brian Griffin (bgriffin) Assigned to: Jeffrey Hobbs (hobbs) Summary: Tip #125 Implementation Initial Comment: Attached is a patch to implement Tip #125 [wm manage] and [wm forget] commands. The patch includes Unix and Windows implementations as well as a partial implementation for MacOSX. For Aqua, only the button and menubutton widgets may be placed in a [wm manage]'d frame. To complete the implementation, the TK_URBAN_RENEWAL flag must be recognized and handled by all the intrinsic Tk widgets. See the patch for details. You'll note that this patch implments an alternative approach to the original [wm topleve] proposal. See the updated Tip for details of this change. ---------------------------------------------------------------------- >Comment By: Jeffrey Hobbs (hobbs) Date: 2007-10-15 13:46 Message: Logged In: YES user_id=72656 Originator: NO Updated TIP #125 implementation - needs OS X finishing. File Added: tip125.diff ---------------------------------------------------------------------- Comment By: Brian Griffin (bgriffin) Date: 2006-11-27 14:05 Message: Logged In: YES user_id=22949 Originator: YES I've run some tests on Unix with the changes Joe suggested. It seems to be fine. I don't recall why the code was written that way. The "Menu" test addresses the case of descendant toplevels as Menus have been the only descendant toplevel situation I've run into, probably by design. I still need to see if similar code on Windows is necessary, no-ops, or incorrect. -Brian ---------------------------------------------------------------------- Comment By: Joe English (jenglish) Date: 2006-11-09 18:38 Message: Logged In: YES user_id=68433 In unix/tkUnixWm.c, function RemapWindows: it's not necessary to recursively call RemapWindows() for each child window; you just need to call XReparentWindow() on the outermost widget's Window. IOW, the recursive calls to RemapWindows(childPtr, winPtr) are either no-ops or (in the case of descendant toplevels) incorrect. Question: what is this for (also in RemapWindows())? if (strcmp(Tk_Class(winPtr), "Menu") == 0) { return; } It's probably not necessary to call XGetWindowAttributes() in this routine -- Tk already knows the X and Y coordinates (which are the only fields of win_attr being used -- win_attr.x and win_attr.y are normally the same as Tk_X(winPtr) and Tk_Y(winPtr), and besides they'll be overridden by the WM (in the case of [wm manage]) or GM (once remanaged after [wm forget]) anyway. ---------------------------------------------------------------------- Comment By: Brian Griffin (bgriffin) Date: 2006-11-08 08:28 Message: Logged In: YES user_id=22949 This updated patch is for the current HEAD (as of 11/7/06 approx 11:30pm pst) This patch also fixes problems with focus. ---------------------------------------------------------------------- Comment By: Brian Griffin (bgriffin) Date: 2005-05-15 16:35 Message: Logged In: YES user_id=22949 I've added code to deal with focus management. I've also removed the restriction on frames and toplevels. In theory, any widget can be managed as a toplevel. The class name is no longer changed, so a toplevel still has the class Toplevel when no longer managed by wm. ---------------------------------------------------------------------- Comment By: Brian Griffin (bgriffin) Date: 2004-07-27 08:39 Message: Logged In: YES user_id=22949 I found a bug with the -menu option. tip125_2.patch has the bug fixed. -Brian ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312997&aid=998125&group_id=12997 |