1 package org.simantics.utils.ui.widgets;
\r
5 import org.eclipse.swt.SWT;
\r
6 import org.eclipse.swt.widgets.Composite;
\r
7 import org.eclipse.swt.widgets.FileDialog;
\r
9 public class FileSelectionWidget extends FileOrDirectorySelectionWidget {
\r
12 String[] filterExtensions = new String[]{"*.*"};
\r
13 String[] filterNames = new String[]{"All files"};
\r
14 int style = SWT.OPEN;
\r
16 public FileSelectionWidget(Composite parent, String name, int style) {
\r
17 super(parent, name, style&~(SWT.OPEN|SWT.CLOSE));
\r
18 this.style = style & (SWT.OPEN|SWT.CLOSE|SWT.MULTI);
\r
22 protected String[] openDialog() {
\r
23 FileDialog dialog = new FileDialog(getShell(),style);
\r
24 dialog.setFilterExtensions(getFilterExtensions());
\r
25 dialog.setFilterNames(getFilterNames());
\r
26 String filename = dialog.open();
\r
27 if (filename == null)
\r
29 String path = dialog.getFilterPath();
\r
30 String names[] = dialog.getFileNames();
\r
31 String fullpath[] = new String[names.length];
\r
32 for (int i = 0; i < names.length; i++) {
\r
33 fullpath[i] = path + File.separator + names[i];
\r
39 protected boolean isValid(File file) {
\r
40 boolean accept = file.exists() && file.canRead();
\r
44 public String[] getFilterExtensions() {
\r
45 return filterExtensions;
\r
48 public String[] getFilterNames() {
\r
52 public void setFilterExtensions(String[] filterExtensions) {
\r
53 this.filterExtensions = filterExtensions;
\r
56 public void setFilterNames(String[] filterNames) {
\r
57 this.filterNames = filterNames;
\r