Package org.eclipse.jface.text

Examples of org.eclipse.jface.text.ITextViewerExtension


    if (fKeyListenerHooked) {
      StyledText text= fViewer.getTextWidget();
      if (Helper2.okToUse(text)) {

        if (fViewer instanceof ITextViewerExtension) {
          ITextViewerExtension e= (ITextViewerExtension) fViewer;
          e.removeVerifyKeyListener(fInternalListener);
        } else {
          text.removeVerifyKeyListener(fInternalListener);
        }

        fKeyListenerHooked= false;
View Full Code Here


      IDocument weDoc = we.getWodEditDocument();
      ITextSelection teDocTSel = (ITextSelection) te.getSourceEditor().getSelectionProvider().getSelection();

      // insert the WebObjects component into the template portion.
      try {
        ITextViewerExtension teExt = (ITextViewerExtension) te.getSourceEditor().getViewer();
        teExt.getRewriteTarget().beginCompoundChange();
        try {
          int selectionStartOffset = teDocTSel.getOffset();
          int selectionEndOffset = teDocTSel.getOffset() + teDocTSel.getLength();

          if (ics.isComponentContent()) {
            int selectionStartLine = teDocTSel.getStartLine();
            int selectionEndLine = teDocTSel.getEndLine();

            StringWriter startTagWriter = new StringWriter();
            htmlElement.writeInlineFormat(startTagWriter, "", true, true, false, false, "$", "");
            String startTag = startTagWriter.toString();

            StringWriter endTagWriter = new StringWriter();
            htmlElement.writeInlineFormat(endTagWriter, "", true, false, false, true, "$", "");
            String endTag = endTagWriter.toString();

            String indentText = getIndentText(teDoc, selectionStartOffset);
            IRegion startLineRegion = teDoc.getLineInformationOfOffset(selectionStartOffset);
            IRegion endLineRegion = teDoc.getLineInformationOfOffset(selectionEndOffset);

            // MS: If the selection starts within the indent
            // area, then you're actually selecting
            // from the beginning of the line, not splitting an
            // existing line of HTML.
            int selectionLineStartOffset = (selectionStartOffset - startLineRegion.getOffset());
            boolean selectionStartedInIndent = (indentText.length() >= selectionLineStartOffset);

            if (selectionStartLine == selectionEndLine) {
              if (selectionEndOffset == endLineRegion.getOffset() && selectionEndOffset > 0) {
                teDoc.replace(selectionEndOffset - 1, 0, endTag);
              } else {
                teDoc.replace(selectionEndOffset, 0, endTag);
              }

              if (selectionStartedInIndent) {
                if (indentText.length() == 0) {
                  int offset = Math.max(startLineRegion.getOffset() - 1, 0);
                  teDoc.replace(offset, 0, startTag);
                } else {
                  teDoc.replace(startLineRegion.getOffset() + indentText.length(), 0, startTag);
                }
              } else {
                teDoc.replace(selectionStartOffset, 0, startTag);
              }
            } else {
              int indentEndOffset;
              String lastLineIndentText = getIndentText(teDoc, selectionEndOffset);
              int selectionLineEndOffset = (selectionEndOffset - endLineRegion.getOffset());
              if (lastLineIndentText.length() >= selectionLineEndOffset) {
                String endText = indentText + endTag + "\n";
                teDoc.replace(endLineRegion.getOffset(), 0, endText);
                indentEndOffset = 1;
              } else {
                String endText = "\n" + indentText + endTag + "\n" + indentText;
                teDoc.replace(selectionEndOffset, 0, endText);
                indentEndOffset = 2;
              }

              int indentStartOffset;
              if (selectionStartedInIndent) {
                indentStartOffset = 1;
                String startText = startTag + "\n" + indentText;
                teDoc.replace(startLineRegion.getOffset() + indentText.length(), 0, startText);
              } else {
                indentStartOffset = 2;
                String startText = "\n" + indentText + startTag + "\n" + indentText;
                teDoc.replace(selectionStartOffset, 0, startText);
              }
              for (int line = selectionStartLine + indentStartOffset; line <= selectionEndLine + indentEndOffset; line++) {
                int lineOffset = teDoc.getLineOffset(line);
                teDoc.replace(lineOffset, 0, "\t");
              }
            }
          } else {
            StringWriter startTagWriter = new StringWriter();
            htmlElement.writeInlineFormat(startTagWriter, null, true, true, false, true, "$", "");
            String tag = startTagWriter.toString();
            teDoc.replace(selectionStartOffset, 0, tag);
          }
        } finally {
          teExt.getRewriteTarget().endCompoundChange();
        }

        // insert the WebObjects component into the bindings
        // portion.
        if (!ics.isInline()) {
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

  public void setMarkAtCursor(boolean set) {

    if (!(fViewer instanceof ITextViewerExtension))
      return;

    ITextViewerExtension viewerExtension= ((ITextViewerExtension) fViewer);

    if (set) {
      Point selection= fViewer.getSelectedRange();
      viewerExtension.setMark(selection.x);

      fStatusLine.setErrorMessage(""); //$NON-NLS-1$
      fStatusLine.setMessage(EditorMessages.Editor_mark_status_message_mark_set);

    } else {
      viewerExtension.setMark(-1);

      fStatusLine.setErrorMessage(""); //$NON-NLS-1$
      fStatusLine.setMessage(EditorMessages.Editor_mark_status_message_mark_cleared);
    }
  }
View Full Code Here

  public void swapMarkAndCursor() {

    if (!(fViewer instanceof ITextViewerExtension))
      return;

    ITextViewerExtension viewerExtension= ((ITextViewerExtension) fViewer);

    int markPosition= viewerExtension.getMark();
    if (markPosition == -1) {
      fStatusLine.setErrorMessage(EditorMessages.MarkRegionTarget_markNotSet);
      fStatusLine.setMessage(""); //$NON-NLS-1$
      return;
    }

    if (!isVisible(fViewer, markPosition)) {
      fStatusLine.setErrorMessage(EditorMessages.MarkRegionTarget_markNotVisible);
      fStatusLine.setMessage(""); //$NON-NLS-1$
      return;
    }

    Point selection= fViewer.getSelectedRange();
    viewerExtension.setMark(selection.x);

    fViewer.setSelectedRange(markPosition, 0);
    fViewer.revealRange(markPosition, 0);

    fStatusLine.setErrorMessage(""); //$NON-NLS-1$
View Full Code Here

     */
    public void install() {
      if (!fIsInstalled) {

        if (fSourceViewer instanceof ITextViewerExtension) {
          ITextViewerExtension e= (ITextViewerExtension) fSourceViewer;
          e.prependVerifyKeyListener(this);
        } else {
          StyledText text= fSourceViewer.getTextWidget();
          text.addVerifyKeyListener(this);
        }

View Full Code Here

     */
    public void uninstall() {
      if (fIsInstalled) {

        if (fSourceViewer instanceof ITextViewerExtension) {
          ITextViewerExtension e= (ITextViewerExtension) fSourceViewer;
          e.removeVerifyKeyListener(this);
        } else if (fSourceViewer != null) {
          StyledText text= fSourceViewer.getTextWidget();
          if (text != null && !text.isDisposed())
            text.removeVerifyKeyListener(fActivationCodeTrigger);
        }
View Full Code Here

      runnable.run();
  }

  private void endCompoundChangeIfNeeded() {
    if (fHasOpenCompoundChange) {
      ITextViewerExtension extension= (ITextViewerExtension) fCurrentTarget.getViewer();
      IRewriteTarget target= extension.getRewriteTarget();
      target.endCompoundChange();
      fHasOpenCompoundChange= false;
    }
  }
View Full Code Here

    }
  }

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

      int topIndex= sourceViewer.getTopIndex();

      StyledText styledText= sourceViewer.getTextWidget();
      Control parent= styledText;
      if (sourceViewer instanceof ITextViewerExtension) {
        ITextViewerExtension extension= (ITextViewerExtension) sourceViewer;
        parent= extension.getControl();
      }

      parent.setRedraw(false);

      styledText.setFont(font);
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.