Package com.google.collide.shared.document

Examples of com.google.collide.shared.document.LineInfo


     * There can theoretically be multiple text changes, but we just set
     * selection to the first
     */
    TextChange textChange = textChanges.get(0);
    Position endPosition =
        new Position(new LineInfo(textChange.getEndLine(), textChange.getEndLineNumber()),
            textChange.getEndColumn());
    if (textChange.getType() == TextChange.Type.INSERT) {
      endPosition = PositionUtils.getPosition(endPosition, 1);
    }

    selection.setSelection(new LineInfo(textChange.getLine(), textChange.getLineNumber()),
        textChange.getColumn(), endPosition.getLineInfo(),
        endPosition.getColumn());
  }
View Full Code Here


  /**
   * @param column the column of the anchor, or {@link AnchorManager#IGNORE_COLUMN} for a line
   *        anchor
   */
  public Anchor addAnchor(AnchorType type, int lineNumber, int column) {
    LineInfo lineInfo = contents.getLineFinder().findLine(lineNumber);
    return contents.getAnchorManager()
        .createAnchor(type, lineInfo.line(), lineInfo.number(), column);   
  }
View Full Code Here

  /**
   * @param column the column of the anchor, or {@link AnchorManager#IGNORE_COLUMN} for a line
   *        anchor
   */
  public void moveAnchor(Anchor anchor, int lineNumber, int column) {
    LineInfo lineInfo = contents.getLineFinder().findLine(lineNumber);
    contents.getAnchorManager().moveAnchor(anchor, lineInfo.line(), lineInfo.number(), column);   
  }
View Full Code Here

  }

  private void moveViewportToLineNumber(int topLineNumber, int numLinesToShow) {
    LineFinder lineFinder = buffer.getDocument().getLineFinder();

    LineInfo newTop = lineFinder.findLine(getTop(), topLineNumber);

    int targetBottomLineNumber = newTop.number() + numLinesToShow - 1;
    LineInfo newBottom =
        lineFinder.findLine(getBottom(),
            Math.min(document.getLastLineNumber(), targetBottomLineNumber));

    setRange(newTop, newBottom);
  }
View Full Code Here

    topAnchor = null;
    bottomAnchor = null;
  }

  private void resetPosition() {
    LineInfo firstLine = new LineInfo(document.getFirstLine(), 0);
    int lastLineNumber = Math.min(document.getLastLineNumber(), buffer.getFlooredHeightInLines());
    LineInfo lastLine = document.getLineFinder().findLine(lastLineNumber);
    setRange(firstLine, lastLine);
  }
View Full Code Here

      }
    });
  }

  private void setRange(LineInfo newTop, LineInfo newBottom) {
    LineInfo oldTop;
    LineInfo oldBottom;

    if (topAnchor == null || bottomAnchor == null) {
      oldTop = oldBottom = null;
      topAnchor =
          anchorManager.createAnchor(VIEWPORT_MODEL_ANCHOR_TYPE, newTop.line(), newTop.number(),
              AnchorManager.IGNORE_COLUMN);
      topAnchor.setRemovalStrategy(RemovalStrategy.SHIFT);
      topAnchor.getShiftListenerRegistrar().add(anchorShiftedListener);

      bottomAnchor =
          anchorManager.createAnchor(VIEWPORT_MODEL_ANCHOR_TYPE, newBottom.line(),
              newBottom.number(), AnchorManager.IGNORE_COLUMN);
      bottomAnchor.setRemovalStrategy(RemovalStrategy.SHIFT);
      bottomAnchor.getShiftListenerRegistrar().add(anchorShiftedListener);

    } else {
      oldTop = topAnchor.getLineInfo();
      oldBottom = bottomAnchor.getLineInfo();

      if (oldTop.equals(newTop) && oldBottom.equals(newBottom)) {
        return;
      }

      anchorManager.moveAnchor(topAnchor, newTop.line(), newTop.number(),
          AnchorManager.IGNORE_COLUMN);
View Full Code Here

  /**
   * @param lineCount if negative, the bottom anchor will shift upward that many
   *        lines
   */
  private void shiftBottomAnchor(int lineCount) {
    LineInfo bottomLineInfo = bottomAnchor.getLineInfo();
    if (lineCount < 0) {
      for (; lineCount < 0; lineCount++) {
        bottomLineInfo.moveToPrevious();
      }
    } else {
      for (; lineCount > 0; lineCount--) {
        bottomLineInfo.moveToNext();
      }
    }

    setRange(topAnchor.getLineInfo(), bottomLineInfo);
  }
View Full Code Here

      if (!lineVisitor.accept(start.getLine(), start.getLineNumber(), 0, start.getColumn())) {
        return;
      }
    }

    LineInfo curLine = start.getLineInfo();
    curLine.moveTo(iterateForward);

    while (curLine.line() != end.getLine()) {
      if (!lineVisitor.accept(curLine.line(), curLine.number(), 0, curLine.line().length())) {
        return;
      }

      if (!curLine.moveTo(iterateForward)) {
        throw new IllegalStateException(
            "Could not find the requested ending line while visiting position range");
      }
    }
View Full Code Here

    if (manager == null) {
      return;
    }

    int lineNumber = editor.getBuffer().convertYToLineNumber(y, true);
    final LineInfo lineInfo = editor.getDocument().getLineFinder().findLine(lineNumber);
    final int column = editor.getBuffer().convertXToRoundedVisibleColumn(x, lineInfo.line());

    manager.dispatch(new ListenerManager.Dispatcher<MouseHoverListener>() {
      @Override
      public void dispatch(MouseHoverListener listener) {
        listener.onMouseHover(x, y, lineInfo, column);
View Full Code Here

    SelectionModel selection = editor.getSelection();
    selection.deselect();
    Line line = selection.getCursorLine();
    int lineNumber = selection.getCursorLineNumber();
    int lastCursorColumn = LineUtils.getLastCursorColumn(line);
    selection.setCursorPosition(new LineInfo(line, lineNumber), lastCursorColumn);
    editor.getEditorDocumentMutator().insertText(line, lineNumber, lastCursorColumn, "\n");
  }
View Full Code Here

TOP

Related Classes of com.google.collide.shared.document.LineInfo

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.