package org.applause.lang.ui.wizard; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.ui.dialogs.WizardNewProjectCreationPage; import org.eclipse.xtext.ui.IImageHelper; import org.eclipse.xtext.ui.wizard.IProjectCreator; import org.eclipse.xtext.ui.wizard.IProjectInfo; import org.eclipse.xtext.ui.wizard.XtextNewProjectWizard; import com.google.inject.Inject; public class CustomApplauseDslNewProjectWizard extends XtextNewProjectWizard { private WizardNewProjectCreationPage mainPage; private GeneratorFragmentSelectionWizardPage generatorFragmentSelectionWizardPage; @Inject private IImageHelper imageHelper; @Inject public CustomApplauseDslNewProjectWizard(IProjectCreator projectCreator) { super(projectCreator); setWindowTitle("New APPlause Project"); } /** * Use this method to add pages to the wizard. * The one-time generated version of this class will add a default new project page to the wizard. */ public void addPages() { mainPage = new WizardNewProjectCreationPage("basicNewProjectPage"); mainPage.setTitle("APPlause Project"); mainPage.setDescription("Create a new APPlause project."); mainPage.setImageDescriptor(ImageDescriptor.createFromImage(imageHelper.getImage("applause-wizard-top.png"))); mainPage.setPageComplete(false); addPage(mainPage); generatorFragmentSelectionWizardPage = new GeneratorFragmentSelectionWizardPage(); generatorFragmentSelectionWizardPage.setImageDescriptor(ImageDescriptor.createFromImage(imageHelper.getImage("applause-wizard-top.png"))); addPage(generatorFragmentSelectionWizardPage); } /** * Use this method to read the project settings from the wizard pages and feed them into the project info class. */ @Override protected IProjectInfo getProjectInfo() { org.applause.lang.ui.wizard.ApplauseDslProjectInfo projectInfo = new org.applause.lang.ui.wizard.ApplauseDslProjectInfo(); projectInfo.setProjectName(mainPage.getProjectName()); projectInfo.setSelectedPlatforms(generatorFragmentSelectionWizardPage.getSelectedPlatforms()); return projectInfo; } }