Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | [Bug 723765]: When a slave was removed from grid, the -in option was not remembered. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | core-8-5-branch |
Files: | files | file ages | folders |
SHA1: |
403a6f202c6ef01c80cce0e1d19571f9 |
User & Date: | pspjuth 2011-04-04 22:04:44 |
Context
2011-04-12
| ||
14:28 | minor nits, taken over from TEA (tclconfig) check-in: 2d4f4a71 user: jan.nijtmans tags: core-8-5-branch | |
2011-04-04
| ||
22:08 | [Bug 723765]: When a slave was removed from grid, the -in option was not remembered. check-in: f3efdba8 user: pspjuth tags: trunk | |
22:04 | [Bug 723765]: When a slave was removed from grid, the -in option was not remembered. check-in: 403a6f20 user: pspjuth tags: core-8-5-branch | |
19:40 | [Bug 2997657]: Removed -container from labelframe documentation since it does not work as expected and does not make sense as a container. Added note to frame about restrictions when used as a container. check-in: 7b107e6e user: pspjuth tags: core-8-5-branch | |
Changes
Changes to ChangeLog.
1 2 3 4 5 6 7 | 2011-04-04 Peter Spjuth <[email protected]> * doc/labelframe.n: * doc/frame.n: * generic/tkFrame.c: [Bug 2997657]: Removed -container from labelframe documentation since it does not work as expected and does not make sense as a container. Added note to frame about restrictions when used | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | 2011-04-04 Peter Spjuth <[email protected]> * tests/grid.test: * generic/tkGrid.c: [Bug 723765]: When a slave was removed from grid, the -in option was not remembered. 2011-04-04 Peter Spjuth <[email protected]> * doc/labelframe.n: * doc/frame.n: * generic/tkFrame.c: [Bug 2997657]: Removed -container from labelframe documentation since it does not work as expected and does not make sense as a container. Added note to frame about restrictions when used |
︙ | ︙ |
Changes to generic/tkGrid.c.
︙ | ︙ | |||
163 164 165 166 167 168 169 170 171 172 173 174 175 176 | * managed (NULL means this window isn't * managed by the gridder). */ struct Gridder *nextPtr; /* Next window managed within same master. * List order doesn't matter. */ struct Gridder *slavePtr; /* First in list of slaves managed inside this * window (NULL means no grid slaves). */ GridMaster *masterDataPtr; /* Additional data for geometry master. */ int column, row; /* Location in the grid (starting from * zero). */ int numCols, numRows; /* Number of columns or rows this slave spans. * Should be at least 1. */ int padX, padY; /* Total additional pixels to leave around the * window. Some is of this space is on each * side. This is space *outside* the window: | > | 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | * managed (NULL means this window isn't * managed by the gridder). */ struct Gridder *nextPtr; /* Next window managed within same master. * List order doesn't matter. */ struct Gridder *slavePtr; /* First in list of slaves managed inside this * window (NULL means no grid slaves). */ GridMaster *masterDataPtr; /* Additional data for geometry master. */ Tcl_Obj *in; /* Store master name when removed. */ int column, row; /* Location in the grid (starting from * zero). */ int numCols, numRows; /* Number of columns or rows this slave spans. * Should be at least 1. */ int padX, padY; /* Total additional pixels to leave around the * window. Some is of this space is on each * side. This is space *outside* the window: |
︙ | ︙ | |||
650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 | slavePtr->numRows = 1; slavePtr->padX = 0; slavePtr->padY = 0; slavePtr->padLeft = 0; slavePtr->padTop = 0; slavePtr->iPadX = 0; slavePtr->iPadY = 0; slavePtr->doubleBw = 2*Tk_Changes(tkwin)->border_width; if (slavePtr->flags & REQUESTED_RELAYOUT) { Tcl_CancelIdleCall(ArrangeGrid, (ClientData) slavePtr); } slavePtr->flags = 0; slavePtr->sticky = 0; } Tk_ManageGeometry(slave, NULL, (ClientData) NULL); if (slavePtr->masterPtr->tkwin != Tk_Parent(slavePtr->tkwin)) { Tk_UnmaintainGeometry(slavePtr->tkwin, slavePtr->masterPtr->tkwin); } Unlink(slavePtr); | > > > > > > > > > > > > > > > > > > > | 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 | slavePtr->numRows = 1; slavePtr->padX = 0; slavePtr->padY = 0; slavePtr->padLeft = 0; slavePtr->padTop = 0; slavePtr->iPadX = 0; slavePtr->iPadY = 0; if (slavePtr->in != NULL) { Tcl_DecrRefCount(slavePtr->in); slavePtr->in = NULL; } slavePtr->doubleBw = 2*Tk_Changes(tkwin)->border_width; if (slavePtr->flags & REQUESTED_RELAYOUT) { Tcl_CancelIdleCall(ArrangeGrid, (ClientData) slavePtr); } slavePtr->flags = 0; slavePtr->sticky = 0; } else { /* * When removing, store name of master to be able to * restore it later, even if the master is recreated. */ if (slavePtr->in != NULL) { Tcl_DecrRefCount(slavePtr->in); slavePtr->in = NULL; } if (slavePtr->masterPtr != NULL) { slavePtr->in = Tcl_NewStringObj( Tk_PathName(slavePtr->masterPtr->tkwin), -1); Tcl_IncrRefCount(slavePtr->in); } } Tk_ManageGeometry(slave, NULL, (ClientData) NULL); if (slavePtr->masterPtr->tkwin != Tk_Parent(slavePtr->tkwin)) { Tk_UnmaintainGeometry(slavePtr->tkwin, slavePtr->masterPtr->tkwin); } Unlink(slavePtr); |
︙ | ︙ | |||
2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 | gridPtr->iPadX = 0; gridPtr->iPadY = 0; gridPtr->doubleBw = 2*Tk_Changes(tkwin)->border_width; gridPtr->abortPtr = NULL; gridPtr->flags = 0; gridPtr->sticky = 0; gridPtr->size = 0; gridPtr->masterDataPtr = NULL; Tcl_SetHashValue(hPtr, gridPtr); Tk_CreateEventHandler(tkwin, StructureNotifyMask, GridStructureProc, (ClientData) gridPtr); return gridPtr; } | > | 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 | gridPtr->iPadX = 0; gridPtr->iPadY = 0; gridPtr->doubleBw = 2*Tk_Changes(tkwin)->border_width; gridPtr->abortPtr = NULL; gridPtr->flags = 0; gridPtr->sticky = 0; gridPtr->size = 0; gridPtr->in = NULL; gridPtr->masterDataPtr = NULL; Tcl_SetHashValue(hPtr, gridPtr); Tk_CreateEventHandler(tkwin, StructureNotifyMask, GridStructureProc, (ClientData) gridPtr); return gridPtr; } |
︙ | ︙ | |||
2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 | ckfree((char *) gridPtr->masterDataPtr -> rowPtr); } if (gridPtr->masterDataPtr->columnPtr != NULL) { ckfree((char *) gridPtr->masterDataPtr -> columnPtr); } ckfree((char *) gridPtr->masterDataPtr); } ckfree((char *) gridPtr); } /* *---------------------------------------------------------------------- * * GridStructureProc -- | > > > | 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 | ckfree((char *) gridPtr->masterDataPtr -> rowPtr); } if (gridPtr->masterDataPtr->columnPtr != NULL) { ckfree((char *) gridPtr->masterDataPtr -> columnPtr); } ckfree((char *) gridPtr->masterDataPtr); } if (gridPtr->in != NULL) { Tcl_DecrRefCount(gridPtr->in); } ckfree((char *) gridPtr); } /* *---------------------------------------------------------------------- * * GridStructureProc -- |
︙ | ︙ | |||
2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 | /* * Check that windows are valid, and locate the first slave's * parent window (default for -in). */ if (TkGetWindowFromObj(interp, tkwin, objv[i], &slave) != TCL_OK) { return TCL_ERROR; } if (masterPtr == NULL) { parent = Tk_Parent(slave); if (parent != NULL) { masterPtr = GetGrid(parent); InitMasterData(masterPtr); } | > > > > > > > > > > > > > > > > | 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 | /* * Check that windows are valid, and locate the first slave's * parent window (default for -in). */ if (TkGetWindowFromObj(interp, tkwin, objv[i], &slave) != TCL_OK) { return TCL_ERROR; } if (masterPtr == NULL) { /* * Is there any saved -in from a removed slave? * If there is, it becomes default for -in. * If the stored master does not exist, just ignore it. */ struct Gridder *slavePtr = GetGrid(slave); if (slavePtr->in != NULL) { if (TkGetWindowFromObj(interp, slave, slavePtr->in, &parent) == TCL_OK) { masterPtr = GetGrid(parent); InitMasterData(masterPtr); } } } if (masterPtr == NULL) { parent = Tk_Parent(slave); if (parent != NULL) { masterPtr = GetGrid(parent); InitMasterData(masterPtr); } |
︙ | ︙ |
Changes to tests/grid.test.
︙ | ︙ | |||
1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 | } pack propagate . 1 ; wm geometry . {} set res } [list {37 20 225 150} {75 20 225 150} {75 60 225 150} {75 100 225 150} \ {37 100 225 150} {0 100 225 150} {0 60 225 150} {0 20 225 150} \ {37 60 225 150}] grid_reset 21.7 # cleanup cleanupTests return | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 | } pack propagate . 1 ; wm geometry . {} set res } [list {37 20 225 150} {75 20 225 150} {75 60 225 150} {75 100 225 150} \ {37 100 225 150} {0 100 225 150} {0 60 225 150} {0 20 225 150} \ {37 60 225 150}] grid_reset 21.7 test grid-22.1 {remove: basic argument checking} { list [catch {grid remove foo} msg] $msg } {1 {bad window path name "foo"}} test grid-22.2 {remove} { button .c grid [button .b] set a [grid slaves .] grid remove .b .c lappend a [grid slaves .] set a } {.b {}} grid_reset 22.2 test grid-22.3 {remove} { button .c grid .c -row 2 -column 2 -rowspan 2 -columnspan 2 -padx 3 -pady 4 -sticky ns grid remove .c grid .c -row 0 -column 0 grid info .c } {-in . -column 0 -row 0 -columnspan 2 -rowspan 2 -ipadx 0 -ipady 0 -padx 3 -pady 4 -sticky ns} grid_reset 22.3 test grid-22.3.1 {remove} { frame .a button .c grid .c -in .a -row 2 -column 2 -rowspan 2 -columnspan 2 -padx {3 5} -pady {4 7} -sticky ns grid remove .c grid .c -row 0 -column 0 grid info .c } {-in .a -column 0 -row 0 -columnspan 2 -rowspan 2 -ipadx 0 -ipady 0 -padx {3 5} -pady {4 7} -sticky ns} grid_reset 22.3.1 test grid-22.4 {remove, calling Tk_UnmaintainGeometry} { frame .f -bd 2 -relief raised place .f -x 10 -y 20 -width 200 -height 100 frame .f2 -width 50 -height 30 -bg red grid .f2 -in .f update set x [winfo ismapped .f2] grid remove .f2 place .f -x 30 update lappend x [winfo ismapped .f2] } {1 0} grid_reset 22.4 test grid-22.5 {remove} { frame .a button .c grid .c -in .a -row 2 -column 2 -rowspan 2 -columnspan 2 -padx {3 5} -pady {4 7} -sticky ns grid remove .c # If .a was destroyed while remembered by the removed .c, make sure it # is ignored. destroy .a grid .c -row 0 -column 0 grid info .c } {-in . -column 0 -row 0 -columnspan 2 -rowspan 2 -ipadx 0 -ipady 0 -padx {3 5} -pady {4 7} -sticky ns} grid_reset 22.5 # cleanup cleanupTests return |