]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/wizard/DirectorySelectionPage.java
Sync git svn branch with SVN repository r33269.
[simantics/platform.git] / bundles / org.simantics.utils.ui / src / org / simantics / utils / ui / wizard / DirectorySelectionPage.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.DirectorySelectionWidget;\r
9 import org.simantics.utils.ui.widgets.FileOrDirectorySelectionWidget;\r
10 import org.simantics.utils.ui.widgets.FileSelectionListener;\r
11 \r
12 public class DirectorySelectionPage extends WizardPage implements FileSelectionListener{\r
13         \r
14         int style = SWT.OPEN;\r
15         DirectorySelectionWidget directorySelectionWidget;\r
16         Composite composite;\r
17         \r
18         public DirectorySelectionPage() {\r
19                 this("Select a directory",null);\r
20         }\r
21         \r
22         public DirectorySelectionPage(String title, ImageDescriptor image) {\r
23                 this("DirectorySelection",title,image);\r
24         }\r
25         \r
26         public DirectorySelectionPage(String pageName, String title, ImageDescriptor image) {\r
27                 super(pageName,title,image);\r
28         }\r
29         \r
30 \r
31         protected String getGroupName() {\r
32                 return "Directory:";\r
33         }\r
34         \r
35         @Override\r
36         public void createControl(Composite parent) {\r
37                 composite = new Composite(parent,SWT.NONE);\r
38                 composite.setLayout(new GridLayout(1,false));\r
39                 directorySelectionWidget = new DirectorySelectionWidget(composite, getGroupName(), style);\r
40                 directorySelectionWidget.addListener(this);\r
41                 setControl(composite);\r
42                 setPageComplete(false);\r
43         }\r
44         \r
45         @Override\r
46         public void fileSelected(FileOrDirectorySelectionWidget source, String[] filename) {\r
47                 setPageComplete(filename != null && filename.length > 0);\r
48         }\r
49         \r
50         \r
51         public int getStyle() {\r
52                 return style;\r
53         }\r
54         \r
55         public void setStyle(int style) {\r
56                 this.style = style;\r
57         }\r
58         \r
59         public String[] getFilename() {\r
60                 return directorySelectionWidget.getFilename();\r
61         }\r
62         \r
63 \r
64 }\r