On Fri, 22 Nov 2024 20:31:08 GMT, Marius Hanl <mh...@openjdk.org> wrote:

> This PR improves the `Tree-/TableRowSkin` code by doing a normal live lookup 
> for the `fixedCellSize` instead of adding listener just to update 
> variables(`fixedCellSizeEnabled` and `fixedCellSize`) which can otherwise be 
> also just lookup'd without the hassle of listeners.
> 
> While this is mostly a cleanup, it does improve the state of the 
> `Tree-/TableRow`, as when the `TableRowSkinBase` constructor is called, the 
> variables are not yet set.
> 
> It is also consistent with the other cells, see also 
> [JDK-8246745](https://bugs.openjdk.org/browse/JDK-8246745).
> Helps a bit with [JDK-8185887](https://bugs.openjdk.org/browse/JDK-8185887) 
> (https://github.com/openjdk/jfx/pull/1644), but as written above, not 
> required as there is no (visible) effect.

Tested with the Monkey Tester, both TreeTableView and TableView - looks good, 
responds to fixed cell size changes.

Left a few minor comments.

modules/javafx.controls/src/main/java/javafx/scene/control/skin/TableRowSkinBase.java
 line 323:

> 321: 
> 322:             boolean isVisible = true;
> 323:             if (getFixedCellSize() > 0) {

`getFixedCellSize()` is getting called four times, also inside the `for` loop.
I'd suggest to add

double fixedCellSize = getFixedCellSize();

before L318 (outside of the for loop) and use the local variable instead.

modules/javafx.controls/src/main/java/javafx/scene/control/skin/TableRowSkinBase.java
 line 432:

> 430:     }
> 431: 
> 432:     double getFixedCellSize() {

should this method be `abstract`?

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

PR Review: https://git.openjdk.org/jfx/pull/1645#pullrequestreview-2479255931
PR Review Comment: https://git.openjdk.org/jfx/pull/1645#discussion_r1869884280
PR Review Comment: https://git.openjdk.org/jfx/pull/1645#discussion_r1869886562

Reply via email to