package org.flowerplatform.eclipse.action; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.ui.handlers.HandlerUtil; import org.eclipse.ui.ide.ResourceUtil; /** * @author Sebastian Solomon */ public class CreateNewDiagramHandler extends AbstractHandler { @Override public Object execute(ExecutionEvent event) { ISelection sel = HandlerUtil.getActiveMenuSelection(event); IStructuredSelection selection = (IStructuredSelection) sel; Object selectedElement = selection.getFirstElement(); selectedElement = ResourceUtil.getResource(selectedElement); IResource parent = null; if (selectedElement instanceof IFile) { parent = ((IFile)selectedElement).getParent(); } else if ((selectedElement instanceof IFolder) || (selectedElement instanceof IProject)) { parent = (IResource) selectedElement; } if (parent != null){ EclipseNewDiagramAction enda = new EclipseNewDiagramAction(); enda.parentPath = parent.toString().substring(2); enda.name = "NewDiagram.notation"; enda.executeCommand(); } return null; } }