X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.utils.ui%2Fsrc%2Forg%2Fsimantics%2Futils%2Fui%2Fwidgets%2FFileSelectionWidget.java;h=ef385ba0a425dc2fd2b2328e3311f023852aa89e;hp=5e35d37d3535cb57d7e6fcc6da9226870576a906;hb=HEAD;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/widgets/FileSelectionWidget.java b/bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/widgets/FileSelectionWidget.java index 5e35d37d3..ef385ba0a 100644 --- a/bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/widgets/FileSelectionWidget.java +++ b/bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/widgets/FileSelectionWidget.java @@ -1,61 +1,63 @@ -package org.simantics.utils.ui.widgets; - -import java.io.File; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.FileDialog; - -public class FileSelectionWidget extends FileOrDirectorySelectionWidget { - - - String[] filterExtensions = new String[]{"*.*"}; - String[] filterNames = new String[]{"All files"}; - int style = SWT.OPEN; - - public FileSelectionWidget(Composite parent, String name, int style) { - super(parent, name, style&~(SWT.OPEN|SWT.CLOSE)); - this.style = style & (SWT.OPEN|SWT.CLOSE|SWT.MULTI); - } - - @Override - protected String[] openDialog() { - FileDialog dialog = new FileDialog(getShell(),style); - dialog.setFilterExtensions(getFilterExtensions()); - dialog.setFilterNames(getFilterNames()); - String filename = dialog.open(); - if (filename == null) - return null; - String path = dialog.getFilterPath(); - String names[] = dialog.getFileNames(); - String fullpath[] = new String[names.length]; - for (int i = 0; i < names.length; i++) { - fullpath[i] = path + File.separator + names[i]; - } - return fullpath; - } - - @Override - protected boolean isValid(File file) { - boolean accept = file.exists() && file.canRead(); - return accept; - } - - public String[] getFilterExtensions() { - return filterExtensions; - } - - public String[] getFilterNames() { - return filterNames; - } - - public void setFilterExtensions(String[] filterExtensions) { - this.filterExtensions = filterExtensions; - } - - public void setFilterNames(String[] filterNames) { - this.filterNames = filterNames; - } - - -} +package org.simantics.utils.ui.widgets; + +import java.io.File; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.FileDialog; + +public class FileSelectionWidget extends FileOrDirectorySelectionWidget { + + + String[] filterExtensions = new String[]{"*.*"}; + String[] filterNames = new String[]{"All files"}; + int style = SWT.OPEN; + + public FileSelectionWidget(Composite parent, String name, int style) { + super(parent, name, style&~(SWT.OPEN|SWT.CLOSE)); + this.style = style & (SWT.OPEN|SWT.CLOSE|SWT.MULTI); + } + + @Override + protected String[] openDialog() { + FileDialog dialog = new FileDialog(getShell(),style); + dialog.setFilterExtensions(getFilterExtensions()); + dialog.setFilterNames(getFilterNames()); + if (filename != null && filename.length == 1) + dialog.setFileName(filename[0]); + String filename = dialog.open(); + if (filename == null) + return null; + String path = dialog.getFilterPath(); + String names[] = dialog.getFileNames(); + String fullpath[] = new String[names.length]; + for (int i = 0; i < names.length; i++) { + fullpath[i] = path + File.separator + names[i]; + } + return fullpath; + } + + @Override + protected boolean isValid(File file) { + boolean accept = file.exists() && file.canRead(); + return accept; + } + + public String[] getFilterExtensions() { + return filterExtensions; + } + + public String[] getFilterNames() { + return filterNames; + } + + public void setFilterExtensions(String[] filterExtensions) { + this.filterExtensions = filterExtensions; + } + + public void setFilterNames(String[] filterNames) { + this.filterNames = filterNames; + } + + +}