/gecko_sdk/idl/nsIDOMRange.idl
IDL | 116 lines | 52 code | 11 blank | 53 comment | 0 complexity | a4db1b7f7dd64ad55397eef25bd84f37 MD5 | raw file
1/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2/* ***** BEGIN LICENSE BLOCK ***** 3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 4 * 5 * The contents of this file are subject to the Mozilla Public License Version 6 * 1.1 (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * http://www.mozilla.org/MPL/ 9 * 10 * Software distributed under the License is distributed on an "AS IS" basis, 11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 12 * for the specific language governing rights and limitations under the 13 * License. 14 * 15 * The Original Code is mozilla.org code. 16 * 17 * The Initial Developer of the Original Code is 18 * Netscape Communications Corporation. 19 * Portions created by the Initial Developer are Copyright (C) 2000 20 * the Initial Developer. All Rights Reserved. 21 * 22 * Contributor(s): 23 * Vidur Apparao <vidur@netscape.com> (original author) 24 * Johnny Stenback <jst@netscape.com> 25 * 26 * Alternatively, the contents of this file may be used under the terms of 27 * either of the GNU General Public License Version 2 or later (the "GPL"), 28 * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 29 * in which case the provisions of the GPL or the LGPL are applicable instead 30 * of those above. If you wish to allow use of your version of this file only 31 * under the terms of either the GPL or the LGPL, and not to allow others to 32 * use your version of this file under the terms of the MPL, indicate your 33 * decision by deleting the provisions above and replace them with the notice 34 * and other provisions required by the GPL or the LGPL. If you do not delete 35 * the provisions above, a recipient may use your version of this file under 36 * the terms of any one of the MPL, the GPL or the LGPL. 37 * 38 * ***** END LICENSE BLOCK ***** */ 39 40#include "domstubs.idl" 41 42/** 43 * The nsIDOMRange interface is an interface to a DOM range object. 44 * 45 * For more information on this interface please see 46 * http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ 47 * 48 * @status FROZEN 49 */ 50 51[scriptable, uuid(a6cf90ce-15b3-11d2-932e-00805f8add32)] 52interface nsIDOMRange : nsISupports 53{ 54 readonly attribute nsIDOMNode startContainer; 55 // raises(DOMException) on retrieval 56 57 readonly attribute long startOffset; 58 // raises(DOMException) on retrieval 59 60 readonly attribute nsIDOMNode endContainer; 61 // raises(DOMException) on retrieval 62 63 readonly attribute long endOffset; 64 // raises(DOMException) on retrieval 65 66 readonly attribute boolean collapsed; 67 // raises(DOMException) on retrieval 68 69 readonly attribute nsIDOMNode commonAncestorContainer; 70 // raises(DOMException) on retrieval 71 72 void setStart(in nsIDOMNode refNode, in long offset) 73 raises(RangeException, DOMException); 74 void setEnd(in nsIDOMNode refNode, in long offset) 75 raises(RangeException, DOMException); 76 void setStartBefore(in nsIDOMNode refNode) 77 raises(RangeException, DOMException); 78 void setStartAfter(in nsIDOMNode refNode) 79 raises(RangeException, DOMException); 80 void setEndBefore(in nsIDOMNode refNode) 81 raises(RangeException, DOMException); 82 void setEndAfter(in nsIDOMNode refNode) 83 raises(RangeException, DOMException); 84 void collapse(in boolean toStart) 85 raises(DOMException); 86 void selectNode(in nsIDOMNode refNode) 87 raises(RangeException, DOMException); 88 void selectNodeContents(in nsIDOMNode refNode) 89 raises(RangeException, DOMException); 90 91 // CompareHow 92 const unsigned short START_TO_START = 0; 93 const unsigned short START_TO_END = 1; 94 const unsigned short END_TO_END = 2; 95 const unsigned short END_TO_START = 3; 96 97 short compareBoundaryPoints(in unsigned short how, 98 in nsIDOMRange sourceRange) 99 raises(DOMException); 100 void deleteContents() 101 raises(DOMException); 102 nsIDOMDocumentFragment extractContents() 103 raises(DOMException); 104 nsIDOMDocumentFragment cloneContents() 105 raises(DOMException); 106 void insertNode(in nsIDOMNode newNode) 107 raises(DOMException, RangeException); 108 void surroundContents(in nsIDOMNode newParent) 109 raises(DOMException, RangeException); 110 nsIDOMRange cloneRange() 111 raises(DOMException); 112 DOMString toString() 113 raises(DOMException); 114 void detach() 115 raises(DOMException); 116};