blob: fa32c53c2ec62ba34461de2885ee428f44f9c9c4 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006, 2007 IBM Corporation 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.wst.web.ui.internal.actions;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowActionDelegate;
import org.eclipse.ui.IWorkbenchWizard;
public abstract class AbstractOpenWizardAction implements IWorkbenchWindowActionDelegate
{
private IWorkbenchWindow window;
public AbstractOpenWizardAction()
{
super();
}
public void dispose()
{
// TODO Auto-generated method stub
}
public void init( IWorkbenchWindow window )
{
this.window = window;
}
abstract public void run( IAction action );
public void selectionChanged( IAction action, ISelection selection )
{
// TODO Auto-generated method stub
}
protected void openWizardDialog( IWorkbenchWizard wizard )
{
ISelection selection = window.getSelectionService().getSelection();
if ( selection instanceof IStructuredSelection )
{
wizard.init( window.getWorkbench(), (IStructuredSelection) selection );
}
else
{
wizard.init( window.getWorkbench(), StructuredSelection.EMPTY );
}
Shell parent = window.getShell();
WizardDialog dialog = new WizardDialog( parent, wizard );
dialog.create();
dialog.open();
}
}