Project

General

Profile

Bug #6774

WTreeView::scrollTo() and more...

Added by Thomas Frank about 4 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Target version:
Start date:
11/28/2018
Due date:
% Done:

0%

Estimated time:

Description

The documentation of WTreeView says that 'EnsureVisible' provides minimal scrolling, but WTreeView::scrollTo() does exactly the opposite (scrolling 'toTop' if desired entry is below the bottom visible entry and vice versa). In addition there is some wrong calculation in getIndexRow() leading to wrong viewport adjustment in scrollTo().

Attached you will find a version of WTreeView.C (based on release 4.0.4) which fixes these issues. Watch out for comments starting with 'TF :'.

I'm still busy hunting down some other bugs in TreeView.C, which lead to wrong calculations of the '_viewport' and constant display of 'loading...' in the browser, especially when scrolling through large trees. This is with and without the attached fixes.


Files

WTreeView.C (78.1 KB) WTreeView.C Thomas Frank, 11/28/2018 04:32 PM
WTreeView.C (78.3 KB) WTreeView.C Thomas Frank, 11/29/2018 01:55 PM
WTreeView.C (78.9 KB) WTreeView.C Thomas Frank, 11/29/2018 03:06 PM
issue_6774.patch (5.39 KB) issue_6774.patch Roel Standaert, 02/03/2020 06:20 PM
#1

Updated by Thomas Frank about 4 years ago

Slight correction to WTreeView::scrollTo() in respect to partially visible rows.

#2

Updated by Thomas Frank about 4 years ago

Just found out, that the latest version of WTreeView.C at github fixes all the 'loading...'-issues! Great!!

I incorporated the fixed versions of WTreeView::scrollTo() and WTreeView::getIndexRow() into the latest WTreeView.C from github.

I know that this is now the 3rd attached version, but I hope that these fixes will make it into the next version anyway...

#3

Updated by Roel Standaert almost 4 years ago

  • Target version changed from 4.0.5 to 4.1.0

Sorry for bumping this issue to the next version, but we'd already promised we would do a Wt 4.0.5 release this month and we were running out of time.

#4

Updated by Koen Deforche almost 3 years ago

  • Status changed from New to InProgress
  • Assignee set to Roel Standaert
#5

Updated by Roel Standaert almost 3 years ago

  • Target version changed from 4.1.0 to 4.2.1
#6

Updated by Roel Standaert almost 3 years ago

I turned this into a patch, since that is a bit easier to digest.

#7

Updated by Roel Standaert almost 3 years ago

  • Target version changed from 4.2.1 to 4.3.0
#8

Updated by Roel Standaert over 2 years ago

  • Status changed from InProgress to Resolved

It took me a little while to review these fixes. I can finally conclude that they indeed look correct. I pushed the fixes.

#9

Updated by Roel Standaert over 2 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF