@Override public long getSelectionSetTime() { return jfaceTransfer.getSelectionSetTime(); }
@Override public void breakpointsRemoved(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) { // remove deleted breakpoints from drag/drop clipboard if (fStamp == LocalSelectionTransfer.getTransfer().getSelectionSetTime()) { ISelection selection = LocalSelectionTransfer.getTransfer().getSelection(); if (selection instanceof IStructuredSelection) { Set<IBreakpoint> removed = new HashSet<>(); for (int i = 0; i < breakpoints.length; i++) { removed.add(breakpoints[i]); } boolean modified = false; List<Object> remain = new ArrayList<>(); IStructuredSelection ss = (IStructuredSelection) selection; Iterator<?> iterator = ss.iterator(); while (iterator.hasNext()) { Object bp = iterator.next(); if (removed.contains(bp)) { modified = true; } else { remain.add(bp); } } if (modified) { LocalSelectionTransfer.getTransfer().setSelection(new StructuredSelection(remain)); fStamp = System.currentTimeMillis(); LocalSelectionTransfer.getTransfer().setSelectionSetTime(fStamp); } } } }