RFR: 8186188: TableColumHeader: initial auto-size broken if has graphic [v7]

Andy Goryachev angorya at openjdk.org
Thu Apr 11 21:38:47 UTC 2024


On Wed, 27 Mar 2024 23:20:49 GMT, Marius Hanl <mhanl at openjdk.org> wrote:

>> This PR fixes the issue that the initial column autosizing is wrong under some circumstances.
>> The following things will break the initial autosizing:
>> - Bold Column text (that is where I initially found this problem)
>> - Another font / font size
>> - Graphic
>> - Graphic Content Display (which can be styled via CSS)
>> 
>> The reason is actually quite simple: The CSS is not (yet) applied initially, we therefore ALWAYS take the default font into account + the graphic is not yet layouted as well.
>> 
>> ~It was not so easy to write tests for this, also for me the `test_resizeColumnToFitContentHeader` is always failing locally. I don't know what happens here, but he seems to not find a (Stub?) `Font` for me.~
>> **EDIT: Found out the cause and fixed it. I will check if I can write more tests since it works now. :)**
>> 
>> The test I wrote now is checking if the css is applied after we triggered the autosize, which is what we would expect here since we measure text.
>> 
>> I also copied the `TableColumnHeaderTest` and rewrote the tests for `TreeTableView` as well, so we can catch any errors here as well since they both use different code (although it is technically the same - C&P errors can happen very easy).
>
> Marius Hanl has updated the pull request incrementally with one additional commit since the last revision:
> 
>   use snapped insets

Works as expected with the code in the ticket, no issues found with the monkey tester.
Thanks!

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

Marked as reviewed by angorya (Reviewer).

PR Review: https://git.openjdk.org/jfx/pull/1405#pullrequestreview-1995527604


More information about the openjfx-dev mailing list