package org.overture.ide.plugins.isatrans.commands; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.swt.widgets.Display; import org.eclipse.ui.handlers.HandlerUtil; import org.overture.ide.core.resources.IVdmProject; import org.overture.ide.plugins.isatrans.IsaTransControl; public class IsaTransBothCommand extends AbstractHandler { @Override public Object execute(ExecutionEvent event) throws ExecutionException { ISelection selection = HandlerUtil.getCurrentSelection(event); if (selection instanceof IStructuredSelection) { IStructuredSelection structuredSelection = (IStructuredSelection) selection; Object firstElement = structuredSelection.getFirstElement(); IVdmProject proj = null; if (firstElement instanceof IProject) { proj = (IVdmProject) ((IProject) firstElement).getAdapter(IVdmProject.class); } else if (firstElement instanceof IFile) { IFile file = (IFile) firstElement; proj = (IVdmProject) ((IProject) file.getProject()).getAdapter(IVdmProject.class); } else if (firstElement instanceof IFolder) { IFolder file = (IFolder) firstElement; proj = (IVdmProject) ((IProject) file.getProject()).getAdapter(IVdmProject.class); } IsaTransControl util = new IsaTransControl(HandlerUtil.getActiveWorkbenchWindow(event), proj, Display.getCurrent().getActiveShell()); util.generateTheoryFilesModelPos(); } return null; } }