]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/wizard/FileSelectionPage.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.utils.ui / src / org / simantics / utils / ui / wizard / FileSelectionPage.java
diff --git a/bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/wizard/FileSelectionPage.java b/bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/wizard/FileSelectionPage.java
new file mode 100644 (file)
index 0000000..2e28db1
--- /dev/null
@@ -0,0 +1,82 @@
+package org.simantics.utils.ui.wizard;\r
+\r
+import org.eclipse.jface.resource.ImageDescriptor;\r
+import org.eclipse.jface.wizard.WizardPage;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.layout.GridLayout;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.simantics.utils.ui.widgets.FileOrDirectorySelectionWidget;\r
+import org.simantics.utils.ui.widgets.FileSelectionListener;\r
+import org.simantics.utils.ui.widgets.FileSelectionWidget;\r
+\r
+\r
+public class FileSelectionPage extends WizardPage implements FileSelectionListener{\r
+       \r
+       FileSelectionWidget fileSelectionWidget;\r
+       Composite composite;\r
+       String[] filterExtensions = new String[]{"*.*"};\r
+       String[] filterNames = new String[]{"All files"};\r
+       int style = SWT.OPEN;\r
+\r
+       public FileSelectionPage() {\r
+               this("Select a file",null);\r
+       }\r
+       \r
+       @Override\r
+       public void createControl(Composite parent) {\r
+               composite = new Composite(parent,SWT.NONE);\r
+               composite.setLayout(new GridLayout(1,false));\r
+               fileSelectionWidget = new FileSelectionWidget(composite, getGroupName(), style);\r
+               fileSelectionWidget.setFilterNames(filterNames);\r
+               fileSelectionWidget.setFilterExtensions(filterExtensions);\r
+               fileSelectionWidget.addListener(this);\r
+               setControl(composite);\r
+               setPageComplete(false);\r
+       }\r
+       \r
+       protected String getGroupName() {\r
+               return "File:";\r
+       }\r
+       \r
+       public FileSelectionPage(String title, ImageDescriptor image) {\r
+               this("FileSelection",title,image);\r
+       }\r
+       \r
+       public FileSelectionPage(String pageName,String title, ImageDescriptor image) {\r
+               super(pageName,title,image);\r
+       }\r
+       \r
+       public String[] getFilterExtensions() {\r
+               return filterExtensions;\r
+       }\r
+       \r
+       public String[] getFilterNames() {\r
+               return filterNames;\r
+       }\r
+       \r
+       public void setFilterExtensions(String[] filterExtensions) {\r
+               this.filterExtensions = filterExtensions;\r
+       }\r
+       \r
+       public void setFilterNames(String[] filterNames) {\r
+               this.filterNames = filterNames;\r
+       }\r
+       \r
+       public int getStyle() {\r
+               return style;\r
+       }\r
+       \r
+       public void setStyle(int style) {\r
+               this.style = style;\r
+       }\r
+       \r
+       public String[] getFilename() {\r
+               return fileSelectionWidget.getFilename();\r
+       }\r
+       \r
+       @Override\r
+       public void fileSelected(FileOrDirectorySelectionWidget source, String[] filename) {\r
+               setPageComplete(filename != null && filename.length > 0);\r
+       }\r
+\r
+}\r