From d3b03148809c0c32bd76447b078b5a70dfa31bf9 Mon Sep 17 00:00:00 2001
From: Alexander Diewald <diewald@fortiss.org>
Date: Tue, 8 Sep 2020 15:34:28 +0200
Subject: [PATCH] DSE.UI JFX: Trees(Tables) commit if focus lost, CR adressed

Issue-Ref: 3541
Issue-Url: https://af3-developer.fortiss.org/issues/3541
Signed-off-by: Alexander Diewald <diewald@fortiss.org>
---
 .../common/ui/javafx/control/treetableview/.ratings |  4 ++--
 .../DynamicTreeTableUIProviderBase.java             | 11 +++++++++++
 .../treetableview/DynamicTreeTableViewer.java       | 13 -------------
 3 files changed, 13 insertions(+), 15 deletions(-)

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 f38d826ac..75cf85275 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
@@ -4,8 +4,8 @@ DynamicStreamContentProvider.java f46e91400609cba54793dd240be0fe2aa0d5cced GREEN
 DynamicTreeContentProviderBase.java 0f6e0a6894752d135847608bc45efa504972bb28 GREEN
 DynamicTreeItem.java 7486071d20e896d6ca9a9101bf105caccf3656d0 GREEN
 DynamicTreeItemBase.java d883066ecc181120302ca32f328538de7a45b093 GREEN
-DynamicTreeTableUIProviderBase.java f78c0f8b52fbc939166b3f94f7f6006cc0f4d32b GREEN
-DynamicTreeTableViewer.java db08e6b04250afd44c08fe653c00fc0d5ce4f478 RED
+DynamicTreeTableUIProviderBase.java 94d94d2e6ca1944a0fa166bb49e040b278979686 YELLOW
+DynamicTreeTableViewer.java b770019f7eae4cb18b4c96dc015f6806c6148322 YELLOW
 DynamicTreeUIProviderBase.java e9b68607683de279d0cb8712a28dc131c5c33ece GREEN
 DynamicTreeViewer.java 8c20c0941bd299afce1cf237c8e29e21821c2631 GREEN
 DynamicTreeViewerBase.java a2013538b62d86f6a09efdf2cd78babac2072484 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 f78c0f8b5..94d94d2e6 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
@@ -249,6 +249,17 @@ public abstract class DynamicTreeTableUIProviderBase<T> {
 					validateOnKeyReleased(t, columnIndex, item, tf.getText());
 				}
 			});
+			tf.focusedProperty().addListener(new ChangeListener<Boolean>() {
+				// If the focus is lost (user clicking elsewhere), the currently entered value is
+				// committed.
+				@Override
+				public void changed(ObservableValue<? extends Boolean> val, Boolean oldVal,
+						Boolean newVal) {
+					if(!newVal) {
+						commitEdit(tf.getText());
+					}
+				}
+			});
 		}
 
 		/** {@inheritDoc} */
diff --git a/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/DynamicTreeTableViewer.java b/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/DynamicTreeTableViewer.java
index db08e6b04..b770019f7 100644
--- a/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/DynamicTreeTableViewer.java
+++ b/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/DynamicTreeTableViewer.java
@@ -205,19 +205,6 @@ public final class DynamicTreeTableViewer<T> extends DynamicTreeViewerBase<T> {
 		return column;
 	}
 
-	// TODO (SB): Remove this deprecated method since it is only referenced in the "DSE playground"?
-	/**
-	 * Adds a column to the table part of the view. The labels, context menus and icons are shown as
-	 * defined in the {@link DynamicTreeTableUIProviderBase}.
-	 * 
-	 * @deprecated use {@link DynamicTreeTableUIProviderBase}
-	 */
-	@Deprecated
-	public TreeTableColumn<T, String> addColumn(String headerLabel, int prefWidth,
-			@SuppressWarnings("unused") boolean readOnly) {
-		return addColumn(headerLabel, prefWidth);
-	}
-
 	/** Returns the underlying {@link TreeTableView}. */
 	public TreeTableView<T> getControl() {
 		return view;
-- 
GitLab