Tk Source Code

Check-in [04cf797f]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:ttk::treeview('see' method): fix overscroll prevention [Bug 3530288]
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 04cf797f1e6c54a05a365c9591ae80a90590600c
User & Date: jenglish 2012-07-02 18:27:31
References
2020-04-19
09:28 Ticket [14188104] ttk::treeview vertical scrollbar not updating status still Open with 3 other changes artifact: 5c6215d9 user: cjmcdonald
2020-04-18
10:34 Ticket [14188104]: 3 changes artifact: 6ae0479d user: fvogel
10:12 Ticket [14188104]: 3 changes artifact: b28cc1ac user: fvogel
2020-04-16
11:30 New ticket [14188104]. artifact: 8dcf3bd5 user: cjmcdonald
Context
2012-07-04
12:54
[Bug 3540127]: filebox.test fails on win32 check-in: ded3d624 user: jan.nijtmans tags: trunk
2012-07-02
18:27
ttk::treeview('see' method): fix overscroll prevention [Bug 3530288] check-in: 04cf797f user: jenglish tags: trunk
18:22
ttk::treeview('see' method): fix overscroll prevention [Bug 3530288] check-in: a0aac73c user: jenglish tags: core-8-5-branch
17:45
ttk::*: Ensure that all tables passed to Tcl_GetIndexFromObj{Struct} are statically allocated. Caught by Michael Kirkham. check-in: 8cc4c440 user: jenglish tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/ttk/ttkTreeview.c.

2827
2828
2829
2830
2831
2832
2833

2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
	if (!(parent->state & TTK_STATE_OPEN)) {
	    parent->openObj = unshareObj(parent->openObj);
	    Tcl_SetBooleanObj(parent->openObj, 1);
	    parent->state |= TTK_STATE_OPEN;
	    TtkRedisplayWidget(&tv->core);
	}
    }


    /* Make sure item is visible:
     * @@@ DOUBLE-CHECK THIS:
     */
    rowNumber = RowNumber(tv, item);
    if (rowNumber < tv->tree.yscroll.first) {
	TtkScrollTo(tv->tree.yscrollHandle, rowNumber);
    } else if (rowNumber >= tv->tree.yscroll.last) {
	TtkScrollTo(tv->tree.yscrollHandle,
	    tv->tree.yscroll.first + (1+rowNumber - tv->tree.yscroll.last));







>


<







2827
2828
2829
2830
2831
2832
2833
2834
2835
2836

2837
2838
2839
2840
2841
2842
2843
	if (!(parent->state & TTK_STATE_OPEN)) {
	    parent->openObj = unshareObj(parent->openObj);
	    Tcl_SetBooleanObj(parent->openObj, 1);
	    parent->state |= TTK_STATE_OPEN;
	    TtkRedisplayWidget(&tv->core);
	}
    }
    tv->tree.yscroll.total = CountRows(tv->tree.root) - 1;

    /* Make sure item is visible:

     */
    rowNumber = RowNumber(tv, item);
    if (rowNumber < tv->tree.yscroll.first) {
	TtkScrollTo(tv->tree.yscrollHandle, rowNumber);
    } else if (rowNumber >= tv->tree.yscroll.last) {
	TtkScrollTo(tv->tree.yscrollHandle,
	    tv->tree.yscroll.first + (1+rowNumber - tv->tree.yscroll.last));