package org.erlide.cover.ui.actions; import org.eclipse.jface.viewers.TreeViewer; import org.erlide.cover.core.Activator; import org.erlide.cover.core.Logger; import org.erlide.cover.views.model.FunctionStats; import org.erlide.cover.views.model.ModuleStats; import org.erlide.cover.views.model.StatsTreeObject; /** * Hiding annotations for specific objects * * @author Aleksandra Lipiec <aleksandra.lipiec@erlang-solutions.com> * */ public class HideCoverageAction extends CoverageAction { private final Logger log; // private public HideCoverageAction(final TreeViewer viewer) { super(viewer); log = Activator.getDefault(); } @Override protected void perform(final StatsTreeObject selection) { if (selection instanceof ModuleStats) { final ModuleStats module = (ModuleStats) selection; final String name = module.getLabel() + ".erl"; marker.removeAnnotationsFromFile(name); } else if (selection instanceof FunctionStats) { final FunctionStats fs = (FunctionStats) selection; final ModuleStats module = (ModuleStats) fs.getParent(); final String name = module.getLabel() + ".erl"; log.info(fs.getLineStart()); log.info(fs.getLineEnd()); marker.removeAnnotationsFragment(name, fs.getLineStart(), fs.getLineEnd()); } else { marker.clearAllAnnotations(); } } }