/*******************************************************************************
* 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);
}
public void createControl(Composite parent) {
Label l= new Label(parent, SWT.NONE);
l.setText(labelText);
setControl(l);
}
}
}