protected ProjectionAnnotation createProjectionAnnotation(boolean isCollapsed, Position foldedRegion) { return new ProjectionAnnotation(isCollapsed); }
public void updateFoldingStructure(List<Position> positions) { final Map<Annotation, Position> newAnnotations = new HashMap<Annotation, Position>(); for (Position position : positions) { newAnnotations.put(new ProjectionAnnotation(), position); } annotationModel.modifyAnnotations(oldAnnotations, newAnnotations, null); oldAnnotations = newAnnotations.keySet().toArray(new Annotation[0]); }
private void updateFoldingRegions(ProjectionAnnotationModel model, Set<Position> currentRegions) { Annotation[] deletions = computeDifferences(model, currentRegions); Map<Annotation, Position> additionsMap = new HashMap<>(); for (Iterator<Position> iter = currentRegions.iterator(); iter.hasNext();) { Position position = iter.next(); IAntElement node = fPositionToElement.get(position); additionsMap.put(new ProjectionAnnotation(node.collapseProjection()), position); } if ((deletions.length != 0 || additionsMap.size() != 0)) { model.modifyAnnotations(deletions, additionsMap, new Annotation[] {}); } }
public void updateFoldingRegions(ProjectionAnnotationModel model, Set<Position> currentRegions) { Annotation[] deletions = computeDifferences(model, currentRegions); Map<ProjectionAnnotation, Position> additionsMap = new HashMap<>(); for (Position position : currentRegions) { additionsMap.put(new ProjectionAnnotation(false), position); } if ((deletions.length != 0 || !additionsMap.isEmpty())) { model.modifyAnnotations(deletions, additionsMap, new Annotation[] {}); } }
/** * Calculate where to fold, sticking the info into newAnnotations * @param doc * @param headers * @param newAnnotations * @param endParent */ private void updateSectionFoldingAnnotations2(IDocument doc, List<Header> headers, Map<Annotation, Position> newAnnotations, int endParent) { for (int i=0; i<headers.size(); i++) { Header header = headers.get(i); ProjectionAnnotation annotation = new ProjectionAnnotation(); try { int line = header.getLineNumber(); int start = doc.getLineOffset(line); int end = (i==headers.size()-1)? endParent : doc.getLineOffset(headers.get(i+1).getLineNumber()); Position position = new Position(start, end-start); newAnnotations.put(annotation, position); // Recurse List<Header> subHeaders = header.getSubHeaders(); if (subHeaders.size() > 0) { updateSectionFoldingAnnotations2(doc, subHeaders, newAnnotations, end); } } catch (Exception ex) { System.out.println(ex); } } }
ProjectionAnnotation annotation = new ProjectionAnnotation( FOLD_WRAPPEDLINES ); positionToAnnotationMap.put( position, annotation ); ProjectionAnnotation annotation = new ProjectionAnnotation( FOLD_RECORDS || ( FOLD_COMMENTS && container instanceof LdifCommentContainer ) ); positionToAnnotationMap.put( position, annotation );