On Sun, 28 Mar 2021 23:13:22 GMT, Marius Hanl
<[email protected]> wrote:
> This PR fixes an issue, where table cells are not removed from the table row
> when the corresponding table column got removed. This will lead to empty
> "ghost" cells laying around in the table.
> This bug only occurs, when a fixed cell size is set to the table.
>
> I also added 3 more tests beside the mandatory test, which tests my fix.
> 1 alternative test, which tests the same with no fixed cell size set.
> The other 2 tests are testing the same, but the table columns are set
> invisible instead.
>
> -> Either the removal or setVisible(false) of a column should both do the
> same: Remove the corresponding cells, so that there are no empty cells.
> Therefore, the additional tests make sure, that the other use cases (still)
> works and won't break in future (at least, without red tests ;)).
> See also: TableRowSkinBase#updateCells(boolean)
modules/javafx.controls/src/main/java/javafx/scene/control/skin/TableRowSkinBase.java
line 556:
> 554: }
> 555: getChildren().removeAll(toRemove);
> 556: } else if (resetChildren || cellsEmpty) {
just curious : any idea why fixedCellSize was special-cased here? Not to clean
them up sounds (and is) very much wrong, so there must have been a reason?
-------------
PR: https://git.openjdk.java.net/jfx/pull/444