X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.utils.ui%2Fsrc%2Forg%2Fsimantics%2Futils%2Fui%2Fwizard%2FFileSelectionPage.java;fp=bundles%2Forg.simantics.utils.ui%2Fsrc%2Forg%2Fsimantics%2Futils%2Fui%2Fwizard%2FFileSelectionPage.java;h=2e28db1474d537c8f877340fc3ae7f5453b70808;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git 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 index 000000000..2e28db147 --- /dev/null +++ b/bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/wizard/FileSelectionPage.java @@ -0,0 +1,82 @@ +package org.simantics.utils.ui.wizard; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.wizard.WizardPage; +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.simantics.utils.ui.widgets.FileOrDirectorySelectionWidget; +import org.simantics.utils.ui.widgets.FileSelectionListener; +import org.simantics.utils.ui.widgets.FileSelectionWidget; + + +public class FileSelectionPage extends WizardPage implements FileSelectionListener{ + + FileSelectionWidget fileSelectionWidget; + Composite composite; + String[] filterExtensions = new String[]{"*.*"}; + String[] filterNames = new String[]{"All files"}; + int style = SWT.OPEN; + + public FileSelectionPage() { + this("Select a file",null); + } + + @Override + public void createControl(Composite parent) { + composite = new Composite(parent,SWT.NONE); + composite.setLayout(new GridLayout(1,false)); + fileSelectionWidget = new FileSelectionWidget(composite, getGroupName(), style); + fileSelectionWidget.setFilterNames(filterNames); + fileSelectionWidget.setFilterExtensions(filterExtensions); + fileSelectionWidget.addListener(this); + setControl(composite); + setPageComplete(false); + } + + protected String getGroupName() { + return "File:"; + } + + public FileSelectionPage(String title, ImageDescriptor image) { + this("FileSelection",title,image); + } + + public FileSelectionPage(String pageName,String title, ImageDescriptor image) { + super(pageName,title,image); + } + + 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; + } + + public int getStyle() { + return style; + } + + public void setStyle(int style) { + this.style = style; + } + + public String[] getFilename() { + return fileSelectionWidget.getFilename(); + } + + @Override + public void fileSelected(FileOrDirectorySelectionWidget source, String[] filename) { + setPageComplete(filename != null && filename.length > 0); + } + +}