diff --git a/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/.ratings b/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/.ratings index 88368aa49edb5931f4db607746624e05b1c55fa8..de9d0fbc4fec47c0e42d4b80313b484d5f99068e 100644 --- a/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/.ratings +++ b/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/.ratings @@ -5,7 +5,7 @@ DynamicTextFieldTreeTableCell.java de24117e6f785b328f1ff62383626a0b4b54e8ff GREE DynamicTreeContentProviderBase.java 91896b1fb5104d126544c44c1ff8c30f2a13a8d6 GREEN DynamicTreeItem.java 7486071d20e896d6ca9a9101bf105caccf3656d0 GREEN DynamicTreeItemBase.java d883066ecc181120302ca32f328538de7a45b093 GREEN -DynamicTreeTableUIProviderBase.java 7c534d8567fb88159977765cb7b6f60c21f1ab48 YELLOW +DynamicTreeTableUIProviderBase.java 5bc7f6a74e379baa525f5d3420a95e558cbcbe90 YELLOW DynamicTreeTableViewer.java ead6f6671e9cb6b14632940bf440cba7e81fcd98 GREEN DynamicTreeUIProviderBase.java 82d3c051213f0147f4c67ad247a08696cee73110 GREEN DynamicTreeViewer.java 545f1ca10b7b3cad171b294a4b447875da45c9ed GREEN diff --git a/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/DynamicTreeTableUIProviderBase.java b/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/DynamicTreeTableUIProviderBase.java index 7c534d8567fb88159977765cb7b6f60c21f1ab48..5bc7f6a74e379baa525f5d3420a95e558cbcbe90 100644 --- a/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/DynamicTreeTableUIProviderBase.java +++ b/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/DynamicTreeTableUIProviderBase.java @@ -48,6 +48,11 @@ import javafx.util.converter.DefaultStringConverter; */ public abstract class DynamicTreeTableUIProviderBase<T> { /** + * Retrieves the label to be displayed in the given position. + * + * Note: An empty cell can only be editable, if an empty String is returned here instead of + * 'null'. + * * @param element * the element to be displayed in the current row * @param column @@ -347,9 +352,20 @@ public abstract class DynamicTreeTableUIProviderBase<T> { @Override public void updateItem(String item, boolean empty) { super.updateItem(item, empty); + styleCell(this, columnIndex); + } + + /** {@inheritDoc} */ + @Override + public void startEdit() { + // null items are in cells, which cannot contain a value. Otherwise they + // would contain an empty String. + if(getItem() == null) { + return; + } - setEditable(item != null); + super.startEdit(); } }; @@ -380,7 +396,7 @@ public abstract class DynamicTreeTableUIProviderBase<T> { /** {@inheritDoc} */ @Override public void startEdit() { - if(!isEditable() || !getTreeTableView().isEditable() || + if(getItem() == null || !isEditable() || !getTreeTableView().isEditable() || !getTableColumn().isEditable()) { return; }