On Thu, 23 May 2024 12:56:22 GMT, Marius Hanl <mh...@openjdk.org> wrote:

>> This PR fixes the border glitch/gap as explained in both linked tickets.
>> 
>> I noted that the `ScrollPane` control does not suffer from this problem, 
>> although the code is mostly the same as in `VirtualFlow`. The `ScrollPane` 
>> snaps the content correctly, no matter which scale. I carefully checked the 
>> code and it seems that the container structure in `ScrollPane` was 
>> explicitly written to handle this perfectly. There was definitely some 
>> thought on that.
>> 
>> So to finally fix this issue, I rewrote the `VirtualFlow` 
>> container/scrolling code to be **exactly** the same as in `ScrollPane`(Skin).
>> And this also fixes the issue, while behaving the same as before.
>> 
>> In the future it may makes sense to try to somewhat unify the code from 
>> `ScrollPane` and `VirtualFlow`. I already have some ideas.
>> 
>> Unfortunately though, one more container is introduced to `VirtualFlow`, so 
>> the css needs to be changed since it is very strictly written in the first 
>> place:
>> Before: `.list-view:focused > .virtual-flow > .clipped-container > .sheet > 
>> .list-cell`
>> After: `.list-view:focused > .virtual-flow > .viewport > .clipped-container 
>> > .sheet > .list-cell`
>> 
>> To better understand this, the container structure (tree) is shown below:
>> 
>> - ScrollPane
>>   - viewRect ->  `setClip` -> clipRect (viewContent size)
>>     - viewContent -> `setLayoutX`
>>       - Content
>>   - vsb
>>   - hsb
>>   - corner
>> 
>> ---
>> - VirtualFlow
>>   - viewRect **(->NEW IN THIS PR<-)** -> `setClip` -> clipRect 
>> (clippedContainer size)
>>     - clippedContainer/clipView -> `setLayoutX` (when scrolling)
>>       - sheet
>>         - Cell
>>   - vsb
>>   - hsb
>>   - corner
>
> Marius Hanl has updated the pull request with a new target base due to a 
> merge or a rebase. The pull request now contains two commits:
> 
>  - Merge branch 'master' of https://github.com/openjdk/jfx into 
> 8218745-snapping-x-y-tableview-scroll-3
>    
>    # Conflicts:
>    #  
> modules/javafx.controls/src/test/java/test/javafx/scene/control/TableViewTest.java
>    #  
> modules/javafx.controls/src/test/java/test/javafx/scene/control/TreeTableViewTest.java
>  - JDK-8218745: TableView: visual glitch at borders on horizontal scrolling

should this PR be closed in favor of #1462 ?

-------------

PR Comment: https://git.openjdk.org/jfx/pull/1330#issuecomment-2142725435

Reply via email to