From e96732a1580baa9dd942476cfad5229fbfbcb44d Mon Sep 17 00:00:00 2001
From: Alexander Diewald <diewald@fortiss.org>
Date: Tue, 5 Jun 2018 18:24:47 +0200
Subject: [PATCH] JavaFX: FXML-enable DynamicTreeTableViewers.

* Create an additional constructor that allows passing a TreeTableView,
  which has been constructed/injected beforehand. It is a requirement
  to use this simplification in combination with FXML.

Issue-Ref: 3209
Issue-Url: https://af3-developer.fortiss.org/issues/3209
Signed-off-by: Alexander Diewald <diewald@fortiss.org>
---
 .../common/ui/javafx/control/treetableview/.ratings   |  2 +-
 .../control/treetableview/DynamicTreeTableViewer.java | 11 +++++++++--
 2 files changed, 10 insertions(+), 3 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 486249c05..5b4229148 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,7 +1,7 @@
 DynamicTreeContentProviderBase.java dff437afeaf7486af05460fa54eca4fa61d7eae6 YELLOW
 DynamicTreeItem.java afc105cf5acf3d2506d89e0892555100c234ce5b YELLOW
 DynamicTreeTableUIProviderBase.java fd9fce19a65eb1006ceacb0d869bbe90a8c578b3 YELLOW
-DynamicTreeTableViewer.java 22bd5e5b13b959807596fff5b4024b3383737103 YELLOW
+DynamicTreeTableViewer.java e474f3a890fd6525db7de8e299d7fbe67f932a15 YELLOW
 DynamicTreeUIProviderBase.java 56fe4df4577b35f1e5e6e4c4be189b706c852d52 YELLOW
 DynamicTreeViewer.java d5b9f87862d9c42327c46bce02fb34d64673d413 YELLOW
 DynamicTreeViewerBase.java 47124c847de322a0ae26eb7a114f85ce4bd02d7e YELLOW
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 22bd5e5b1..e474f3a89 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
@@ -41,13 +41,13 @@ public final class DynamicTreeTableViewer<T> extends DynamicTreeViewerBase<T> {
 	private final DynamicTreeTableUIProviderBase uiProvider;
 
 	/** Constructor. */
-	public DynamicTreeTableViewer(T root, boolean showRoot, int revealLevel,
+	public DynamicTreeTableViewer(TreeTableView<T> view, T root, boolean showRoot, int revealLevel,
 			DynamicTreeContentProviderBase<T> contentProvider,
 			DynamicTreeTableUIProviderBase uiProvider) {
 		super(contentProvider);
 		this.uiProvider = uiProvider;
 		// construct view
-		this.view = new TreeTableView<T>();
+		this.view = view;
 		DynamicTreeItem<T> rootItem = new DynamicTreeItem<T>(root, this);
 		view.setRoot(rootItem);
 		view.setShowRoot(showRoot);
@@ -56,6 +56,13 @@ public final class DynamicTreeTableViewer<T> extends DynamicTreeViewerBase<T> {
 		expandItem(rootItem, showRoot ? revealLevel : revealLevel + 1);
 	}
 
+	/** Constructor. */
+	public DynamicTreeTableViewer(T root, boolean showRoot, int revealLevel,
+			DynamicTreeContentProviderBase<T> contentProvider,
+			DynamicTreeTableUIProviderBase uiProvider) {
+		this(new TreeTableView<T>(), root, showRoot, revealLevel, contentProvider, uiProvider);
+	}
+
 	/** Updates the viewer content. */
 	public void update() {
 		// wild cast works: see constructor
-- 
GitLab