/******************************************************************************* * Copyright (c) 2016 QNX Software Systems 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.cdt.internal.qt.ui.wizards; import org.eclipse.cdt.internal.qt.core.project.QtProjectGenerator; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.swt.widgets.Composite; import org.eclipse.tools.templates.core.IGenerator; import org.eclipse.tools.templates.ui.TemplateWizard; import org.eclipse.ui.dialogs.WizardNewProjectCreationPage; public abstract class QtProjectTemplateWizard extends TemplateWizard { private WizardNewProjectCreationPage mainPage; @Override public void addPages() { mainPage = new WizardNewProjectCreationPage("basicNewProjectPage") { //$NON-NLS-1$ @Override public void createControl(Composite parent) { super.createControl(parent); createWorkingSetGroup((Composite) getControl(), getSelection(), new String[] { "org.eclipse.ui.resourceWorkingSetPage" }); //$NON-NLS-1$ Dialog.applyDialogFont(getControl()); } }; mainPage.setTitle("New Qt Project"); //$NON-NLS-1$ mainPage.setDescription("Specify properties of new Qt project."); //$NON-NLS-1$ this.addPage(mainPage); } protected abstract String getTemplateManifestPath(); @Override protected IGenerator getGenerator() { QtProjectGenerator generator = new QtProjectGenerator(getTemplateManifestPath()); generator.setProjectName(mainPage.getProjectName()); if (!mainPage.useDefaults()) { generator.setLocationURI(mainPage.getLocationURI()); } return generator; } }