From 39e332b38580baf6b91ee5e102a187cacbddb78d Mon Sep 17 00:00:00 2001
From: Alberto Debiasi <adebiasi@fbk.eu>
Date: Tue, 21 Jan 2020 17:11:47 +0100
Subject: [PATCH] Add FileDialog Utils

Change-Id: Iba11bd67482f68e2c4433082b4e8f33bbd4daf46
---
 .../chess/service/gui/utils/DialogUtils.java  | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/gui/utils/DialogUtils.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/gui/utils/DialogUtils.java
index 0a15ad058..e0766df0f 100644
--- a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/gui/utils/DialogUtils.java
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/gui/utils/DialogUtils.java
@@ -11,6 +11,7 @@
 package org.polarsys.chess.service.gui.utils;
 
 import org.eclipse.swt.widgets.DirectoryDialog;
+import org.eclipse.swt.widgets.FileDialog;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.PlatformUI;
 
@@ -49,4 +50,23 @@ public class DialogUtils {
 		return directoryName;
 	}
 	
+	public String getFileNameFromDialog() throws Exception {	
+		return getFileNameFromDialog("Select the file",null);
+	}
+
+	public String getFileNameFromDialog(String title, String filterExtension) throws Exception {
+		final Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
+
+		final FileDialog fileDialog = new FileDialog(shell);
+		fileDialog.setText(title);
+		fileDialog.setFilterPath(directoryUtils.getCurrentProjectDir());
+		if(filterExtension!=null){
+			String[] extensions = {filterExtension};
+			fileDialog.setFilterExtensions(extensions);
+		}
+		String directoryName = fileDialog.open();
+
+		return directoryName;
+	}
+	
 }
-- 
GitLab