From 5b1591f3b2cb1468edd894ab1bc150e68705d3db Mon Sep 17 00:00:00 2001
From: Simon Barner <barner@fortiss.org>
Date: Fri, 29 Sep 2023 10:25:19 +0200
Subject: [PATCH] Add selectValues() and clearSelection()

Issue-Ref: 4322
Issue-URL: https://git.fortiss.org/af3/af3/-/issues/4322

Signed-off-by: Simon Barner <barner@fortiss.org>
---
 .../common/ui/javafx/control/treetableview/.ratings    |  2 +-
 .../control/treetableview/DynamicTreeTableViewer.java  | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

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 bb4bdf30c..d5d70a079 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
@@ -6,7 +6,7 @@ DynamicTreeContentProviderBase.java 91896b1fb5104d126544c44c1ff8c30f2a13a8d6 GRE
 DynamicTreeItem.java 7e81ea98038b5eca90df583e0268d4e8f37aaf25 GREEN
 DynamicTreeItemBase.java d883066ecc181120302ca32f328538de7a45b093 GREEN
 DynamicTreeTableUIProviderBase.java c52a1f9598de25874f83c133a8cbbcddc86442e9 GREEN
-DynamicTreeTableViewer.java 77e9995a3bee37d57578dad9434a53c702128efa YELLOW
+DynamicTreeTableViewer.java 6e1fcc7a45076d741b80c3a5642a5c688fc651a6 YELLOW
 DynamicTreeUIProviderBase.java 6c186ade3aba51037303ed7a4ad812399bd70c56 YELLOW
 DynamicTreeViewer.java b0d8cc4b3e11aa970446af12d1e54c750713b297 YELLOW
 DynamicTreeViewerBase.java a2013538b62d86f6a09efdf2cd78babac2072484 GREEN
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 77e9995a3..6e1fcc7a4 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
@@ -210,6 +210,16 @@ public final class DynamicTreeTableViewer<T> extends DynamicTreeViewerBase<T> {
 		view.scrollTo(count);
 	}
 
+	/** Clears the current selection. */
+	public void clearSelection() {
+		view.getSelectionModel().clearSelection();
+	}
+
+	/** Selects the items referencing the provided values (a previous selection is NOT cleared). */
+	public void selectValues(List<T> values) {
+		selectValues(view.getRoot(), values);
+	}
+
 	/** Selects the given values in item's subtree */
 	private void selectValues(TreeItem<T> item, List<T> values) {
 		if(values.contains(item.getValue())) {
-- 
GitLab