blob: 7ca6fb14eeeb5473a4f80ca56f205057846cecf7 [file] [log] [blame]
/*******************************************************************************
* Copyright (C) 2017 Fondazione Bruno Kessler.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* Alberto Debiasi - initial API and implementation
******************************************************************************/
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;
import eu.fbk.eclipse.standardtools.utils.ui.utils.DirectoryUtil;
/**
*
*
*/
public class DialogUtils {
private DirectoryUtil directoryUtils = DirectoryUtil.getInstance();
private static DialogUtils exportDialogUtils;
public static DialogUtils getInstance() {
if (exportDialogUtils == null) {
exportDialogUtils = new DialogUtils();
}
return exportDialogUtils;
}
public String getDirectoryNameFromDialog() throws Exception {
return getDirectoryNameFromDialog("Select the directory");
}
public String getDirectoryNameFromDialog(String title) throws Exception {
final Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
final DirectoryDialog directoryDialog = new DirectoryDialog(shell);
directoryDialog.setText(title);
directoryDialog.setFilterPath(directoryUtils.getCurrentProjectDir());
String directoryName = directoryDialog.open();
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;
}
}