1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

205182: apply fix and add example template

This commit is contained in:
Andrew Ferguson 2007-10-25 14:45:39 +00:00
parent e96881fb2c
commit 672ce65667
15 changed files with 339 additions and 80 deletions

View file

@ -43,6 +43,7 @@ import org.eclipse.cdt.managedbuilder.internal.core.ManagedProject;
import org.eclipse.cdt.managedbuilder.ui.properties.ManagedBuilderUIPlugin;
import org.eclipse.cdt.managedbuilder.ui.properties.Messages;
import org.eclipse.cdt.ui.newui.CDTPrefUtil;
import org.eclipse.cdt.ui.templateengine.IWizardDataPage;
import org.eclipse.cdt.ui.templateengine.Template;
import org.eclipse.cdt.ui.templateengine.TemplateEngineUI;
import org.eclipse.cdt.ui.templateengine.TemplateEngineUIUtil;
@ -179,6 +180,8 @@ public class MBSWizardHandler extends CWizardHandler {
IWizardPage page = templatePages[i];
if (page instanceof UIWizardPage)
valueStore.putAll(((UIWizardPage)page).getPageData());
if (page instanceof IWizardDataPage)
valueStore.putAll(((IWizardDataPage)page).getPageData());
}
if (map != null) {
valueStore.putAll(map);

View file

@ -77,6 +77,8 @@ public class TemplateCore {
String msg= MessageFormat.format(TemplateEngineMessages.getString("TemplateCore.InitFailed"), new Object[]{templateInfo.getTemplatePath()}); //$NON-NLS-1$
throw new TemplateInitializationException(msg);
}
if(descriptorURL==null)
throw new TemplateInitializationException("Unable to load project template. Location URL is null for "+templateInfo.getTemplateId()); //$NON-NLS-1$
templateDescriptor = new TemplateDescriptor(descriptorURL, templateInfo.getPluginId());
valueStore = new ValueStore/*<String, String>*/(this);
valueStore.putAll(templateDescriptor.getTemplateDefaults(templateDescriptor.getRootElement()));

View file

@ -23,6 +23,7 @@ import java.util.Map;
import java.util.Set;
import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtension;
@ -55,7 +56,7 @@ public class TemplateEngine {
private Map/*<String, List<TemplateInfo>>*/ templateInfoMap;
/**
* TemplateEngine constructor, create and initialize SharedDefaults.
* TemplateEngine constructor, create and initialise SharedDefaults.
*/
private TemplateEngine() {
templateInfoMap = new LinkedHashMap/*<String, List<TemplateInfo>>*/();
@ -73,7 +74,7 @@ public class TemplateEngine {
try {
tcores.add(TemplateCore.getTemplate(info));
} catch (TemplateInitializationException e) {
CCorePlugin.log(e);
CCorePlugin.log(CCorePlugin.createStatus(e.getMessage(), e));
}
}
return (TemplateCore[]) tcores.toArray(new TemplateCore[tcores.size()]);
@ -211,7 +212,7 @@ public class TemplateEngine {
String projectType = null;
String filterPattern = null;
boolean isCategory = false;
String extraPagesProvider = null;
Object /*IPagesAfterTemplateSelectionProvider*/ extraPagesProvider = null;
IExtension[] extensions = Platform.getExtensionRegistry().getExtensionPoint(TEMPLATES_EXTENSION_ID).getExtensions();
for(int i=0; i<extensions.length; i++) {
@ -225,8 +226,15 @@ public class TemplateEngine {
projectType = config.getAttribute(TemplateEngineHelper.PROJECT_TYPE);
filterPattern = config.getAttribute(TemplateEngineHelper.FILTER_PATTERN);
isCategory = Boolean.valueOf(config.getAttribute(TemplateEngineHelper.IS_CATEGORY)).booleanValue();
extraPagesProvider = config.getAttribute(TemplateEngineHelper.EXTRA_PAGES_PROVIDER);
String providerAttribute = config.getAttribute(TemplateEngineHelper.EXTRA_PAGES_PROVIDER);
if (providerAttribute != null) {
try {
extraPagesProvider = config.createExecutableExtension(TemplateEngineHelper.EXTRA_PAGES_PROVIDER);
} catch (CoreException e) {
CCorePlugin.log(CCorePlugin.createStatus("Unable to create extra pages for "+providerAttribute,e)); //$NON-NLS-1$
}
}
IConfigurationElement[] toolChainConfigs = config.getChildren(TemplateEngineHelper.TOOL_CHAIN);
Set toolChainIdSet = new LinkedHashSet();
for (int k=0; k < toolChainConfigs.length; k++) {

View file

@ -13,8 +13,6 @@ package org.eclipse.cdt.core.templateengine;
import java.util.List;
import java.util.Set;
/**
* TemplateInfo class contains the template information like wizard ID, pattern, path and project type.
*/
@ -24,59 +22,69 @@ public class TemplateInfo {
private String templatePath;
private String pluginId;
private Set toolChainIdSet;
private String pagesProvider;
private Object pagesProvider; /* IPagesAfterTemplateSelectionProvider */
private boolean isCategory;
private String icon;
private String templateId;
private List configs;
/**
*
* @param templateId
* @param projectTypeId
* @param filterPattern
* @param templatePath
* @param pluginId
* @param toolChainIdSet
* @param extraPagesProvider an IPagesAfterTemplateSelectionProvider or null
* @param isCategory
*/
public TemplateInfo(String templateId, String projectTypeId, String filterPattern, String templatePath,
String pluginId, Set toolChainIdSet,
String pagesProvider, boolean isCategory) {
Object extraPagesProvider, boolean isCategory) {
this.templateId = templateId;
this.filterPattern = filterPattern;
this.templatePath = templatePath;
this.pluginId = pluginId;
this.projectTypeId = projectTypeId;
this.toolChainIdSet = toolChainIdSet;
this.pagesProvider = pagesProvider;
this.pagesProvider = extraPagesProvider;
this.isCategory = isCategory;
this.configs = null;
}
/**
* Returns the Plugin ID
* @return String contains the plugin id.
* @return the plug-in id
*/
public String getPluginId() {
return pluginId;
}
/**
* Returns the Template ID
* @return String contains the template id.
* @return the template id.
*/
public String getTemplateId() {
return templateId;
}
/**
* Returns the Template path as String.
* @return String containing the path.
* @return the template path
*/
public String getTemplatePath() {
return templatePath;
}
/**
* Returns the Filter Pattern.
* @return String containing the Filter Pattern.
* @return the filter Pattern.
*/
public String getFilterPattern() {
return filterPattern;
}
public String getExtraPagesProvider() {
/**
* @return an IPagesAfterTemplateSelectionProvider or null
*/
public Object getExtraPagesProvider() {
return pagesProvider;
}
@ -107,7 +115,7 @@ public class TemplateInfo {
}
/**
* @return the isCategory
* @return whether this template is a category
*/
public boolean isCategory() {
return isCategory;
@ -135,11 +143,11 @@ public class TemplateInfo {
return false;
}
/**
* Return the hashcode of the object.
/*
* (non-Javadoc)
* @see java.lang.Object#hashCode()
*/
public int hashCode() {
return projectTypeId.hashCode() | templatePath.hashCode() | pluginId.hashCode();
}
}

View file

@ -106,5 +106,14 @@
id="org.eclipse.cdt.ui.tests.TestProposalFilter"
name="Testing Completion Filter"/>
</extension>
<extension
point="org.eclipse.cdt.core.templates">
<template
id="org.eclipse.cdt.ui.tests.extraPagesProvider"
location="resources/projectTemplates/testExtraPages/template.xml"
pagesAfterTemplateSelectionProvider="org.eclipse.cdt.ui.tests.templateengine.TestExtraPagesProvider"
projectType="org.eclipse.cdt.build.core.buildArtefactType.exe">
</template>
</extension>
</plugin>

View file

@ -0,0 +1,10 @@
#include <iostream>
using namespace std;
int main() {
cout << "$(projectName)" << endl;
cout << "$(exampleAttr1)" << endl;
cout << "$(exampleAttr2)" << endl;
cout << "$(exampleAttr3)" << endl;
return 0;
}

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<template type="ProjTempl" version="1.0" supplier="Eclipse.org" revision="1.0" author="Symbian Software Ltd."
copyright="Copyright (c) 2007 Symbian Software Ltd. 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"
id="TestProjectWithExtraPages" label="TestProjectWithExtraPages" description="TestProjectWithExtraPages_Desc"
help="help.html">
<process type="org.eclipse.cdt.managedbuilder.core.NewManagedProject">
<simple name="name" value="$(projectName)" />
<simple name="artifactExtension" value="exe" />
<simple name="isCProject" value="true" />
</process>
<process type="org.eclipse.cdt.core.CreateSourceFolder">
<simple name="projectName" value="$(projectName)"/>
<simple name="path" value="$(sourceDir)"/>
</process>
<process type="org.eclipse.cdt.core.AddFiles">
<simple name="projectName" value="$(projectName)"/>
<complex-array name="files">
<element>
<simple name="source" value="hello.cpp"/>
<simple name="target" value="$(sourceDir)/hello.cpp"/>
<simple name="replaceable" value="true"/>
</element>
</complex-array>
</process>
</template>

View file

@ -0,0 +1,73 @@
/*******************************************************************************
* Copyright (c) 2007 Symbian Software Limited 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
*
* Contributors:
* Andrew Ferguson (Symbian) - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.ui.tests.templateengine;
import java.util.Collections;
import java.util.Map;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchWizard;
import org.eclipse.cdt.ui.templateengine.AbstractWizardDataPage;
import org.eclipse.cdt.ui.templateengine.IPagesAfterTemplateSelectionProvider;
import org.eclipse.cdt.ui.templateengine.IWizardDataPage;
/**
* An example implementation of {@link IPagesAfterTemplateSelectionProvider} for
* testing purposes.
*/
public class TestExtraPagesProvider implements IPagesAfterTemplateSelectionProvider {
IWizardDataPage[] pages;
public IWizardDataPage[] createAdditionalPages(IWorkbenchWizard wizard,
IWorkbench workbench, IStructuredSelection selection) {
pages= new IWizardDataPage[3];
pages[0]= new MyPage("Example custom page 1", "exampleAttr1", "Value1");
pages[1]= new MyPage("Example custom page 2", "exampleAttr2", "Value2");
pages[2]= new MyPage("Example custom page 3", "exampleAttr3", "Value3");
return pages;
}
public IWizardDataPage[] getCreatedPages(IWorkbenchWizard wizard) {
return pages;
}
/**
* An example implementation of {@link IWizardDataPage} for test purposes.
*/
static class MyPage extends AbstractWizardDataPage implements IWizardDataPage {
String labelText , dataKey, dataValue;
public MyPage(String labelText, String dataKey, String dataValue) {
super("CustomTestPageName", "Title", null);
setMessage("Custom test page message");
this.labelText= labelText;
this.dataKey= dataKey;
this.dataValue= dataValue;
}
public Map getPageData() {
return Collections.singletonMap(dataKey, dataValue);
}
@Override
public void createControl(Composite parent) {
Label l= new Label(parent, SWT.NONE);
l.setText(labelText);
setControl(l);
}
}
}

View file

@ -0,0 +1,65 @@
/*******************************************************************************
* Copyright (c) 2007 Symbian Software Limited 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
*
* Contributors:
* Andrew Ferguson (Symbian) - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.ui.templateengine;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.WizardPage;
/**
* Implementation of standard behaviours intended to be subclassed by clients.
* @since 4.0.2
*/
public abstract class AbstractWizardDataPage extends WizardPage implements IWizardDataPage {
protected IWizardPage next;
/**
* Creates a new wizard page with the given name, and
* with no title or image.
*
* @param pageName the name of the page
*/
public AbstractWizardDataPage(String pageName) {
super(pageName);
}
/**
* Creates a new wizard page with the given name, title, and image.
*
* @param pageName the name of the page
* @param title the title for this wizard page,
* or <code>null</code> if none
* @param imageDescriptor the image descriptor for the title of this wizard page,
* or <code>null</code> if none
*/
public AbstractWizardDataPage(String pageName, String title, ImageDescriptor imageDescriptor) {
super(pageName, title, imageDescriptor);
}
/*
* (non-Javadoc)
* @see org.eclipse.cdt.ui.templateengine.IWizardDataPage#setNextPage(org.eclipse.jface.wizard.IWizardPage)
*/
public void setNextPage(IWizardPage next) {
this.next= next;
}
/*
* (non-Javadoc)
* @see org.eclipse.jface.wizard.WizardPage#getNextPage()
*/
public IWizardPage getNextPage() {
if(next != null) {
return next;
}
return super.getNextPage();
}
}

View file

@ -15,16 +15,20 @@ import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchWizard;
/**
* Interface for extensions that provide additional custom pages as part of
* project configuration.
* @since 4.0
*/
public interface IPagesAfterTemplateSelectionProvider {
/**
* Creates pages that will be appended to the pages returned from
* TemplatesChoiceWizard.getPagesAfterTemplateSelection()
* Parameters are those used to initialize the wizard.
* Parameters are those used to initialise the wizard.
* </p>
* @param wizard the wizard requesting the pages
* @param workbench the current workbench
* @param selection the current object selection
* @param selection the current object selection, or null if no context is available
*
* @since 4.0
*/

View file

@ -15,10 +15,22 @@ import java.util.Map;
import org.eclipse.jface.wizard.IWizardPage;
/**
* IWizardDataPage
* IWizardDataPage is a page which can participate in a custom project template
* wizard sequence.
*
* @since 4.0
*/
public interface IWizardDataPage extends IWizardPage {
/**
* @return a map of (key,value) pairs that should be added to the
* associated project template's value store.
*/
Map/*<String, String>*/ getPageData();
/**
* Set the page that follows this one. Implementations must ensure
* {@link IWizardPage#getNextPage()} returns the specified value
* @param next
*/
public void setNextPage(IWizardPage next);
}

View file

@ -24,6 +24,7 @@ import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.window.Window;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
@ -66,6 +67,7 @@ public class ProjectSelectionPage extends WizardPage implements IWizardDataPage
private IWorkspaceRoot workspaceRoot;
private ICProject currentCProject;
private IWizardPage next;
public ProjectSelectionPage() {
super(PAGE_NAME);
@ -326,5 +328,24 @@ public class ProjectSelectionPage extends WizardPage implements IWizardDataPage
return (ICProject) dialog.getFirstResult();
}
return null;
}
}
/*
* (non-Javadoc)
* @see org.eclipse.cdt.ui.templateengine.IWizardDataPage#setNextPage(org.eclipse.jface.wizard.IWizardPage)
*/
public void setNextPage(IWizardPage next) {
this.next= next;
}
/*
* (non-Javadoc)
* @see org.eclipse.jface.wizard.WizardPage#getNextPage()
*/
public IWizardPage getNextPage() {
if(next != null) {
return next;
}
return super.getNextPage();
}
}

View file

@ -12,7 +12,6 @@ package org.eclipse.cdt.ui.templateengine;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -20,9 +19,12 @@ import java.util.Map;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchWizard;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.actions.WorkspaceModifyOperation;
import org.w3c.dom.Element;
@ -111,43 +113,43 @@ public class Template extends TemplateCore {
page.setWizard(wizard);
prevPage = page;
}
try {
IWizardDataPage[] extraPages = getExtraCreatedPages((IWorkbenchWizard)wizard);
for (int i=0; i < extraPages.length; i++) {
IWizardDataPage page = extraPages[i];
pages.add(page);
page.setPreviousPage(prevPage);
//TODO: set the next page for page
//page.setNextPage(extraPages[i+1]);
page.setWizard(wizard);
prevPage = page;
}
} catch (Exception e) {
e.printStackTrace();
}
followingPage.setPreviousPage(prevPage);
} else {
followingPage.setPreviousPage(predatingPage);
predatingPage= prevPage;
}
// pages.add(followingPage);
try {
IWizardPage prevPage = predatingPage;
IWizardDataPage[] extraPages = getExtraCreatedPages((IWorkbenchWizard)wizard, PlatformUI.getWorkbench(), null);
for (int i=0; i < extraPages.length; i++) {
IWizardDataPage page = extraPages[i];
pages.add(page);
page.setPreviousPage(prevPage);
if(prevPage instanceof IWizardDataPage) {
((IWizardDataPage)prevPage).setNextPage(page);
}
page.setWizard(wizard);
prevPage = page;
}
if(prevPage instanceof IWizardDataPage) {
((IWizardDataPage)prevPage).setNextPage(followingPage);
}
} catch (Exception e) {
e.printStackTrace();
}
followingPage.setPreviousPage(predatingPage);
return (IWizardPage[]) pages.toArray(new IWizardPage[pages.size()]);
}
IWizardDataPage[] getExtraCreatedPages(IWorkbenchWizard wizard) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
IWizardDataPage[] getExtraCreatedPages(IWorkbenchWizard wizard, IWorkbench workbench, IStructuredSelection selection) {
TemplateInfo templateInfo = getTemplateInfo();
String pagesProvider = templateInfo.getExtraPagesProvider();
if (pagesProvider != null) {
IPagesAfterTemplateSelectionProvider extraPagesProvider = (IPagesAfterTemplateSelectionProvider) Class.forName(pagesProvider).newInstance();
if (extraPagesProvider != null) {
List/*<IWizardDataPage>*/ pageList = new ArrayList/*<IWizardDataPage>*/();
IWizardDataPage[] extraPages = extraPagesProvider.getCreatedPages(wizard);
pageList.addAll(Arrays.asList(extraPages));
return (IWizardDataPage[]) pageList.toArray(new IWizardDataPage[pageList.size()]);
}
IPagesAfterTemplateSelectionProvider extraPagesProvider = (IPagesAfterTemplateSelectionProvider) templateInfo.getExtraPagesProvider();
if (extraPagesProvider != null) {
return extraPagesProvider.createAdditionalPages(wizard, null, null);
}
return new IWizardDataPage[0];
}
@ -203,5 +205,4 @@ public class Template extends TemplateCore {
}
return result[0];
}
}

View file

@ -85,30 +85,24 @@ public abstract class TemplatesChoiceWizard extends Wizard implements ITemplates
IWizardDataPage[] getPagesAfterTemplateSelectionWithExtraPages(Template template) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
IWizardDataPage[] pages = getPagesAfterTemplateSelection();
TemplateInfo templateInfo = template.getTemplateInfo();
String pagesProvider = templateInfo.getExtraPagesProvider();
if (pagesProvider != null) {
IPagesAfterTemplateSelectionProvider extraPagesProvider = (IPagesAfterTemplateSelectionProvider) Class.forName(pagesProvider).newInstance();
if (extraPagesProvider != null) {
List/*<IWizardDataPage>*/ pageList = new ArrayList/*<IWizardDataPage>*/(Arrays.asList(pages));
IWizardDataPage[] extraPages = extraPagesProvider.createAdditionalPages(this, workbench, selection);
pageList.addAll(Arrays.asList(extraPages));
pages = (IWizardDataPage[]) pageList.toArray(new IWizardDataPage[pageList.size()]);
}
IPagesAfterTemplateSelectionProvider extraPagesProvider = (IPagesAfterTemplateSelectionProvider) templateInfo.getExtraPagesProvider();
if (extraPagesProvider != null) {
List/*<IWizardDataPage>*/ pageList = new ArrayList/*<IWizardDataPage>*/(Arrays.asList(pages));
IWizardDataPage[] extraPages = extraPagesProvider.createAdditionalPages(this, workbench, selection);
pageList.addAll(Arrays.asList(extraPages));
pages = (IWizardDataPage[]) pageList.toArray(new IWizardDataPage[pageList.size()]);
}
return pages;
}
IWizardDataPage[] getExtraCreatedPages(Template template) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
TemplateInfo templateInfo = template.getTemplateInfo();
String pagesProvider = templateInfo.getExtraPagesProvider();
if (pagesProvider != null) {
IPagesAfterTemplateSelectionProvider extraPagesProvider = (IPagesAfterTemplateSelectionProvider) Class.forName(pagesProvider).newInstance();
if (extraPagesProvider != null) {
List/*<IWizardDataPage>*/ pageList = new ArrayList/*<IWizardDataPage>*/();
IWizardDataPage[] extraPages = extraPagesProvider.getCreatedPages(this);
pageList.addAll(Arrays.asList(extraPages));
return (IWizardDataPage[]) pageList.toArray(new IWizardDataPage[pageList.size()]);
}
IPagesAfterTemplateSelectionProvider extraPagesProvider = (IPagesAfterTemplateSelectionProvider) templateInfo.getExtraPagesProvider();
if (extraPagesProvider != null) {
List/*<IWizardDataPage>*/ pageList = new ArrayList/*<IWizardDataPage>*/();
IWizardDataPage[] extraPages = extraPagesProvider.getCreatedPages(this);
pageList.addAll(Arrays.asList(extraPages));
return (IWizardDataPage[]) pageList.toArray(new IWizardDataPage[pageList.size()]);
}
return new IWizardDataPage[0];
}

View file

@ -15,6 +15,7 @@ import java.util.Map;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
import org.eclipse.cdt.ui.CUIPlugin;
@ -24,15 +25,17 @@ import org.eclipse.cdt.ui.templateengine.IWizardDataPage;
* The first page in a NewProjectWizard. This is the wizard page that
* asks the user for the name and location of the new project.
*/
public class NewProjectCreationPage extends WizardNewProjectCreationPage implements IWizardDataPage {
private Map data = new HashMap(2);
public class NewProjectCreationPage extends WizardNewProjectCreationPage implements IWizardDataPage {
private static final String ERROR_SUFFIX = Messages.getString("NewProjectCreationPage.0"); //$NON-NLS-1$
private static final String ERROR_SUFFIX_TOO_LONG = Messages.getString("NewProjectCreationPage.1"); //$NON-NLS-1$
private static final Status OK_STATUS = new Status(IStatus.OK, CUIPlugin.getPluginId(), 0, "", null); //$NON-NLS-1$
private Map data;
private IWizardPage next;
public NewProjectCreationPage(String name) {
super(name);
data= new HashMap();
this.setDescription(Messages.getString("NewProjectCreationPage.3")); //$NON-NLS-1$
}
@ -106,4 +109,22 @@ public class NewProjectCreationPage extends WizardNewProjectCreationPage impleme
return OK_STATUS;
}
/*
* (non-Javadoc)
* @see org.eclipse.cdt.ui.templateengine.IWizardDataPage#setNextPage(org.eclipse.jface.wizard.IWizardPage)
*/
public void setNextPage(IWizardPage next) {
this.next= next;
}
/*
* (non-Javadoc)
* @see org.eclipse.jface.wizard.WizardPage#getNextPage()
*/
public IWizardPage getNextPage() {
if(next != null) {
return next;
}
return super.getNextPage();
}
}