| /******************************************************************************* |
| * Copyright (c) 2013 RCP Vision (http://www.rcp-vision.com) and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| *******************************************************************************/ |
| package org.eclipse.emf.parsley.dsl.ui.wizard; |
| |
| import org.eclipse.ui.dialogs.WizardNewProjectCreationPage; |
| import org.eclipse.xtext.ui.wizard.IProjectCreator; |
| import org.eclipse.xtext.ui.wizard.IProjectInfo; |
| |
| import com.google.inject.Inject; |
| |
| /** |
| * @author Francesco Guidieri |
| * |
| */ |
| public class EmfParsleyDslNewProjectWithPredefinedViewWizard extends EmfParsleyDslNewProjectWizard{ |
| |
| private EmfParsleyDslProjectTemplateSelectionPage selectPredefinedViewPage; |
| private WizardNewProjectCreationPage mainPage; |
| |
| @Inject |
| public EmfParsleyDslNewProjectWithPredefinedViewWizard( |
| IProjectCreator projectCreator) { |
| super(projectCreator); |
| } |
| |
| public void addPages() { |
| mainPage = new EmfParsleyDslNewProjectCreationPage("basicNewProjectPage"); |
| mainPage.setTitle("EmfParsleyDsl Project"); |
| mainPage.setDescription("Create a new EmfParsleyDsl project."); |
| addPage(mainPage); |
| selectPredefinedViewPage = new EmfParsleyDslProjectTemplateSelectionPage(); |
| selectPredefinedViewPage.setTitle("EmfParsleyDsl Project"); |
| selectPredefinedViewPage.setDescription("Create a new EmfParsleyDsl project."); |
| addPage(selectPredefinedViewPage); |
| } |
| |
| |
| @Override |
| protected IProjectInfo getProjectInfo() { |
| org.eclipse.emf.parsley.dsl.ui.wizard.EmfParsleyDslProjectInfo projectInfo = new org.eclipse.emf.parsley.dsl.ui.wizard.EmfParsleyDslProjectInfo(); |
| projectInfo.setProjectName(mainPage.getProjectName()); |
| projectInfo.setSelectedTemplate(selectPredefinedViewPage.getSelectedTemplate()); |
| return projectInfo; |
| } |
| |
| public boolean canFinish() { |
| if (mainPage.isPageComplete()) { |
| return true; |
| }else return selectPredefinedViewPage.isPageComplete(); |
| } |
| |
| } |