package org.eclipse.dltk.ui.wizards; import java.util.Map; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.dltk.ui.DLTKUIPlugin; public class GenericDLTKProjectWizard extends ProjectWizard { private ProjectWizardFirstPage fFirstPage; private ProjectWizardSecondPage fSecondPage; private String nature; public GenericDLTKProjectWizard() { setDialogSettings(DLTKUIPlugin.getDefault().getDialogSettings()); setWindowTitle(Messages.GenericDLTKProjectWizard_newDltkProject); } @Override public String getScriptNature() { return nature; } @Override public void addPages() { super.addPages(); fFirstPage = new ProjectWizardFirstPage() { @Override protected boolean interpeterRequired() { return false; } }; // First page fFirstPage.setTitle(Messages.GenericDLTKProjectWizard_newDltkProject); fFirstPage .setDescription(Messages.GenericDLTKProjectWizard_createNewDltkProject); addPage(fFirstPage); // Second page fSecondPage = new ProjectWizardSecondPage(fFirstPage); addPage(fSecondPage); } @Override public void setInitializationData(IConfigurationElement cfig, String propertyName, Object data) { super.setInitializationData(cfig, propertyName, data); if (data instanceof String) { this.nature = (String) data; } else if (data instanceof Map<?, ?>) { this.nature = (String) ((Map<?, ?>) data).get("nature"); //$NON-NLS-1$ } if (this.nature == null || this.nature.length() == 0) { throw new RuntimeException( Messages.GenericDLTKProjectWizard_natureMustBeSpecified); } } }