package com.project.shared.client.html5; import com.google.gwt.dom.client.Node; /* Range IDL from http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#range * interface Range { readonly attribute Node startContainer; readonly attribute unsigned int startOffset; readonly attribute Node endContainer; readonly attribute unsigned int endOffset; readonly attribute boolean collapsed; readonly attribute Node commonAncestorContainer; void setStart(Node refNode, unsigned int offset); void setEnd(Node refNode, unsigned int offset); void setStartBefore(Node refNode); void setStartAfter(Node refNode); void setEndBefore(Node refNode); void setEndAfter(Node refNode); void collapse(boolean toStart); void selectNode(Node refNode); void selectNodeContents(Node refNode); enum CompareHow : unsigned short { START_TO_START = 0, START_TO_END = 1, END_TO_END = 2, END_TO_START = 3 }; short compareBoundaryPoints(CompareHow how, Range sourceRange); void deleteContents() DocumentFragment extractContents(); DocumentFragment cloneContents(); void insertNode(Node newNode); void surroundContents(Node newParent); Range cloneRange(); void detach(); boolean isPointInRange(Node parent, unsigned int offset); short comparePoint(Node parent, unsigned int offset); boolean intersectsNode(Node node); stringifier; };*/ public interface Range { Node getStartContainer(); int getStartOffset(); Node getEndContainer(); int getEndOffset(); boolean getCollapsed(); Node getCommonAncestorContainer(); void setStart(Node refNode, int offset); void setEnd(Node refNode, int offset); void setStartBefore(Node refNode); void setStartAfter(Node refNode); void setEndBefore(Node refNode); void setEndAfter(Node refNode); void collapse(boolean toStart); void selectNode(Node refNode); void selectNodeContents(Node refNode); public static enum CompareHow { START_TO_START(0), START_TO_END(1), END_TO_END(2), END_TO_START(3); @SuppressWarnings("unused") private int _value; CompareHow(int i) { this._value = i; } }; short compareBoundaryPoints(CompareHow how, Range sourceRange); void deleteContents(); // We can't use import com.google.gwt.xml.client.DocumentFragment; // because it references the gwt.xml Node which is not compatible with dom.Node //DocumentFragment extractContents(); //DocumentFragment cloneContents(); Node extractContents(); Node cloneContents(); void insertNode(Node newNode); void surroundContents(Node newParent); Range cloneRange(); void detach(); boolean isPointInRange(Node parent, int offset); short comparePoint(Node parent, int offset); @Deprecated /** * Although it appears in: http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-range-intersectsnode * It is not included in Gecko 1.9 and higher. https://developer.mozilla.org/en/DOM/range.intersectsNode */ boolean intersectsNode(Node node); }