/** * {@inheritDoc} */ @Override public int getSelectionStart() { return selection_.getStartOffset(); }
/** * Returns the selected text in the owner element, or {@code null} if there is no selected text. * @return the selected text in the owner element, or {@code null} if there is no selected text */ public String getSelectedText() { return selection_.toString(); }
/** * Constructs a text range around the provided range. * @param range the initial range */ public TextRange(final Range range) { range_ = range.cloneRange(); }
public Range getSelectionRange() { if (this.dotInfo == null || this.dotInfo.range == null) { return null; } Range r = docRange.createRange(); // some xml parsers don't allow end<start in the same text node. So, // handle dot<mark here if (this.markInfo.range.compareBoundaryPoints(Range.START_TO_START, this.dotInfo.range) <= 0) { r.setStart(this.markInfo.range.getStartContainer(), this.markInfo.range .getStartOffset()); r.setEnd(this.dotInfo.range.getStartContainer(), this.dotInfo.range.getStartOffset()); } else { r.setStart(this.dotInfo.range.getStartContainer(), this.dotInfo.range.getStartOffset()); r.setEnd(this.markInfo.range.getStartContainer(), this.markInfo.range.getStartOffset()); } return r; }
public short acceptNode(Node n) { acceptRange.setStart(n, 0); if (tr.getStartContainer() == n) { return FILTER_ACCEPT; } if ((acceptRange.compareBoundaryPoints(Range.START_TO_START, tr) < 0 || acceptRange .compareBoundaryPoints(Range.END_TO_START, tr) > 0) && n != tr.getStartContainer() && n != tr.getEndContainer()) { return NodeFilter.FILTER_SKIP; } return NodeFilter.FILTER_ACCEPT; }
public String toString() { return range.getStartContainer() + ":" + range.getStartOffset(); }
/** * {@inheritDoc} */ @Override public int getSelectionEnd() { return selection_.getEndOffset(); }
public static DocumentFragment getContentAsFragment(Element element) { Node node = element.getFirstChild(); if (node == null) { return null; // no content } Range range = ((DocumentRange) element.getOwnerDocument()).createRange(); range.setStartBefore(node); range.setEndAfter(element.getLastChild()); return range.cloneContents(); }
/** * Collapses the range. * @param toStart indicates if collapse should be done to the start * @see <a href="http://msdn.microsoft.com/en-us/library/ms536371.aspx">MSDN doc</a> */ public void jsxFunction_collapse(final boolean toStart) { collapsed_ = true; range_.collapse(toStart); }
public short acceptNode(Node n) { acceptRange.setStart(n, 0); if (tr.getStartContainer() == n) { return FILTER_ACCEPT; } if ((acceptRange.compareBoundaryPoints(Range.START_TO_START, tr) < 0 || acceptRange .compareBoundaryPoints(Range.END_TO_START, tr) > 0) && n != tr.getStartContainer() && n != tr.getEndContainer()) { return NodeFilter.FILTER_SKIP; } return NodeFilter.FILTER_ACCEPT; }
/** * {@inheritDoc} */ @Override public int getSelectionStart() { return selection_.getStartOffset(); }
/** * {@inheritDoc} */ @Override public int getSelectionEnd() { return selection_.getEndOffset(); }
/** * Constructs a text range around the provided range. * @param range the initial range */ public TextRange(final Range range) { range_ = range.cloneRange(); }
/** * Collapses the range. * @param toStart indicates if collapse should be done to the start * @see <a href="http://msdn.microsoft.com/en-us/library/ms536371.aspx">MSDN doc</a> */ public void jsxFunction_collapse(final boolean toStart) { collapsed_ = true; range_.collapse(toStart); }
/** * Returns the selected text in the owner element, or {@code null} if there is no selected text. * @return the selected text in the owner element, or {@code null} if there is no selected text */ public String getSelectedText() { return selection_.toString(); }
public short acceptNode(Node n) { acceptRange.setStart(n, 0); if (tr.getStartContainer() == n) { return FILTER_ACCEPT; } if ((acceptRange.compareBoundaryPoints(Range.START_TO_START, tr) < 0 || acceptRange .compareBoundaryPoints(Range.END_TO_START, tr) > 0) && n != tr.getStartContainer() && n != tr.getEndContainer()) { return NodeFilter.FILTER_SKIP; } return NodeFilter.FILTER_ACCEPT; }
/** * Constructs a text range around the provided range. * @param range the initial range */ public TextRange(final Range range) { range_ = range.cloneRange(); }
/** * Collapses the range. * @param toStart indicates if collapse should be done to the start * @see <a href="http://msdn.microsoft.com/en-us/library/ms536371.aspx">MSDN doc</a> */ public void jsxFunction_collapse(final boolean toStart) { collapsed_ = true; range_.collapse(toStart); }
/** * Constructs a text range around the provided range. * @param range the initial range */ public TextRange(final Range range) { range_ = range.cloneRange(); }
/** * Constructs a text range around the provided range. * @param range the initial range */ public TextRange(final Range range) { range_ = range.cloneRange(); }