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 | trunk |
Files: | files | file ages | folders |
SHA1: |
f3efdba8d6ea8ed8a181619ae249255d |
User & Date: | pspjuth 2011-04-04 22:08:44 |
Context
2011-04-06
| ||
13:11 | Make symbols "main" and "Tcl_AppInit" MODULE_SCOPE: there is absolutely no reason for exporting them. check-in: d4cade2c user: jan.nijtmans tags: trunk | |
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 | |
20:19 | * win/tkWinDialog.c (FontchooserShowCmd): Change the CHOOSEFONT and LOGFONT used with sizeof to CHOOSEFONTA and LOGFONTA to match their local variable declarations (i.e. mismatch with -DUNICODE). This code is not present in 8.4 or 8.5. check-in: 462d7b56 user: mistachkin tags: trunk | |
Changes
Changes to ChangeLog.
1 2 3 4 5 6 7 | 2011-04-04 Joe Mistachkin <[email protected]> * win/tkWinDialog.c (FontchooserShowCmd): Change the CHOOSEFONT and LOGFONT used with sizeof to CHOOSEFONTA and LOGFONTA to match their local variable declarations (i.e. mismatch with -DUNICODE). This code is not present in 8.4 or 8.5. | > > > > > > | 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 Joe Mistachkin <[email protected]> * win/tkWinDialog.c (FontchooserShowCmd): Change the CHOOSEFONT and LOGFONT used with sizeof to CHOOSEFONTA and LOGFONTA to match their local variable declarations (i.e. mismatch with -DUNICODE). This code is not present in 8.4 or 8.5. |
︙ | ︙ |
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: |
︙ | ︙ | |||
653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 | 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, slavePtr); } slavePtr->flags = 0; slavePtr->sticky = 0; } Tk_ManageGeometry(slave, NULL, NULL); if (slavePtr->masterPtr->tkwin != Tk_Parent(slavePtr->tkwin)) { Tk_UnmaintainGeometry(slavePtr->tkwin, slavePtr->masterPtr->tkwin); } Unlink(slavePtr); | > > > > > > > > > > > > > > > > > > > | 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 690 691 692 | 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, 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, NULL); if (slavePtr->masterPtr->tkwin != Tk_Parent(slavePtr->tkwin)) { Tk_UnmaintainGeometry(slavePtr->tkwin, slavePtr->masterPtr->tkwin); } Unlink(slavePtr); |
︙ | ︙ | |||
2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 | 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, gridPtr); return gridPtr; } | > | 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 | 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, gridPtr); return gridPtr; } |
︙ | ︙ | |||
2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 | ckfree(gridPtr->masterDataPtr -> rowPtr); } if (gridPtr->masterDataPtr->columnPtr != NULL) { ckfree(gridPtr->masterDataPtr -> columnPtr); } ckfree(gridPtr->masterDataPtr); } ckfree(gridPtr); } /* *---------------------------------------------------------------------- * * GridStructureProc -- | > > > | 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 | ckfree(gridPtr->masterDataPtr -> rowPtr); } if (gridPtr->masterDataPtr->columnPtr != NULL) { ckfree(gridPtr->masterDataPtr -> columnPtr); } ckfree(gridPtr->masterDataPtr); } if (gridPtr->in != NULL) { Tcl_DecrRefCount(gridPtr->in); } ckfree(gridPtr); } /* *---------------------------------------------------------------------- * * GridStructureProc -- |
︙ | ︙ | |||
2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 | /* * 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); } | > > > > > > > > > > > > > > > > | 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 | /* * 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.
︙ | ︙ | |||
2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 | pack propagate . 1 ; wm geometry . {} set res } -cleanup { grid_reset 21.7 } -result [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}] # cleanup cleanupTests return | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 | pack propagate . 1 ; wm geometry . {} set res } -cleanup { grid_reset 21.7 } -result [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}] 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 |