/**
* <p>Copyright: Copyright (c) 2009</p>
* <p>Company: �������ӹɷ�����˾</p>
*/
package com.hundsun.ares.studio.ui.wizard;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
import com.hundsun.ares.studio.core.IARESModule;
import com.hundsun.ares.studio.core.IARESModuleRoot;
/**
* ͨ��ģ���½���
*
* @author mawb
*/
public class CommonModuleWizard extends Wizard implements INewWizard {
protected CommonModuleCreationWizardPage page;
protected IWorkbench workbench;
protected Object selcetionElement;
public CommonModuleWizard() {
setWindowTitle("�½�ģ��");
}
/* (non-Javadoc)
* @see org.eclipse.jface.wizard.Wizard#addPages()
*/
@Override
public void addPages() {
page = new CommonModuleCreationWizardPage("module", "�½�ģ��");
page.initSelection(selcetionElement);
addPage(page);
}
/* (non-Javadoc)
* @see org.eclipse.jface.wizard.Wizard#performFinish()
*/
@Override
public boolean performFinish() {
IARESModuleRoot root = page.getModuleRoot();
try {
IARESModule module = root.createModule(page.getModuleName());
selectAndReveal(module.getResource());
} catch (CoreException e) {
e.printStackTrace();
return false;
}
return true;
}
/* (non-Javadoc)
* @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
*/
public void init(IWorkbench workbench, IStructuredSelection selection) {
this.workbench = workbench;
if (selection != null) {
selcetionElement = selection.getFirstElement();
}
}
protected void selectAndReveal(IResource newResource) {
BasicNewResourceWizard.selectAndReveal(newResource, workbench.getActiveWorkbenchWindow());
}
}