package org.erlide.test_support.ui.trace; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; import org.eclipse.jface.viewers.ISelection; import org.eclipse.ui.ide.ResourceUtil; import org.eclipse.ui.texteditor.ITextEditor; import org.erlide.ui.handlers.ErlangAbstractHandler; public class ToggleTracepointHandler extends ErlangAbstractHandler { @Override protected void doAction(final ISelection sel, final ITextEditor textEditor) { System.out.println("TOGGLE TRACEPOINT "); final IFile file = ResourceUtil.getFile(textEditor.getEditorInput()); try { final IMarker[] markers = file.findMarkers( "org.erlide.test_support.tracingmarker", true, IResource.DEPTH_ONE); if (markers.length == 0) { System.out.println("create"); final IMarker m = file .createMarker("org.erlide.test_support.tracingmarker"); m.setAttribute(IMarker.LINE_NUMBER, 5); m.setAttribute(IMarker.LOCATION, "5"); m.setAttribute(IMarker.MESSAGE, "msg"); } else { System.out.println("delete"); markers[0].delete(); } } catch (final CoreException e) { e.printStackTrace(); } } @Override public boolean isEnabled() { return true; } @Override public void setEnabled(final Object evaluationContext) { super.setEnabled(evaluationContext); } }