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