> 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
Marius Hanl has updated the pull request incrementally with one additional commit since the last revision: Separated test and made the cell a supplier instead ------------- Changes: - all: https://git.openjdk.java.net/jfx/pull/569/files - new: https://git.openjdk.java.net/jfx/pull/569/files/19da9109..fa89fccd Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jfx&pr=569&range=03 - incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=569&range=02-03 Stats: 78 lines in 4 files changed: 28 ins; 5 del; 45 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