Package: LatexCommand

LatexCommand

nameinstructionbranchcomplexitylinemethod
LatexCommand()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
execute(ExecutionEvent)
M: 83 C: 0
0%
M: 12 C: 0
0%
M: 7 C: 0
0%
M: 22 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*
2: * #%~
3: * org.overture.ide.plugins.latex
4: * %%
5: * Copyright (C) 2008 - 2014 Overture
6: * %%
7: * This program is free software: you can redistribute it and/or modify
8: * it under the terms of the GNU General Public License as
9: * published by the Free Software Foundation, either version 3 of the
10: * License, or (at your option) any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: * GNU General Public License for more details.
16: *
17: * You should have received a copy of the GNU General Public
18: * License along with this program. If not, see
19: * <http://www.gnu.org/licenses/gpl-3.0.html>.
20: * #~%
21: */
22: package org.overture.ide.plugins.latex.commands;
23:
24: import org.eclipse.core.commands.AbstractHandler;
25: import org.eclipse.core.commands.ExecutionEvent;
26: import org.eclipse.core.commands.ExecutionException;
27: import org.eclipse.core.resources.IProject;
28: import org.eclipse.jface.viewers.ISelection;
29: import org.eclipse.jface.viewers.IStructuredSelection;
30: import org.eclipse.swt.widgets.Display;
31: import org.eclipse.swt.widgets.Shell;
32: import org.eclipse.ui.handlers.HandlerUtil;
33: import org.overture.ast.lex.Dialect;
34: import org.overture.ide.core.resources.IVdmProject;
35: import org.overture.ide.plugins.latex.utility.LatexUtils;
36: import org.overture.ide.ui.internal.util.ConsoleWriter;
37: import org.overture.ide.vdmpp.core.IVdmPpCoreConstants;
38: import org.overture.ide.vdmrt.core.IVdmRtCoreConstants;
39: import org.overture.ide.vdmsl.core.IVdmSlCoreConstants;
40:
41: public class LatexCommand extends AbstractHandler
42: {
43:
44:         public Object execute(ExecutionEvent event) throws ExecutionException
45:         {
46:
47:                 ISelection selection = HandlerUtil.getCurrentSelection(event);
48:
49:•                if (selection instanceof IStructuredSelection)
50:                 {
51:                         IStructuredSelection structuredSelection = (IStructuredSelection) selection;
52:
53:                         Object firstElement = structuredSelection.getFirstElement();
54:•                        if (firstElement instanceof IProject)
55:                         {
56:                                 IProject project = (IProject) firstElement;
57:                                 IVdmProject selectedProject = (IVdmProject) project.getAdapter(IVdmProject.class);
58:
59:                                 final Shell shell = Display.getCurrent().getActiveShell();
60:•                                if (selectedProject != null)
61:                                 {
62:                                         try
63:                                         {
64:                                                 LatexUtils util = new LatexUtils(shell);
65:•                                                if (project.hasNature(IVdmPpCoreConstants.NATURE))
66:                                                 {
67:                                                         util.makeLatex(selectedProject, Dialect.VDM_PP);
68:                                                 }
69:•                                                if (project.hasNature(IVdmSlCoreConstants.NATURE))
70:                                                 {
71:                                                         util.makeLatex(selectedProject, Dialect.VDM_SL);
72:                                                 }
73:•                                                if (project.hasNature(IVdmRtCoreConstants.NATURE))
74:                                                 {
75:                                                         util.makeLatex(selectedProject, Dialect.VDM_RT);
76:                                                 }
77:                                         } catch (Exception ex)
78:                                         {
79:                                                 ConsoleWriter console = new ConsoleWriter("LATEX");
80:                                                 System.err.println(ex.getMessage() + ex.getStackTrace());
81:                                                 console.print(ex);
82:                                                 console.close();
83:                                         }
84:                                 }
85:                         }
86:
87:                 }
88:
89:                 return null;
90:         }
91:
92: }