//Auto-generated by kalyptus. DO NOT EDIT.
package org.trinitydesktop.koala;

import org.trinitydesktop.qt.Qt;
import org.trinitydesktop.qt.QtSupport;

/**


*/
public class Range implements QtSupport {
	private long _qt;
	private boolean _allocatedInJavaWorld = true;
	protected Range(Class dummy){}

	public Range() {
		newRange();
	}
	private native void newRange();
	public Range(Document rootContainer) {
		newRange(rootContainer);
	}
	private native void newRange(Document rootContainer);
	public Range(Range other) {
		newRange(other);
	}
	private native void newRange(Range other);
	public Range(Node startContainer, long startOffset, Node endContainer, long endOffset) {
		newRange(startContainer,startOffset,endContainer,endOffset);
	}
	private native void newRange(Node startContainer, long startOffset, Node endContainer, long endOffset);
	/**
		 Node within which the range begins
			     		@short    Node within which the range begins
	*/
	public native Node startContainer();
	/**
		 Offset within the starting node of the range.
			     		@short    Offset within the starting node of the range.
	*/
	public native long startOffset();
	/**
		 Node within which the range ends
			     		@short    Node within which the range ends
	*/
	public native Node endContainer();
	/**
		 Offset within the ending node of the range.
			     		@short    Offset within the ending node of the range.
	*/
	public native long endOffset();
	/**
		 true if the range is collapsed
			     		@short    true if the range is collapsed
	*/
	public native boolean collapsed();
	/**
		 Gets the common ancestor container of the range's two end-points.
		 Also sets it.
			     		@short    Gets the common ancestor container of the range's two end-points.
	*/
	public native Node commonAncestorContainer();
	/**
		 Sets the attributes describing the start of the range.
			@param refNode The <code>refNode</code> value. This parameter
		 must be different from <code>null</code> .
			@param offset The <code>startOffset</code> value.
			  INVALID_NODE_TYPE_ERR: Raised if <code>refNode</code> or an
		 ancestor of <code>refNode</code> is an Attr, Entity,
		 Notation, or DocumentType node.
			  If an offset is out-of-bounds, should it just be fixed up or
		 should an exception be raised.
			     		@short    Sets the attributes describing the start of the range.
	*/
	public native void setStart(Node refNode, long offset);
	/**
		 Sets the attributes describing the end of a range.
			@param refNode The <code>refNode</code> value. This parameter
		 must be different from <code>null</code> .
			@param offset The <code>endOffset</code> value.
			  INVALID_NODE_TYPE_ERR: Raised if <code>refNode</code> or an
		 ancestor of <code>refNode</code> is an Attr, Entity,
		 Notation, or DocumentType node.
			     		@short    Sets the attributes describing the end of a range.
	*/
	public native void setEnd(Node refNode, long offset);
	/**
		 Sets the start position to be before a node
			@param refNode Range starts before <code>refNode</code>
			     		@short    Sets the start position to be before a node
	*/
	public native void setStartBefore(Node refNode);
	/**
		 Sets the start position to be after a node
			@param refNode Range starts after <code>refNode</code>
			     		@short    Sets the start position to be after a node
	*/
	public native void setStartAfter(Node refNode);
	/**
		 Sets the end position to be before a node.
			@param refNode Range ends before <code>refNode</code>
			     		@short    Sets the end position to be before a node.
	*/
	public native void setEndBefore(Node refNode);
	/**
		 Sets the end of a range to be after a node
			@param refNode Range ends after <code>refNode</code> .
			     		@short    Sets the end of a range to be after a node
	*/
	public native void setEndAfter(Node refNode);
	/**
		 Collapse a range onto one of its end-points
			@param toStart If true, collapses the Range onto its start; if
		 false, collapses it onto its end.
			     		@short    Collapse a range onto one of its end-points
	*/
	public native void collapse(boolean toStart);
	/**
		 Select a node and its contents
			@param refNode The node to select.
			     		@short    Select a node and its contents
	*/
	public native void selectNode(Node refNode);
	/**
		 Select the contents within a node
			@param refNode Node to select from
			     		@short    Select the contents within a node
	*/
	public native void selectNodeContents(Node refNode);
	/**
		 Compare the end-points of two ranges in a document.
			     		@return -1, 0 or 1 depending on whether the corresponding
 end-point of the Range is before, equal to, or after the
 corresponding end-point of <code>sourceRange</code> .

		@short    Compare the end-points of two ranges in a document.
	*/
	// short compareBoundaryPoints(DOM::Range::CompareHow arg1,const DOM::Range& arg2); >>>> NOT CONVERTED
	/**
			 not part of the DOM
			 Compare the boundary-points of a range.
			 Return true if the startContainer is before the endContainer,
		 or if they are equal.
		 Return false if the startContainer is after the endContainer.
			     		@short
	*/
	public native boolean boundaryPointsValid();
	/**
		 Removes the contents of a range from the containing document or
		 document fragment without returning a reference to the removed
		 content.
			     		@short    Removes the contents of a range from the containing document or  document fragment without returning a reference to the removed  content.
	*/
	public native void deleteContents();
	/**
		 Moves the contents of a range from the containing document or
		 document fragment to a new DocumentFragment.
			  HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be
		 extracted into the new DocumentFragment.
			     		@return A DocumentFragment containing the extracted contents.

		@short    Moves the contents of a range from the containing document or  document fragment to a new DocumentFragment.
	*/
	public native DocumentFragment extractContents();
	/**
		 Duplicates the contents of a range
			     		@return A DocumentFragment containing contents equivalent to
 those of this range.

		@short    Duplicates the contents of a range
	*/
	public native DocumentFragment cloneContents();
	/**
		 Inserts a node into the document or document fragment at the
		 start of the range.
			@param newNode The node to insert at the start of the range
			  WRONG_DOCUMENT_ERR: Raised if <code>newNode</code> and the
		 container of the start of the Range were not created from the
		 same document.
			  HIERARCHY_REQUEST_ERR: Raised if the container of the start of
		 the Range is of a type that does not allow children of the type
		 of <code>newNode</code> or if <code>newNode</code> is an
		 ancestor of the container .
			     		@short    Inserts a node into the document or document fragment at the  start of the range.
	*/
	public native void insertNode(Node newNode);
	/**
		 Reparents the contents of the range to the given node and
		 inserts the node at the position of the start of the range.
			@param newParent The node to surround the contents with.
			  WRONG_DOCUMENT_ERR: Raised if <code>newParent</code> and the
		 container of the start of the Range were not created from the
		 same document.
			  HIERARCHY_REQUEST_ERR: Raised if the container of the start of
		 the Range is of a type that does not allow children of the type
		 of <code>newParent</code> or if <code>newParent</code> is
		 an ancestor of the container or if <code>node</code> would
		 end up with a child node of a type not allowed by the type of
		 <code>node</code> .
			  INVALID_NODE_TYPE_ERR: Raised if <code>node</code> is an
		 Attr, Entity, DocumentType, Notation, Document, or
		 DocumentFragment node.
			     		@short    Reparents the contents of the range to the given node and  inserts the node at the position of the start of the range.
	*/
	public native void surroundContents(Node newParent);
	/**
		 Produces a new range whose end-points are equal to the
		 end-points of the range.
			     		@return The duplicated range.

		@short    Produces a new range whose end-points are equal to the  end-points of the range.
	*/
	public native Range cloneRange();
	/**
		 Returns the contents of a range as a string.
			     		@return The contents of the range.

		@short    Returns the contents of a range as a string.
	*/
	public native String toString();
	/**
			     		@short
	*/
	public native String toHTML();
	public native DocumentFragment createContextualFragment(String html);
	/**
		 Called to indicate that the range is no longer in use and that
		 the implementation may relinquish any resources associated with
		 this range. Subsequent calls to any methods or attribute getters
		 on this range will result in a DOMException being thrown with an
		 error code of INVALID_STATE_ERR.
			     		@short    Called to indicate that the range is no longer in use and that  the implementation may relinquish any resources associated with  this range.
	*/
	public native void detach();
	/**
		 not part of the DOM
		 true if the range is detached
			     		@short    not part of the DOM  true if the range is detached
	*/
	public native boolean isDetached();
	/**
			 not part of the DOM
		     		@short
	*/
	// DOM::RangeImpl* handle(); >>>> NOT CONVERTED
	public native boolean isNull();
	// DOM::Range* Range(DOM::RangeImpl* arg1); >>>> NOT CONVERTED
}
