Package org.eclipse.jface.text

Examples of org.eclipse.jface.text.ITextViewerExtension5


        int widgetCaret = text.getCaretOffset();

        int modelCaret = 0;
        if (viewer instanceof ITextViewerExtension5) {
            ITextViewerExtension5 extension = (ITextViewerExtension5) viewer;
            modelCaret = extension.widgetOffset2ModelOffset(widgetCaret);
        } else {
            IRegion visibleRegion = viewer.getVisibleRegion();
            modelCaret = widgetCaret + visibleRegion.getOffset();
        }
View Full Code Here


    protected void doPaint1(GC gc) { //fabioz: Changed to protected

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

        ITextViewerExtension5 extension = (ITextViewerExtension5) fTextViewer;
        IDocument document = fTextViewer.getDocument();
        StyledText textWidget = fTextViewer.getTextWidget();

        int maxLines = textWidget.getLineCount();
        Point size = fCanvas.getSize();
        int writable = JFaceTextUtil.computeLineHeight(textWidget, 0, maxLines, maxLines);
        if (size.y > writable)
            size.y = Math.max(writable - fHeader.getSize().y, 0);

        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++) {

                Iterator e = new FilterIterator(annotationType, style[t], fCachedAnnotations.iterator());

                boolean areColorsComputed = false;
                Color fill = null;
                Color stroke = null;

                for (int i = 0; e.hasNext(); i++) {

                    Annotation a = (Annotation) e.next();
                    Position p = fModel.getPosition(a);

                    if (p == null)
                        continue;

                    IRegion widgetRegion = extension.modelRange2WidgetRange(new Region(p.getOffset(), p.getLength()));
                    if (widgetRegion == null)
                        continue;

                    try {
                        if (ANNOTATION_HEIGHT_SCALABLE) {
View Full Code Here

        lines[0] = (pixel0 * maxLines) / rulerLength;
        lines[1] = (pixel1 * maxLines) / rulerLength;

        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

    // http://dev.eclipse.org/bugs/show_bug.cgi?id=34195
    int targetOffset= (ICharacterPairMatcher.RIGHT == anchor) ? offset + 1: offset + length;

    boolean visible= false;
    if (this instanceof ITextViewerExtension5) {
      ITextViewerExtension5 extension= (ITextViewerExtension5) this;
      visible= (extension.modelOffset2WidgetOffset(targetOffset) > -1);
    } else {
      IRegion visibleRegion= getVisibleRegion();
      // http://dev.eclipse.org/bugs/show_bug.cgi?id=34195
      visible= (targetOffset >= visibleRegion.getOffset() && targetOffset <= visibleRegion.getOffset() + visibleRegion.getLength());
    }
View Full Code Here

     */
    @Override
    protected void adjustHighlightRange(int offset, int length) {
        ISourceViewer viewer = getSourceViewer();
        if (viewer instanceof ITextViewerExtension5) {
            ITextViewerExtension5 extension = (ITextViewerExtension5) viewer;
            extension.exposeModelRange(new Region(offset, length));
        }
    }
View Full Code Here

    int topLine;
    IRegion coverage;

    if (fCachedTextViewer instanceof ITextViewerExtension5) {
      ITextViewerExtension5 extension= (ITextViewerExtension5) fCachedTextViewer;

      // ITextViewer.getTopIndex returns the fully visible line, but we want the partially
      // visible one
      int widgetTopLine= JFaceTextUtil.getPartialTopIndex(fCachedTextWidget);
      topLine= extension.widgetLine2ModelLine(widgetTopLine);

      coverage= extension.getModelCoverage();

    } else {
      topLine= JFaceTextUtil.getPartialTopIndex(fCachedTextViewer);
      coverage= fCachedTextViewer.getVisibleRegion();
    }
View Full Code Here

    IAnnotationAccessExtension annotationAccessExtension= null;
    if (fAnnotationAccess instanceof IAnnotationAccessExtension)
      annotationAccessExtension= (IAnnotationAccessExtension) fAnnotationAccess;

    ITextViewerExtension5 extension= (ITextViewerExtension5) fTextViewer;
    StyledText textWidget= fTextViewer.getTextWidget();

    fScrollPos= textWidget.getTopPixel();
    Point dimension= fCanvas.getSize();

    // draw Annotations
    Rectangle r= new Rectangle(0, 0, 0, 0);
    int maxLayer= 1// loop at least once through layers.

    for (int layer= 0; layer < maxLayer; layer++) {
      Iterator iter= fModel.getAnnotationIterator();
      while (iter.hasNext()) {
        IAnnotationPresentation annotationPresentation= null;
        Annotation annotation= (Annotation) iter.next();

        int lay= IAnnotationAccessExtension.DEFAULT_LAYER;
        if (annotationAccessExtension != null)
          lay= annotationAccessExtension.getLayer(annotation);
        else if (annotation instanceof IAnnotationPresentation) {
          annotationPresentation= (IAnnotationPresentation)annotation;
          lay= annotationPresentation.getLayer();
        }
        maxLayer= Math.max(maxLayer, lay+1)// dynamically update layer maximum
        if (lay != layer// wrong layer: skip annotation
          continue;

        Position position= fModel.getPosition(annotation);
        if (position == null)
          continue;

        IRegion widgetRegion= extension.modelRange2WidgetRange(new Region(position.getOffset(), position.getLength()));
        if (widgetRegion == null)
          continue;

        int startLine= extension.widgetLineOfWidgetOffset(widgetRegion.getOffset());
        if (startLine == -1)
          continue;

        int endLine= extension.widgetLineOfWidgetOffset(widgetRegion.getOffset() + Math.max(widgetRegion.getLength() -1, 0));
        if (endLine == -1)
          continue;

        r.x= 0;
        r.y= JFaceTextUtil.computeLineHeight(textWidget, 0, startLine, startLine- fScrollPos;
View Full Code Here

   * @since 2.1
   */
  protected final static int widgetLine2ModelLine(ITextViewer viewer, int widgetLine) {

    if (viewer instanceof ITextViewerExtension5) {
      ITextViewerExtension5 extension= (ITextViewerExtension5) viewer;
      return extension.widgetLine2ModelLine(widgetLine);
    }

    try {
      IRegion r= viewer.getVisibleRegion();
      IDocument d= viewer.getDocument();
View Full Code Here

   * @since 3.0
   */
  private ILineRange adaptLineRangeToFolding(ILineRange lineRange, int line) {

    if (fSourceViewer instanceof ITextViewerExtension5) {
      ITextViewerExtension5 extension= (ITextViewerExtension5) fSourceViewer;

      try {
        IRegion region= convertToRegion(lineRange);
        IRegion[] coverage= extension.getCoveredModelRanges(region);
        if (coverage != null && coverage.length > 0) {
          IRegion container= findRegionContainingLine(coverage, line);
          if (container != null)
            return convertToLineRange(container);
        }
View Full Code Here

   * @return the line number relative to the viewer's visible region
   * @throws BadLocationException if <code>line</code> is not valid in the viewer's document
   */
  private int getWidgetLineNumber(int line) throws BadLocationException {
    if (fSourceViewer instanceof ITextViewerExtension5) {
      ITextViewerExtension5 extension= (ITextViewerExtension5) fSourceViewer;
      return extension.modelLine2WidgetLine(line);
    }

    IRegion region= fSourceViewer.getVisibleRegion();
    int firstLine= fSourceViewer.getDocument().getLineOfOffset(region.getOffset());
    return line - firstLine;
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.