/** * 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; }
/** * 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; }
/** * Computes the insertion index for a column contribution into the currently visible columns. * * @param ruler the composite ruler into which to insert the column * @param descriptor the descriptor to compute the index for * @return the insertion index for a new column */ private int computeIndex(CompositeRuler ruler, RulerColumnDescriptor descriptor) { int index= 0; List<RulerColumnDescriptor> all= fRegistry.getColumnDescriptors(); int newPos= all.indexOf(descriptor); for (Iterator<IVerticalRulerColumn> it= ruler.getDecoratorIterator(); it.hasNext();) { IVerticalRulerColumn column= it.next(); if (column instanceof IContributedRulerColumn) { RulerColumnDescriptor rcd= ((IContributedRulerColumn)column).getDescriptor(); if (rcd != null && all.indexOf(rcd) > newPos) break; } else if ("org.eclipse.jface.text.source.projection.ProjectionRulerColumn".equals(column.getClass().getName())) { //$NON-NLS-1$ // projection column is always the rightmost column break; } index++; } return index; }
/** * Computes the insertion index for a column contribution into the currently visible columns. * * @param ruler the composite ruler into which to insert the column * @param descriptor the descriptor to compute the index for * @return the insertion index for a new column */ private int computeIndex(CompositeRuler ruler, RulerColumnDescriptor descriptor) { int index= 0; List<RulerColumnDescriptor> all= fRegistry.getColumnDescriptors(); int newPos= all.indexOf(descriptor); for (Iterator<IVerticalRulerColumn> it= ruler.getDecoratorIterator(); it.hasNext();) { IVerticalRulerColumn column= it.next(); if (column instanceof IContributedRulerColumn) { RulerColumnDescriptor rcd= ((IContributedRulerColumn)column).getDescriptor(); if (rcd != null && all.indexOf(rcd) > newPos) break; } else if ("org.eclipse.jface.text.source.projection.ProjectionRulerColumn".equals(column.getClass().getName())) { //$NON-NLS-1$ // projection column is always the rightmost column break; } index++; } return index; }
/** * Returns the currently visible column matching <code>id</code>, <code>null</code> if * none. * * @param ruler the composite ruler to scan * @param descriptor the descriptor of the column of interest * @return the matching column or <code>null</code> */ private IContributedRulerColumn getVisibleColumn(CompositeRuler ruler, RulerColumnDescriptor descriptor) { for (Iterator<IVerticalRulerColumn> it= ruler.getDecoratorIterator(); it.hasNext();) { IVerticalRulerColumn column= it.next(); if (column instanceof IContributedRulerColumn) { IContributedRulerColumn rulerColumn= (IContributedRulerColumn)column; RulerColumnDescriptor rcd= rulerColumn.getDescriptor(); if (descriptor.equals(rcd)) return rulerColumn; } } return null; }
/** * Computes the insertion index for a column contribution into the currently visible columns. * * @param ruler the composite ruler into which to insert the column * @param descriptor the descriptor to compute the index for * @return the insertion index for a new column */ private int computeIndex(CompositeRuler ruler, RulerColumnDescriptor descriptor) { int index= 0; List all= fRegistry.getColumnDescriptors(); int newPos= all.indexOf(descriptor); for (Iterator it= ruler.getDecoratorIterator(); it.hasNext();) { IVerticalRulerColumn column= (IVerticalRulerColumn) it.next(); if (column instanceof IContributedRulerColumn) { RulerColumnDescriptor rcd= ((IContributedRulerColumn)column).getDescriptor(); if (rcd != null && all.indexOf(rcd) > newPos) break; } else if ("org.eclipse.jface.text.source.projection.ProjectionRulerColumn".equals(column.getClass().getName())) { //$NON-NLS-1$ // projection column is always the rightmost column break; } index++; } return index; }
/** * Returns the currently visible column matching <code>id</code>, <code>null</code> if * none. * * @param ruler the composite ruler to scan * @param descriptor the descriptor of the column of interest * @return the matching column or <code>null</code> */ private IContributedRulerColumn getVisibleColumn(CompositeRuler ruler, RulerColumnDescriptor descriptor) { for (Iterator it= ruler.getDecoratorIterator(); it.hasNext();) { IVerticalRulerColumn column= (IVerticalRulerColumn)it.next(); if (column instanceof IContributedRulerColumn) { IContributedRulerColumn rulerColumn= (IContributedRulerColumn)column; RulerColumnDescriptor rcd= rulerColumn.getDescriptor(); if (descriptor.equals(rcd)) return rulerColumn; } } return null; }
/** * Returns the currently visible column matching <code>id</code>, <code>null</code> if * none. * * @param ruler the composite ruler to scan * @param descriptor the descriptor of the column of interest * @return the matching column or <code>null</code> */ private IContributedRulerColumn getVisibleColumn(CompositeRuler ruler, RulerColumnDescriptor descriptor) { for (Iterator<IVerticalRulerColumn> it= ruler.getDecoratorIterator(); it.hasNext();) { IVerticalRulerColumn column= it.next(); if (column instanceof IContributedRulerColumn) { IContributedRulerColumn rulerColumn= (IContributedRulerColumn)column; RulerColumnDescriptor rcd= rulerColumn.getDescriptor(); if (descriptor.equals(rcd)) return rulerColumn; } } return null; }
/** * Determines the hover to be used to display information based on the source of the * mouse hover event. If <code>fVerticalRulerInfo</code> is not a composite ruler, the * standard hover is returned. * * @param event the source of the mouse hover event * @return the hover depending on <code>source</code>, or <code>fAnnotationHover</code> if none can be found. * @since 3.0 */ private IAnnotationHover getHover(MouseEvent event) { if (event == null || event.getSource() == null) return fAnnotationHover; if (fVerticalRulerInfo instanceof CompositeRuler) { CompositeRuler comp= (CompositeRuler) fVerticalRulerInfo; for (Iterator<IVerticalRulerColumn> it= comp.getDecoratorIterator(); it.hasNext();) { Object o= it.next(); if (o instanceof IVerticalRulerInfoExtension && o instanceof IVerticalRulerInfo) { if (((IVerticalRulerInfo) o).getControl() == event.getSource()) { IAnnotationHover hover= ((IVerticalRulerInfoExtension) o).getHover(); if (hover != null) return hover; } } } } return fAnnotationHover; }
/** * Determines the hover to be used to display information based on the source of the * mouse hover event. If <code>fVerticalRulerInfo</code> is not a composite ruler, the * standard hover is returned. * * @param event the source of the mouse hover event * @return the hover depending on <code>source</code>, or <code>fAnnotationHover</code> if none can be found. * @since 3.0 */ private IAnnotationHover getHover(MouseEvent event) { if (event == null || event.getSource() == null) return fAnnotationHover; if (fVerticalRulerInfo instanceof CompositeRuler) { CompositeRuler comp= (CompositeRuler) fVerticalRulerInfo; for (Iterator<IVerticalRulerColumn> it= comp.getDecoratorIterator(); it.hasNext();) { Object o= it.next(); if (o instanceof IVerticalRulerInfoExtension && o instanceof IVerticalRulerInfo) { if (((IVerticalRulerInfo) o).getControl() == event.getSource()) { IAnnotationHover hover= ((IVerticalRulerInfoExtension) o).getHover(); if (hover != null) return hover; } } } } return fAnnotationHover; }