1 package org.simantics.views.swt;
\r
3 import org.eclipse.core.runtime.CoreException;
\r
4 import org.eclipse.core.runtime.IConfigurationElement;
\r
5 import org.eclipse.core.runtime.IExecutableExtension;
\r
6 import org.eclipse.core.runtime.IExecutableExtensionFactory;
\r
7 import org.eclipse.core.runtime.IStatus;
\r
8 import org.eclipse.core.runtime.Status;
\r
12 * @author Antti Villberg
\r
14 public class WizardFactory implements IExecutableExtensionFactory, IExecutableExtension {
\r
16 private IConfigurationElement config;
\r
20 private String propertyName;
\r
22 public WizardFactory() {
\r
26 private Object configure(Object obj) throws CoreException {
\r
27 if (obj instanceof IExecutableExtension) {
\r
28 ((IExecutableExtension) obj).setInitializationData(config, propertyName, null);
\r
34 public Object create() throws CoreException {
\r
36 return configure(new ModelledWizard(id));
\r
41 public void setInitializationData(IConfigurationElement config, String propertyName, Object data)
\r
42 throws CoreException {
\r
43 //System.out.println("setInitializationData: " + config + ", " + propertyName + ", " + data);
\r
45 if (data instanceof String) {
\r
48 throw new CoreException(new Status(IStatus.ERROR,
\r
49 Activator.PLUGIN_ID, 0,
\r
50 "Data argument must be a String for " + getClass(), null)); //$NON-NLS-1$
\r
52 this.config = config;
\r
53 this.propertyName = propertyName;
\r