This PR fixes a problem, where the layout is broken when a `(Tree)TableRow` has padding. As also mentioned in the ticket, the `layoutChildren` method in `TableRowSkinBase` is implemented wrong.
The `layoutChildren` method is responsible for layouting all the `(Tree)TableCells`. When the row has padding, it is subtracted on every `(Tree)TableCell` - which is wrong. Instead the `x` and `y` from `layoutChildren` should be used. (E.g. if `x` is 10, then only the first cell should start at 10 and the other cells follow as usual) Also the `compute...` methods needs to add the padding as well. **Example:** _Row padding left right 0:_ [Cell1][Cell2][Cell3] _Row padding left right 10:_ [ 10 ][Cell1][Cell2][Cell3][ 10 ] _Same for top bottom._ When a `fixedCellSize` is set, the padding is currently ignored (also after this PR). Therefore, `y` in the `layoutChildren` method is set to 0 for `fixedCellSize`. This may can be discussed in the mailing list (Could be a follow up). To support padding also when a `fixedCellSize` is set, the `compute...` methods needs to also add the padding when a `fixedCellSize` is set (in the `if` clauses) and the `VirtualFlow` needs to add the padding to every row instead of using the `fixedCellSize` directly. ------------- Commit messages: - 8218826: fixed horizontal layout broken if row has padding Changes: https://git.openjdk.java.net/jfx/pull/800/files Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=800&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8218826 Stats: 439 lines in 3 files changed: 417 ins; 10 del; 12 mod Patch: https://git.openjdk.java.net/jfx/pull/800.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/800/head:pull/800 PR: https://git.openjdk.java.net/jfx/pull/800