Package org.eclipse.jface.text

Examples of org.eclipse.jface.text.IDocumentExtension4


            final String delimiter = document.getLineDelimiter(document
                    .getLineOfOffset(offset - 1));
            String nl = "";
            if (delimiter == null) {
                if (document instanceof IDocumentExtension4) {
                    final IDocumentExtension4 documentExtension4 = (IDocumentExtension4) document;
                    nl = documentExtension4.getDefaultLineDelimiter();
                } else {
                    final String[] delimiters = document.getLegalLineDelimiters();
                    nl = delimiters[0];
                }
            }
View Full Code Here


    ++fOpenConnections;
    if (fOpenConnections == 1) {
      fRightDocument= document;
      fRightDocument.addDocumentListener(this);
      if (document instanceof IDocumentExtension4) {
              IDocumentExtension4 ext= (IDocumentExtension4) document;
              ext.addDocumentRewriteSessionListener(fSessionListener);
            }
      initialize();
    }
  }
View Full Code Here

      fLeftEquivalent= null;

      if (fRightDocument != null) {
        fRightDocument.removeDocumentListener(this);
        if (fRightDocument instanceof IDocumentExtension4) {
                IDocumentExtension4 ext= (IDocumentExtension4) fRightDocument;
                ext.removeDocumentRewriteSessionListener(fSessionListener);
              }
      }
      fRightDocument= null;
      fRightEquivalent= null;
     
View Full Code Here

  /**
   * Recalcs pairs for the document, only if it is required
   */
  private void updatePairs() throws BadLocationException {
    if (fDocument instanceof IDocumentExtension4) {
      IDocumentExtension4 document = (IDocumentExtension4) fDocument;

      if (document.getModificationStamp() == cachedStamp) {
        return;
      }

    } else {
      String content = fDocument.get(0, fDocument.getLength());
View Full Code Here

            region = getModelCoverage();
            formatDocument = true;
          }

          if (document instanceof IDocumentExtension4) {
            IDocumentExtension4 extension = (IDocumentExtension4) document;
            DocumentRewriteSessionType type = (selection.y == 0 || selection.y > MAX_SMALL_FORMAT_LENGTH) ? DocumentRewriteSessionType.UNRESTRICTED : DocumentRewriteSessionType.UNRESTRICTED_SMALL;
            rewriteSession = (extension.getActiveRewriteSession() != null) ? null : extension.startRewriteSession(type);
          }
          else {
            setRedraw(false);
          }

          if (fContentFormatter instanceof IContentFormatterExtension) {
            IContentFormatterExtension extension = (IContentFormatterExtension) fContentFormatter;
            IFormattingContext context = new FormattingContext();
            context.setProperty(FormattingContextProperties.CONTEXT_DOCUMENT, Boolean.valueOf(formatDocument));
            context.setProperty(FormattingContextProperties.CONTEXT_REGION, region);
            extension.format(document, context);
          }
          else {
            fContentFormatter.format(document, region);
          }
        }
        finally {
          try {
            if (rewriteSession != null) {
              IDocumentExtension4 extension = (IDocumentExtension4) document;
              extension.stopRewriteSession(rewriteSession);
            }
            else {
              setRedraw(true);
            }
          }
          finally {
            // end recording
            selection = getTextWidget().getSelection();
            cursorPosition = selection.x;
            selectionLength = selection.y - selection.x;
            endRecording(cursorPosition, selectionLength);
          }
        }
        break;
      case FORMAT_ACTIVE_ELEMENTS :
        rewriteSession = null;
        document = getDocument();
        try {
          /*
           * This command will format the node at cursor position
           * (and all its children)
           */
          // begin recording
          beginRecording(FORMAT_ACTIVE_ELEMENTS_TEXT, FORMAT_ACTIVE_ELEMENTS_TEXT, cursorPosition, selectionLength);
          IRegion region = null;
          Point s = getSelectedRange();
          if (s.y > -1) {
            // only format node at cursor position
            region = new Region(s.x, s.y);
          }

          if (document instanceof IDocumentExtension4) {
            IDocumentExtension4 extension = (IDocumentExtension4) document;
            DocumentRewriteSessionType type = (selection.y == 0 || selection.y > MAX_SMALL_FORMAT_LENGTH) ? DocumentRewriteSessionType.UNRESTRICTED : DocumentRewriteSessionType.UNRESTRICTED_SMALL;
            rewriteSession = (extension.getActiveRewriteSession() != null) ? null : extension.startRewriteSession(type);
          }
          else {
            setRedraw(false);
          }

          if (fContentFormatter instanceof IContentFormatterExtension) {
            IContentFormatterExtension extension = (IContentFormatterExtension) fContentFormatter;
            IFormattingContext context = new FormattingContext();
            context.setProperty(FormattingContextProperties.CONTEXT_DOCUMENT, Boolean.FALSE);
            context.setProperty(FormattingContextProperties.CONTEXT_REGION, region);
            extension.format(getDocument(), context);
          }
          else {
            fContentFormatter.format(getDocument(), region);
          }
        }
        finally {
          try {
            if (rewriteSession != null) {
              IDocumentExtension4 extension = (IDocumentExtension4) document;
              extension.stopRewriteSession(rewriteSession);
            }
            else {
              setRedraw(true);
            }
          }
View Full Code Here

            region = getModelCoverage();
            formatDocument = true;
          }

          if (document instanceof IDocumentExtension4) {
            IDocumentExtension4 extension = (IDocumentExtension4) document;
            DocumentRewriteSessionType type = (selection.y == 0 || selection.y > MAX_SMALL_FORMAT_LENGTH) ? DocumentRewriteSessionType.UNRESTRICTED : DocumentRewriteSessionType.UNRESTRICTED_SMALL;
            rewriteSession = (extension.getActiveRewriteSession() != null) ? null : extension.startRewriteSession(type);
          }
          else {
            setRedraw(false);
          }

          if (fContentFormatter instanceof IContentFormatterExtension) {
            IContentFormatterExtension extension = (IContentFormatterExtension) fContentFormatter;
            IFormattingContext context = new FormattingContext();
            context.setProperty(FormattingContextProperties.CONTEXT_DOCUMENT, Boolean.valueOf(formatDocument));
            context.setProperty(FormattingContextProperties.CONTEXT_REGION, region);
            extension.format(document, context);
          }
          else {
            fContentFormatter.format(document, region);
          }
        }
        finally {
          try {
            if (rewriteSession != null) {
              IDocumentExtension4 extension = (IDocumentExtension4) document;
              extension.stopRewriteSession(rewriteSession);
            }
            else {
              setRedraw(true);
            }
          }
          finally {
            // end recording
            selection = getTextWidget().getSelection();
            cursorPosition = selection.x;
            selectionLength = selection.y - selection.x;
            endRecording(cursorPosition, selectionLength);
          }
        }
        break;
      case FORMAT_ACTIVE_ELEMENTS :
        rewriteSession = null;
        document = getDocument();
        try {
          /*
           * This command will format the node at cursor position
           * (and all its children)
           */
          // begin recording
          beginRecording(FORMAT_ACTIVE_ELEMENTS_TEXT, FORMAT_ACTIVE_ELEMENTS_TEXT, cursorPosition, selectionLength);
          IRegion region = null;
          Point s = getSelectedRange();
          if (s.y > -1) {
            // only format node at cursor position
            region = new Region(s.x, s.y);
          }

          if (document instanceof IDocumentExtension4) {
            IDocumentExtension4 extension = (IDocumentExtension4) document;
            DocumentRewriteSessionType type = (selection.y == 0 || selection.y > MAX_SMALL_FORMAT_LENGTH) ? DocumentRewriteSessionType.UNRESTRICTED : DocumentRewriteSessionType.UNRESTRICTED_SMALL;
            rewriteSession = (extension.getActiveRewriteSession() != null) ? null : extension.startRewriteSession(type);
          }
          else {
            setRedraw(false);
          }

          if (fContentFormatter instanceof IContentFormatterExtension) {
            IContentFormatterExtension extension = (IContentFormatterExtension) fContentFormatter;
            IFormattingContext context = new FormattingContext();
            context.setProperty(FormattingContextProperties.CONTEXT_DOCUMENT, Boolean.FALSE);
            context.setProperty(FormattingContextProperties.CONTEXT_REGION, region);
            extension.format(getDocument(), context);
          }
          else {
            fContentFormatter.format(getDocument(), region);
          }
        }
        finally {
          try {
            if (rewriteSession != null) {
              IDocumentExtension4 extension = (IDocumentExtension4) document;
              extension.stopRewriteSession(rewriteSession);
            }
            else {
              setRedraw(true);
            }
          }
View Full Code Here

          final IDocument document= getDocument();
          IFormattingContext context= null;
          DocumentRewriteSession rewriteSession= null;

          if (document instanceof IDocumentExtension4) {
            IDocumentExtension4 extension= (IDocumentExtension4) document;
            DocumentRewriteSessionType type= selection.y == 0 || selection.y > 1000 ? DocumentRewriteSessionType.SEQUENTIAL : DocumentRewriteSessionType.UNRESTRICTED_SMALL;
            rewriteSession= extension.startRewriteSession(type);
          } else {
            setRedraw(false);
            target.beginCompoundChange();
          }

          try {

            final String rememberedContents= document.get();

            try {

              if (fContentFormatter instanceof IContentFormatterExtension) {
                final IContentFormatterExtension extension= (IContentFormatterExtension) fContentFormatter;
                context= createFormattingContext();
                if (selection.y == 0) {
                  context.setProperty(FormattingContextProperties.CONTEXT_DOCUMENT, Boolean.TRUE);
                } else {
                  context.setProperty(FormattingContextProperties.CONTEXT_DOCUMENT, Boolean.FALSE);
                  context.setProperty(FormattingContextProperties.CONTEXT_REGION, new Region(selection.x, selection.y));
                }
                extension.format(document, context);
              } else {
                IRegion r;
                if (selection.y == 0) {
                  IRegion coverage= getModelCoverage();
                  r= coverage == null ? new Region(0, 0) : coverage;
                } else {
                  r= new Region(selection.x, selection.y);
                }
                fContentFormatter.format(document, r);
              }

              updateSlaveDocuments(document);

            } catch (RuntimeException x) {
              // fire wall for https://bugs.eclipse.org/bugs/show_bug.cgi?id=47472
              // if something went wrong we undo the changes we just did
              // TODO to be removed after 3.0 M8
              document.set(rememberedContents);
              throw x;
            }

          } finally {

            if (document instanceof IDocumentExtension4) {
              IDocumentExtension4 extension= (IDocumentExtension4) document;
              extension.stopRewriteSession(rewriteSession);
            } else {
              target.endCompoundChange();
              setRedraw(true);
            }
View Full Code Here

import org.eclipse.text.edits.MultiTextEdit;
import org.eclipse.text.edits.TextEdit;

public class WodDocumentUtils {
  public static void applyEdits(IDocument document, List<TextEdit> edits) throws MalformedTreeException, BadLocationException {
    IDocumentExtension4 doc4 = (IDocumentExtension4) document;
    DocumentRewriteSession rewriteSession = doc4.startRewriteSession(DocumentRewriteSessionType.UNRESTRICTED);
    try {
      MultiTextEdit multiEdit = new MultiTextEdit();
      for (TextEdit edit : edits) {
        multiEdit.addChild(edit);
      }
      multiEdit.apply(document);
    }
    finally {
      doc4.stopRewriteSession(rewriteSession);
    }

  }
View Full Code Here

  /**
   * Recalcs pairs for the document, only if it is required
   */
  private void updatePairs() throws BadLocationException {
    if (fDocument instanceof IDocumentExtension4) {
      IDocumentExtension4 document = (IDocumentExtension4) fDocument;

      if (document.getModificationStamp() == cachedStamp) {
        return;
      }

    } else {
      String content = fDocument.get(0, fDocument.getLength());
View Full Code Here

    ++fOpenConnections;
    if (fOpenConnections == 1) {
      fRightDocument= document;
      fRightDocument.addDocumentListener(this);
      if (document instanceof IDocumentExtension4) {
              IDocumentExtension4 ext= (IDocumentExtension4) document;
              ext.addDocumentRewriteSessionListener(fSessionListener);
            }
      initialize();
    }
  }
View Full Code Here

TOP

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

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.