1 package org.simantics.utils.ui.wizard;
3 import org.eclipse.jface.resource.ImageDescriptor;
4 import org.eclipse.jface.wizard.WizardPage;
5 import org.eclipse.swt.SWT;
6 import org.eclipse.swt.layout.GridLayout;
7 import org.eclipse.swt.widgets.Composite;
8 import org.simantics.utils.ui.widgets.FileOrDirectorySelectionWidget;
9 import org.simantics.utils.ui.widgets.FileSelectionListener;
10 import org.simantics.utils.ui.widgets.FileSelectionWidget;
13 public class FileSelectionPage extends WizardPage implements FileSelectionListener{
15 FileSelectionWidget fileSelectionWidget;
17 String[] filterExtensions = new String[]{"*.*"};
18 String[] filterNames = new String[]{"All files"};
21 public FileSelectionPage() {
22 this("Select a file",null);
26 public void createControl(Composite parent) {
27 composite = new Composite(parent,SWT.NONE);
28 composite.setLayout(new GridLayout(1,false));
29 fileSelectionWidget = new FileSelectionWidget(composite, getGroupName(), style);
30 fileSelectionWidget.setFilterNames(filterNames);
31 fileSelectionWidget.setFilterExtensions(filterExtensions);
32 fileSelectionWidget.addListener(this);
33 setControl(composite);
34 setPageComplete(false);
37 protected String getGroupName() {
41 public FileSelectionPage(String title, ImageDescriptor image) {
42 this("FileSelection",title,image);
45 public FileSelectionPage(String pageName,String title, ImageDescriptor image) {
46 super(pageName,title,image);
49 public String[] getFilterExtensions() {
50 return filterExtensions;
53 public String[] getFilterNames() {
57 public void setFilterExtensions(String[] filterExtensions) {
58 this.filterExtensions = filterExtensions;
61 public void setFilterNames(String[] filterNames) {
62 this.filterNames = filterNames;
65 public int getStyle() {
69 public void setStyle(int style) {
73 public String[] getFilename() {
74 return fileSelectionWidget.getFilename();
78 public void fileSelected(FileOrDirectorySelectionWidget source, String[] filename) {
79 setPageComplete(filename != null && filename.length > 0);