/* * #%~ * org.overture.ide.plugins.poviewer * %% * Copyright (C) 2008 - 2014 Overture * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. * #~% */ package org.overture.ide.plugins.poviewer.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.IWorkbenchPage; import org.eclipse.ui.handlers.HandlerUtil; import org.overture.ide.plugins.poviewer.PoGeneratorUtil; public class GenerateProofObligationsCommand extends AbstractHandler { public Object execute(ExecutionEvent event) throws ExecutionException { ISelection selection = HandlerUtil.getCurrentSelection(event); if (selection instanceof IStructuredSelection) { IStructuredSelection structuredSelection = (IStructuredSelection) selection; Object firstElement = structuredSelection.getFirstElement(); IWorkbenchPage page =HandlerUtil.getActiveWorkbenchWindow(event) .getActivePage(); PoGeneratorUtil util = new PoGeneratorUtil(Display.getCurrent().getActiveShell(),page.getActivePart().getSite() ); if (firstElement instanceof IProject) { util.generate((IProject) firstElement); }else if (firstElement instanceof IFile) { IFile file = (IFile) firstElement; util.generate(file.getProject(), file); }else if (firstElement instanceof IFolder) { IFolder file = (IFolder) firstElement; util.generate(file.getProject(), file); } } return null; } }