diff options
Diffstat (limited to 'src/dom/ranges.idl')
| -rwxr-xr-x | src/dom/ranges.idl | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/src/dom/ranges.idl b/src/dom/ranges.idl new file mode 100755 index 000000000..205b1bab7 --- /dev/null +++ b/src/dom/ranges.idl @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +// File: http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/ranges.idl + +#ifndef _RANGES_IDL_ +#define _RANGES_IDL_ + +#include "dom.idl" + +#pragma prefix "dom.w3c.org" +module ranges +{ + + typedef dom::Node Node; + typedef dom::DocumentFragment DocumentFragment; + typedef dom::DOMString DOMString; + + // Introduced in DOM Level 2: + exception RangeException { + unsigned short code; + }; + // RangeExceptionCode + const unsigned short BAD_BOUNDARYPOINTS_ERR = 1; + const unsigned short INVALID_NODE_TYPE_ERR = 2; + + + // Introduced in DOM Level 2: + interface Range { + readonly attribute Node startContainer; + // raises(dom::DOMException) on retrieval + + readonly attribute long startOffset; + // raises(dom::DOMException) on retrieval + + readonly attribute Node endContainer; + // raises(dom::DOMException) on retrieval + + readonly attribute long endOffset; + // raises(dom::DOMException) on retrieval + + readonly attribute boolean collapsed; + // raises(dom::DOMException) on retrieval + + readonly attribute Node commonAncestorContainer; + // raises(dom::DOMException) on retrieval + + void setStart(in Node refNode, + in long offset) + raises(RangeException, + dom::DOMException); + void setEnd(in Node refNode, + in long offset) + raises(RangeException, + dom::DOMException); + void setStartBefore(in Node refNode) + raises(RangeException, + dom::DOMException); + void setStartAfter(in Node refNode) + raises(RangeException, + dom::DOMException); + void setEndBefore(in Node refNode) + raises(RangeException, + dom::DOMException); + void setEndAfter(in Node refNode) + raises(RangeException, + dom::DOMException); + void collapse(in boolean toStart) + raises(dom::DOMException); + void selectNode(in Node refNode) + raises(RangeException, + dom::DOMException); + void selectNodeContents(in Node refNode) + raises(RangeException, + dom::DOMException); + + // CompareHow + const unsigned short START_TO_START = 0; + const unsigned short START_TO_END = 1; + const unsigned short END_TO_END = 2; + const unsigned short END_TO_START = 3; + + short compareBoundaryPoints(in unsigned short how, + in Range sourceRange) + raises(dom::DOMException); + void deleteContents() + raises(dom::DOMException); + DocumentFragment extractContents() + raises(dom::DOMException); + DocumentFragment cloneContents() + raises(dom::DOMException); + void insertNode(in Node newNode) + raises(dom::DOMException, + RangeException); + void surroundContents(in Node newParent) + raises(dom::DOMException, + RangeException); + Range cloneRange() + raises(dom::DOMException); + DOMString toString() + raises(dom::DOMException); + void detach() + raises(dom::DOMException); + }; + + // Introduced in DOM Level 2: + interface DocumentRange { + Range createRange(); + }; +}; + +#endif // _RANGES_IDL_ + |
