Package org.eclipse.jface.text

Examples of org.eclipse.jface.text.ITextViewerExtension5


  }

  private void select() {
    ITextViewer viewer= fCurrentTarget.getViewer();
    if (viewer instanceof ITextViewerExtension5) {
      ITextViewerExtension5 extension5= (ITextViewerExtension5) viewer;
      extension5.exposeModelRange(new Region(fFramePosition.offset, fFramePosition.length));
    } else if (!viewer.overlapsWithVisibleRegion(fFramePosition.offset, fFramePosition.length)) {
      viewer.resetVisibleRegion();
    }
    viewer.revealRange(fFramePosition.offset, fFramePosition.length);
    viewer.setSelectedRange(fFramePosition.offset, fFramePosition.length);
View Full Code Here


    Rectangle r= new Rectangle(0, 0, 0, 0);
    int yy, hh= ANNOTATION_HEIGHT;

    IDocument document= fTextViewer.getDocument();
    StyledText textWidget= fTextViewer.getTextWidget();
    ITextViewerExtension5 extension= null;
    IRegion visible= null;
    if (fTextViewer instanceof ITextViewerExtension5)
      extension= (ITextViewerExtension5) fTextViewer;
    else
      visible= fTextViewer.getVisibleRegion(); // legacy support

    WidgetInfos infos= null;
   
    for (Iterator iterator= fAnnotationsSortedByLayer.iterator(); iterator.hasNext();) {
      Object annotationType= iterator.next();

      if (skip(annotationType))
        continue;

      int[] style= new int[] { FilterIterator.PERSISTENT, FilterIterator.TEMPORARY };
      for (int t=0; t < style.length; t++) {
        boolean areColorsComputed= false;
        Color fill= null;
        Color stroke= null;

        Iterator e= new FilterIterator(annotationType, style[t], fCachedAnnotations.iterator());
        while (e.hasNext()) {
          Annotation a= (Annotation) e.next();
          Position p= fModel.getPosition(a);

          if (p == null)
            continue;
          if (visible != null && !p.overlapsWith(visible.getOffset(), visible.getLength()))
            continue;

          int annotationOffset= p.getOffset();
          int annotationLength= p.getLength();
          IRegion widgetRegion= null;
          if (visible != null) {
            annotationOffset= Math.max(p.getOffset(), visible.getOffset());
            int annotationEnd= Math.min(p.getOffset() + p.getLength(), visible.getOffset() + visible.getLength());
            annotationLength= annotationEnd - annotationOffset;
          } else {
            widgetRegion= extension.modelRange2WidgetRange(new Region(annotationOffset, annotationLength));
            if (widgetRegion == null)
              continue;
          }
         
          if (infos == null) {
View Full Code Here

   
    if (lines[1] > infos.maxLines)
      lines[1]= infos.maxLines;
   
    if (fTextViewer instanceof ITextViewerExtension5) {
      ITextViewerExtension5 extension= (ITextViewerExtension5) fTextViewer;
      lines[0]= extension.widgetLine2ModelLine(lines[0]);
      lines[1]= extension.widgetLine2ModelLine(lines[1]);
    } else {
      try {
        IRegion visible= fTextViewer.getVisibleRegion();
        int lineNumber= fTextViewer.getDocument().getLineOfOffset(visible.getOffset());
        lines[0] += lineNumber;
View Full Code Here

   * @return the corresponding offset in the source viewer's document or <code>-1</code>
   * @since 2.1
   */
  protected static final int widgetOffset2ModelOffset(ISourceViewer viewer, int widgetOffset) {
    if (viewer instanceof ITextViewerExtension5) {
      ITextViewerExtension5 extension= (ITextViewerExtension5) viewer;
      return extension.widgetOffset2ModelOffset(widgetOffset);
    }
    return widgetOffset + viewer.getVisibleRegion().getOffset();
  }
View Full Code Here

   * @return the corresponding offset in the source viewer's text widget or <code>-1</code>
   * @since 3.0
   */
  protected static final int modelOffset2WidgetOffset(ISourceViewer viewer, int modelOffset) {
    if (viewer instanceof ITextViewerExtension5) {
      ITextViewerExtension5 extension= (ITextViewerExtension5) viewer;
      return extension.modelOffset2WidgetOffset(modelOffset);
    }
    return modelOffset - viewer.getVisibleRegion().getOffset();
  }
View Full Code Here

   * @return the minimal region of the source viewer's document comprising the contents of the viewer's widget
   * @since 2.1
   */
  protected static final IRegion getCoverage(ISourceViewer viewer) {
    if (viewer instanceof ITextViewerExtension5) {
      ITextViewerExtension5 extension= (ITextViewerExtension5) viewer;
      return extension.getModelCoverage();
    }
    return viewer.getVisibleRegion();
  }
View Full Code Here

   * @return <code>true</code> if visible
   * @since 2.1
   */
  protected static final boolean isVisible(ISourceViewer viewer, int offset, int length) {
    if (viewer instanceof ITextViewerExtension5) {
      ITextViewerExtension5 extension= (ITextViewerExtension5) viewer;
      IRegion overlap= extension.modelRange2WidgetRange(new Region(offset, length));
      return overlap != null;
    }
    return viewer.overlapsWithVisibleRegion(offset, length);
  }
View Full Code Here

    int length= fPairPosition.getLength();
    if (length < 1)
      return;

    if (fSourceViewer instanceof ITextViewerExtension5) {
      ITextViewerExtension5 extension= (ITextViewerExtension5) fSourceViewer;
      IRegion widgetRange= extension.modelRange2WidgetRange(new Region(offset, length));
      if (widgetRange == null)
        return;

      try {
        // don't draw if the pair position is really hidden and widgetRange just
        // marks the coverage around it.
        IDocument doc= fSourceViewer.getDocument();
        int startLine= doc.getLineOfOffset(offset);
        int endLine= doc.getLineOfOffset(offset + length);
        if (extension.modelLine2WidgetLine(startLine) == -1 || extension.modelLine2WidgetLine(endLine) == -1)
          return;
      } catch (BadLocationException e) {
        return;
      }
View Full Code Here

  protected void adjustHighlightRange(int offset, int length) {
    if (fSourceViewer == null)
      return;

    if (fSourceViewer instanceof ITextViewerExtension5) {
      ITextViewerExtension5 extension= (ITextViewerExtension5) fSourceViewer;
      extension.exposeModelRange(new Region(offset, length));
    } else if (!isVisible(fSourceViewer, offset, length)) {
      fSourceViewer.resetVisibleRegion();
    }
  }
View Full Code Here

                // attempts to reduce the redraw area
                ITextViewerExtension2 viewer2 = (ITextViewerExtension2) viewer;

                if (viewer instanceof ITextViewerExtension5) {

                    ITextViewerExtension5 extension = (ITextViewerExtension5) viewer;
                    IRegion modelRange = extension.widgetRange2ModelRange(new Region(fRememberedStyleRange.start,
                            fRememberedStyleRange.length));
                    if (modelRange != null)
                        viewer2.invalidateTextPresentation(modelRange.getOffset(), modelRange.getLength());

                } else {
View Full Code Here

TOP

Related Classes of org.eclipse.jface.text.ITextViewerExtension5

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.