]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/wizard/FileSelectionPage.java
Sync git svn branch with SVN repository r33269.
[simantics/platform.git] / bundles / org.simantics.utils.ui / src / org / simantics / utils / ui / wizard / FileSelectionPage.java
1 package org.simantics.utils.ui.wizard;\r
2 \r
3 import org.eclipse.jface.resource.ImageDescriptor;\r
4 import org.eclipse.jface.wizard.WizardPage;\r
5 import org.eclipse.swt.SWT;\r
6 import org.eclipse.swt.layout.GridLayout;\r
7 import org.eclipse.swt.widgets.Composite;\r
8 import org.simantics.utils.ui.widgets.FileOrDirectorySelectionWidget;\r
9 import org.simantics.utils.ui.widgets.FileSelectionListener;\r
10 import org.simantics.utils.ui.widgets.FileSelectionWidget;\r
11 \r
12 \r
13 public class FileSelectionPage extends WizardPage implements FileSelectionListener{\r
14         \r
15         FileSelectionWidget fileSelectionWidget;\r
16         Composite composite;\r
17         String[] filterExtensions = new String[]{"*.*"};\r
18         String[] filterNames = new String[]{"All files"};\r
19         int style = SWT.OPEN;\r
20 \r
21         public FileSelectionPage() {\r
22                 this("Select a file",null);\r
23         }\r
24         \r
25         @Override\r
26         public void createControl(Composite parent) {\r
27                 composite = new Composite(parent,SWT.NONE);\r
28                 composite.setLayout(new GridLayout(1,false));\r
29                 fileSelectionWidget = new FileSelectionWidget(composite, getGroupName(), style);\r
30                 fileSelectionWidget.setFilterNames(filterNames);\r
31                 fileSelectionWidget.setFilterExtensions(filterExtensions);\r
32                 fileSelectionWidget.addListener(this);\r
33                 setControl(composite);\r
34                 setPageComplete(false);\r
35         }\r
36         \r
37         protected String getGroupName() {\r
38                 return "File:";\r
39         }\r
40         \r
41         public FileSelectionPage(String title, ImageDescriptor image) {\r
42                 this("FileSelection",title,image);\r
43         }\r
44         \r
45         public FileSelectionPage(String pageName,String title, ImageDescriptor image) {\r
46                 super(pageName,title,image);\r
47         }\r
48         \r
49         public String[] getFilterExtensions() {\r
50                 return filterExtensions;\r
51         }\r
52         \r
53         public String[] getFilterNames() {\r
54                 return filterNames;\r
55         }\r
56         \r
57         public void setFilterExtensions(String[] filterExtensions) {\r
58                 this.filterExtensions = filterExtensions;\r
59         }\r
60         \r
61         public void setFilterNames(String[] filterNames) {\r
62                 this.filterNames = filterNames;\r
63         }\r
64         \r
65         public int getStyle() {\r
66                 return style;\r
67         }\r
68         \r
69         public void setStyle(int style) {\r
70                 this.style = style;\r
71         }\r
72         \r
73         public String[] getFilename() {\r
74                 return fileSelectionWidget.getFilename();\r
75         }\r
76         \r
77         @Override\r
78         public void fileSelected(FileOrDirectorySelectionWidget source, String[] filename) {\r
79                 setPageComplete(filename != null && filename.length > 0);\r
80         }\r
81 \r
82 }\r