/******************************************************************************* * Copyright (c) 2007 - 2012 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is 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 * * Contributor: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.common.model.ui.wizard.newfile; import java.util.Properties; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.ui.INewWizard; import org.eclipse.ui.PlatformUI; import org.jboss.tools.common.meta.action.SpecialWizard; import org.jboss.tools.common.model.XModelObject; import org.jboss.tools.common.model.ui.ModelUIPlugin; import org.jboss.tools.common.model.ui.util.ExtensionPointUtils; public class WizardInvoker implements SpecialWizard { Properties p; public void setObject(Object object) { if(object instanceof Properties) { p = (Properties)object; } } public int execute() { if(p == null) { return 1; } String pluginId = p.getProperty("plugin"); //$NON-NLS-1$ String wizardId = p.getProperty("wizard"); //$NON-NLS-1$ XModelObject s = (XModelObject)p.get("object"); //$NON-NLS-1$ INewWizard wizard = ExtensionPointUtils.findNewWizardsItem(pluginId, wizardId); if(wizard == null || s == null) { return 1; } wizard.init(PlatformUI.getWorkbench(), new StructuredSelection(s)); WizardDialog dialog = new WizardDialog(ModelUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell(), wizard); dialog.create(); PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(), "org.eclipse.ui.new_wizard_shortcut_context"); //$NON-NLS-1$ dialog.open(); return 0; } }