RFR: 8188026: TextFieldXXCell: NPE on calling startEdit
Marius Hanl
mhanl at openjdk.java.net
Wed Jul 7 22:40:06 UTC 2021
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
More information about the openjfx-dev
mailing list