@Override public void onBreakpointRemoved(Breakpoint oldBreakpoint) { if (shouldProcessBreakpoint(oldBreakpoint) && breakpoints.contains(oldBreakpoint)) { breakpoints.removeBreakpoint(oldBreakpoint); debuggingModelRenderer.removeBreakpointOnGutter(oldBreakpoint.getLineNumber()); } debuggerState.removeBreakpoint(oldBreakpoint); debuggingSidebar.removeBreakpoint(oldBreakpoint); }
@Override public void onBreakpointAdded(Breakpoint newBreakpoint) { if (shouldProcessBreakpoint(newBreakpoint) && !breakpoints.contains(newBreakpoint)) { anchorBreakpointAndUpdateSidebar(newBreakpoint); debuggingModelRenderer.renderBreakpointOnGutter( newBreakpoint.getLineNumber(), newBreakpoint.isActive()); } debuggerState.setBreakpoint(newBreakpoint); debuggingSidebar.addBreakpoint(newBreakpoint); }
private void anchorBreakpoints() { JsonArray<Breakpoint> allBreakpoints = debuggingModel.getBreakpoints(); for (int i = 0; i < allBreakpoints.size(); ++i) { Breakpoint breakpoint = allBreakpoints.get(i); if (path.equals(breakpoint.getPath())) { anchorBreakpointAndUpdateSidebar(breakpoint); debuggingModelRenderer.renderBreakpointOnGutter( breakpoint.getLineNumber(), breakpoint.isActive()); } } }
@Override public void onClick(int y) { int lineNumber = editor.getBuffer().convertYToLineNumber(y, true); for (int i = 0; i < breakpoints.size(); ++i) { Breakpoint breakpoint = breakpoints.get(i); if (breakpoint.getLineNumber() == lineNumber) { debuggingModel.removeBreakpoint(breakpoint); return; } } if (!isCurrentDocumentEligibleForDebugging()) { return; } Breakpoint breakpoint = new Breakpoint.Builder(path, lineNumber).build(); debuggingModel.addBreakpoint(breakpoint); // Show the sidebar if the very first breakpoint has just been set. maybeShowSidebar(); }
@Override public void onBreakpointLineClick(Breakpoint breakpoint) { maybeNavigateToDocument(breakpoint.getPath(), breakpoint.getLineNumber()); }