This PR sets an unified logic to every **startEdit()** method of all Cell
implementations.
So startEdit() is always doing the same now:
`super.startEdit();`
`if (!isEditing()) {
return;
}`
This will prevent a NPE while also being cleaner (no more double checks)
The commits are splitted into 4 base commits:
- First commit changes the startEdit() for TableCell implementations (8 files)
- Second commit changes the startEdit() for TreeTableCell implementations (7
files)
- Third commit changes the startEdit() for ListCell implementations (7 files)
- Fourth commit changes the startEdit() for TreeCell implementations (7 files)
While writing tests, I found out that the CheckBoxListCell and the
CheckBoxTreeCell don't disable their CheckBox, which is wrong.
In CheckBoxTableCell and CheckBoxTreeTableCell the CheckBox is disabled, but
they don't check their dependencies e.g. TableColumn for null, leading to a NPE
if not set.
I wrote a follow-up and assigned it to myself:
https://bugs.openjdk.java.net/browse/JDK-8270042
The aim of this should be, that all 4 CheckBox...Cells have a proper CheckBox
disablement while also being nullsafe.
Note 1: I removed the tests in TableCellTest added in
https://github.com/openjdk/jfx/pull/529 in favor of the new parameterized
TableCellStartEditTest
Note 2: This also fixes https://bugs.openjdk.java.net/browse/JDK-8268295
-------------
Commit messages:
- Merge remote-tracking branch 'openjfx/master' into 8188026-cell-editing
- 8188026: Test clean up + added ignored test case
- 8188026: Implemented for TreeCell
- 8188026: Implemented for ListCell
- 8188026: Implemented for TreeTableCell
- 8188026: Implemented for TableCell
Changes: https://git.openjdk.java.net/jfx/pull/569/files
Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=569&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8188026
Stats: 966 lines in 29 files changed: 572 ins; 334 del; 60 mod
Patch: https://git.openjdk.java.net/jfx/pull/569.diff
Fetch: git fetch https://git.openjdk.java.net/jfx pull/569/head:pull/569
PR: https://git.openjdk.java.net/jfx/pull/569