Package org.eclipse.jface.text

Examples of org.eclipse.jface.text.ITextViewerExtension


    }
  }

  private void beginCompoundChange() {
    if (!fHasOpenCompoundChange) {
      ITextViewerExtension extension= (ITextViewerExtension) fCurrentTarget.getViewer();
      IRewriteTarget target= extension.getRewriteTarget();
      target.beginCompoundChange();
      fHasOpenCompoundChange= true;
    }
  }
View Full Code Here


   * @param viewer the viewer
   */
  public SelectionProcessor(ITextViewer viewer) {
    this(viewer.getDocument(), viewer.getTextWidget().getTabs());
    if (viewer instanceof ITextViewerExtension) {
      ITextViewerExtension ext= (ITextViewerExtension)viewer;
      fRewriteTarget= ext.getRewriteTarget();
    }
    fSelectionProvider= viewer.getSelectionProvider();
  }
View Full Code Here

    try {

      IDocument document= fViewer.getDocument();

      if (fViewer instanceof ITextViewerExtension) {
        ITextViewerExtension extension= (ITextViewerExtension) fViewer;
        target= extension.getRewriteTarget();
      }

      if (target != null)
        target.beginCompoundChange();
View Full Code Here

    layout.marginHeight= 0;
    fContextSelectorShell.setLayout(layout);
    fContextSelectorShell.setBackground(control.getDisplay().getSystemColor(SWT.COLOR_BLACK));

    if (fViewer instanceof ITextViewerExtension) {
      final ITextViewerExtension textViewerExtension= (ITextViewerExtension)fViewer;
      final StyledText textWidget= fViewer.getTextWidget();

      final VerifyKeyListener verifyListener= new VerifyKeyListener() {
        public void verifyKey(VerifyEvent event) {
          if (isActive() && event.keyCode == 13 && event.character == '\r' && event.widget == textWidget) {
            event.doit= false;
            insertSelectedContext();
            hideContextSelector();
          }
        }
      };

      textViewerExtension.prependVerifyKeyListener(verifyListener);

      fContextSelectorShell.addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
          textViewerExtension.removeVerifyKeyListener(verifyListener);
        }
      });
    }

    fContextSelectorTable= new Table(fContextSelectorShell, SWT.H_SCROLL | SWT.V_SCROLL);
View Full Code Here

    try {

      IDocument document= fContentAssistSubjectControlAdapter.getDocument();

      if (fViewer instanceof ITextViewerExtension) {
        ITextViewerExtension extension= (ITextViewerExtension) fViewer;
        target= extension.getRewriteTarget();
      }

      if (target != null)
        target.beginCompoundChange();
View Full Code Here

    return 0;
  }

  private void beginCompoundChange(ITextViewer viewer) {
    if (viewer instanceof ITextViewerExtension) {
      ITextViewerExtension extension = (ITextViewerExtension) viewer;
      IRewriteTarget rewriteTarget = extension.getRewriteTarget();
      rewriteTarget.beginCompoundChange();
    }
  }
View Full Code Here

    }
  }

  private void endCompoundChange(ITextViewer viewer) {
    if (viewer instanceof ITextViewerExtension) {
      ITextViewerExtension extension = (ITextViewerExtension) viewer;
      IRewriteTarget rewriteTarget = extension.getRewriteTarget();
      rewriteTarget.beginCompoundChange();
    }
  }
View Full Code Here

      int topPixel = -1;
      // store the pixel coordinates to prevent the ui from flickering
      StyledText widget = viewer.getTextWidget();
      if (widget != null)
        topPixel = widget.getTopPixel();
      ITextViewerExtension viewerExtension = null;
      if (viewer instanceof ITextViewerExtension) {
        viewerExtension = (ITextViewerExtension) viewer;
        viewerExtension.setRedraw(false);
      }
      DocumentRewriteSession rewriteSession = null;
      try {
        if (document instanceof IDocumentExtension4) {
          rewriteSession = ((IDocumentExtension4) document).startRewriteSession(DocumentRewriteSessionType.UNRESTRICTED_SMALL);
        }
        // compute import statement's offset
        int offset = 0;
        boolean startWithLineBreak = true;
        boolean endWithLineBreak = false;
        if (file.getImports().isEmpty()) {
          startWithLineBreak = false;
          if (clazz == null) {
            offset = document.getLength();
          } else {
            ICompositeNode node = NodeModelUtils.getNode(clazz);
            offset = node.getOffset();
            endWithLineBreak = true;
          }
        } else {
          ICompositeNode node = NodeModelUtils.getNode(file.getImports().get(file.getImports().size() - 1));
          offset = node.getOffset() + node.getLength();
        }
        offset = Math.min(proposal.getReplacementOffset(), offset);
     
        // apply short proposal
        String escapedShortname = shortName;
        if (valueConverter != null) {
          escapedShortname = valueConverter.toString(shortName);
        }
        proposal.setCursorPosition(escapedShortname.length());
        document.replace(proposal.getReplacementOffset(), proposal.getReplacementLength(), escapedShortname);
     
        if( ! found ) {
          // add import statement
          String importStatement = (startWithLineBreak ? "\nimport " : "import ") + importConverter.toString(typeName);
          if (endWithLineBreak)
            importStatement += "\n\n";
          document.replace(offset, 0, importStatement.toString());
          proposal.setCursorPosition(proposal.getCursorPosition() + importStatement.length())
        }
       
        // set the pixel coordinates
        if (widget != null) {
          int additionalTopPixel = 0;
          if (startWithLineBreak)
            additionalTopPixel += widget.getLineHeight();
          if (endWithLineBreak)
            additionalTopPixel += 2 * widget.getLineHeight();
          widget.setTopPixel(topPixel + additionalTopPixel);
        }
      } finally {
        if (rewriteSession != null) {
          ((IDocumentExtension4) document).stopRewriteSession(rewriteSession);
        }
        if (viewerExtension != null)
          viewerExtension.setRedraw(true);
      }
    }
View Full Code Here

TOP

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

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.