/** * Creates a composite ruler to be used as the vertical ruler by this editor. * Subclasses may re-implement this method. * * @return the vertical ruler */ protected CompositeRuler createCompositeRuler() { return new CompositeRuler(); }
/** * Adds the give column as last column to this viewer's vertical ruler. * * @param column the column to be added * @since 3.8 */ public void addVerticalRulerColumn(IVerticalRulerColumn column) { IVerticalRuler ruler= getVerticalRuler(); if (ruler instanceof CompositeRuler) { CompositeRuler compositeRuler= (CompositeRuler)ruler; compositeRuler.addDecorator(99, column); } }
@Override public void mouseMove(MouseEvent event) { fParentRuler.setLocationOfLastMouseButtonActivity(event.x, event.y); } }
@Override public void mouseDown(MouseEvent event) { int lineNumber; if (isPropagatingMouseListener()) { fParentRuler.setLocationOfLastMouseButtonActivity(event.x, event.y); lineNumber= fParentRuler.getLineOfLastMouseButtonActivity(); } else lineNumber= fParentRuler.toDocumentLineNumber(event.y); if (1 == event.button) AnnotationRulerColumn.this.mouseDown(lineNumber); }
@Override public void mouseMove(MouseEvent event) { if (fIsListeningForMove && !autoScroll(event)) { int newLine= fParentRuler.toDocumentLineNumber(event.y); expandSelection(newLine); } fParentRuler.setLocationOfLastMouseButtonActivity(event.x, event.y); }
/** * Hides or shows line number ruler column based of preference setting */ private void updateLineNumberRuler() { IVerticalRuler v= getVerticalRuler(); if (v!=null && v instanceof CompositeRuler) { CompositeRuler c= (CompositeRuler) v; if(!fShowLineNumber){ if(fLineNumberColumn!=null){ c.removeDecorator(fLineNumberColumn); } } else { if(fLineNumberColumn==null){ fLineNumberColumn = new LineNumberRulerColumn(); updateLineNumberColumnPresentation(false); } c.addDecorator(0, fLineNumberColumn); } } }
/** * Tells whether the vertical ruler only acts as annotation ruler. * * @return <code>true</code> if the vertical ruler only show annotations * @since 3.3 */ private boolean isVerticalRulerOnlyShowingAnnotations() { if (fVerticalRuler instanceof VerticalRuler) return true; if (fVerticalRuler instanceof CompositeRuler) { Iterator<IVerticalRulerColumn> iter= ((CompositeRuler)fVerticalRuler).getDecoratorIterator(); return iter.hasNext() && iter.next() instanceof AnnotationRulerColumn && !iter.hasNext(); } return false; }
@Override public Control createControl(CompositeRuler parentRuler, Composite parentControl) { Assert.isTrue(fDelegate != null); ITextViewer viewer= parentRuler.getTextViewer(); Assert.isLegal(viewer instanceof ISourceViewer); fViewer= (ISourceViewer) viewer; initialize(); Control control= fDelegate.createControl(parentRuler, parentControl); return control; }
/** * Removes the decorator in the specified slot from this composite ruler. * * @param index the index */ public void removeDecorator(int index) { IVerticalRulerColumn rulerColumn= fDecorators.get(index); removeDecorator(rulerColumn); }
@Override public void annotationContextMenuAboutToShow(VerticalRulerEvent event, Menu menu) { fCompositeRuler.fireAnnotationContextMenuAboutToShow(event, menu); } }
@Override public void annotationSelected(VerticalRulerEvent event) { fCompositeRuler.fireAnnotationSelected(event); }
@Override public void annotationDefaultSelected(VerticalRulerEvent event) { fCompositeRuler.fireAnnotationDefaultSelected(event); }
@Override public void mouseDown(MouseEvent event) { int lineNumber; if (isPropagatingMouseListener()) { fParentRuler.setLocationOfLastMouseButtonActivity(event.x, event.y); lineNumber= fParentRuler.getLineOfLastMouseButtonActivity(); } else lineNumber= fParentRuler.toDocumentLineNumber(event.y); if (1 == event.button) AnnotationRulerColumn.this.mouseDown(lineNumber); }
/** * Tells whether the vertical ruler only acts as annotation ruler. * * @return <code>true</code> if the vertical ruler only show annotations * @since 3.3 */ private boolean isVerticalRulerOnlyShowingAnnotations() { if (fVerticalRuler instanceof VerticalRuler) return true; if (fVerticalRuler instanceof CompositeRuler) { Iterator<IVerticalRulerColumn> iter= ((CompositeRuler)fVerticalRuler).getDecoratorIterator(); return iter.hasNext() && iter.next() instanceof AnnotationRulerColumn && !iter.hasNext(); } return false; }
public Control createControl(CompositeRuler parentRuler, Composite parentControl) { Assert.isTrue(fDelegate != null); ITextViewer viewer= parentRuler.getTextViewer(); Assert.isLegal(viewer instanceof ISourceViewer); fViewer= (ISourceViewer) viewer; initialize(); Control control= fDelegate.createControl(parentRuler, parentControl); return control; }
/** * Removes the decorator in the specified slot from this composite ruler. * * @param index the index */ public void removeDecorator(int index) { IVerticalRulerColumn rulerColumn= fDecorators.get(index); removeDecorator(rulerColumn); }
@Override public void mouseMove(MouseEvent event) { if (fIsListeningForMove && !autoScroll(event)) { int newLine= fParentRuler.toDocumentLineNumber(event.y); expandSelection(newLine); } fParentRuler.setLocationOfLastMouseButtonActivity(event.x, event.y); }
@Override public void annotationContextMenuAboutToShow(VerticalRulerEvent event, Menu menu) { fCompositeRuler.fireAnnotationContextMenuAboutToShow(event, menu); } }
@Override public void annotationSelected(VerticalRulerEvent event) { fCompositeRuler.fireAnnotationSelected(event); }
@Override public void annotationDefaultSelected(VerticalRulerEvent event) { fCompositeRuler.fireAnnotationDefaultSelected(event); }