Tk Source Code

Check-in [a0aac73c]
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 | core-8-5-branch
Files: files | file ages | folders
SHA1: a0aac73cca39c9998ab3e9855fd1a2352e63b301
User & Date: jenglish 2012-07-02 18:22:26
Context
2012-07-04
12:33
Add various X11 stub functions, Cygwin only remove TkBindDeadWindow from Cygwin stub table [Bug 3540127]: filebox.test fails on win32 check-in: e8da45eb user: jan.nijtmans tags: core-8-5-branch
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:38
ttk::*: Ensure that all tables passed to Tcl_GetIndexFromObj{Struct} are statically allocated. Caught by Michael Kirkham. check-in: 21ebe479 user: jenglish tags: core-8-5-branch
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/ttk/ttkTreeview.c.

2828
2829
2830
2831
2832
2833
2834

2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
	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));







>


<







2828
2829
2830
2831
2832
2833
2834
2835
2836
2837

2838
2839
2840
2841
2842
2843
2844
	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));