1 package org.simantics.xml.sax.ui.wizard;
\r
3 import org.eclipse.jface.layout.GridDataFactory;
\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 import org.simantics.utils.ui.widgets.FileSelectionWidget;
\r
13 public class InputSelectionPage extends WizardPage implements FileSelectionListener{
\r
15 public InputSelectionPage() {
\r
16 super("InputPage","Select input files and output plug-in",null);
\r
19 private FileSelectionWidget schemaSelection;
\r
20 private FileSelectionWidget configurationSelection;
\r
21 private DirectorySelectionWidget pluginSelection;
\r
24 public void createControl(Composite parent) {
\r
25 Composite composite = new Composite(parent, SWT.NONE);
\r
26 composite.setLayout(new GridLayout(1,false));
\r
27 GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(composite);
\r
29 schemaSelection = new FileSelectionWidget(composite, "Schema file", SWT.OPEN);
\r
30 configurationSelection = new FileSelectionWidget(composite, "Configuration file (Optional)", SWT.OPEN);
\r
31 pluginSelection = new DirectorySelectionWidget(composite, "Output plug-in", SWT.SAVE);
\r
33 schemaSelection.setFilterExtensions(new String[]{"*.xsd"});
\r
34 schemaSelection.setFilterNames(new String[]{"XML schema files"});
\r
36 configurationSelection.setFilterExtensions(new String[]{"*.xml"});
\r
37 configurationSelection.setFilterNames(new String[]{"XML files"});
\r
39 schemaSelection.addListener(this);
\r
40 pluginSelection.addListener(this);
\r
42 setControl(composite);
\r
43 setPageComplete(false);
\r
47 public void fileSelected(FileOrDirectorySelectionWidget source, String[] filename) {
\r
48 setPageComplete(schemaSelection.getFilename() != null && pluginSelection.getFilename() != null);
\r
52 public String getSchemaFilename() {
\r
53 if (schemaSelection.getFilename() == null ||schemaSelection.getFilename().length == 0)
\r
55 return schemaSelection.getFilename()[0];
\r
58 public String getConfigurationFilename() {
\r
59 if (configurationSelection.getFilename() == null || configurationSelection.getFilename().length == 0)
\r
61 return configurationSelection.getFilename()[0];
\r
64 public String getPluginFilename() {
\r
65 if (pluginSelection.getFilename() == null ||pluginSelection.getFilename().length == 0)
\r
67 return pluginSelection.getFilename()[0];
\r