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 309b0cac9c7d481fd872d8d0966eb187948bca9c..66176f20e9b306134cde49b0d98e18c43fe63ac1 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 @@ -1,6 +1,6 @@ DynamicTreeContentProviderBase.java 6760a6dc5721175b1dada8f30fd9da05f7bcc4b3 GREEN DynamicTreeItem.java 75dc5534b119ffdb3c10a65810c2a0f330b7955e GREEN -DynamicTreeTableUIProviderBase.java 4fbc6171f3e95900678d7c2baea680e91fcc5be1 YELLOW +DynamicTreeTableUIProviderBase.java f4fd20e3d267bc39a33a3bbb18416312779ea886 YELLOW DynamicTreeTableViewer.java 431ac62cbd6ad7df25852fce1b5a62a05ba510e3 GREEN DynamicTreeUIProviderBase.java e9b68607683de279d0cb8712a28dc131c5c33ece GREEN DynamicTreeViewer.java e9f19d16a2a7e5a1b03b8a8b543453ac7eb6a051 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 4fbc6171f3e95900678d7c2baea680e91fcc5be1..f4fd20e3d267bc39a33a3bbb18416312779ea886 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 @@ -167,10 +167,14 @@ public abstract class DynamicTreeTableUIProviderBase<T> { /** {@inheritDoc} */ @Override public void startEdit() { + if(!isEditable() || !getTreeTableView().isEditable() || + !getTableColumn().isEditable()) { + return; + } super.startEdit(); // the following code uses implementation details of // CellUtils.startEdit(...) and CellUtils.createTextfield(...) - TextField tf = (TextField)getGraphic(); // CellUtil:228 + TextField tf = (TextField)getGraphic(); // CellUtils:228 tf.setOnKeyReleased(t -> { DynamicTreeTableUIProviderBase<T>.MyTextFieldTreeTableCell mythis = MyTextFieldTreeTableCell.this; @@ -183,6 +187,26 @@ public abstract class DynamicTreeTableUIProviderBase<T> { } }); } + + /** {@inheritDoc} */ + @Override + public void cancelEdit() { + super.cancelEdit(); + T item = getTreeTableRow().getItem(); + validateOnCancelEdit(columnIndex, item); + } + } + + /** + * Called when editing a cell was canceled. + * + * @param colIndex + * the index of the column + * @param item + * the row item + */ + public void validateOnCancelEdit(int colIndex, T item) { + // nothing to do } /**