From 62b3714065b11cd3c5331dbfe529e05b2aa092d6 Mon Sep 17 00:00:00 2001 From: "mjudge%netscape.com" Date: Thu, 14 Sep 2000 05:22:37 +0000 Subject: [PATCH] not in build yet. adding for beta3 bug on api change --- content/base/public/nsISelection.idl | 66 ++++++++++++++++++++ content/base/public/nsISelectionListener.idl | 44 +++++++++++++ layout/base/public/nsISelection.idl | 66 ++++++++++++++++++++ layout/base/public/nsISelectionListener.idl | 44 +++++++++++++ 4 files changed, 220 insertions(+) create mode 100644 content/base/public/nsISelection.idl create mode 100644 content/base/public/nsISelectionListener.idl create mode 100644 layout/base/public/nsISelection.idl create mode 100644 layout/base/public/nsISelectionListener.idl diff --git a/content/base/public/nsISelection.idl b/content/base/public/nsISelection.idl new file mode 100644 index 000000000000..92e056db32f6 --- /dev/null +++ b/content/base/public/nsISelection.idl @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * + * The contents of this file are subject to the Netscape Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/NPL/ + * + * Software distributed under the License is distributed on an "AS + * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + * implied. See the License for the specific language governing + * rights and limitations under the License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All + * Rights Reserved. + * + * Contributor(s): + */ + +#include "nsISupports.idl" +#include "domstubs.idl" +#include "nsISelectionListener.idl" +#include "nsIEnumerator.idl" + +%{C++ +class nsIDOMNode; +class nsIDOMRange; +class nsISelectionListener; +%} + +[scriptable, uuid(B2C7ED59-8634-4352-9E37-5484C8B6E4E1)] +interface nsISelection : nsISupports + { + readonly attribute nsIDOMNode anchorNode; + readonly attribute long anchorOffset; + + readonly attribute nsIDOMNode focusNode; + readonly attribute long focusOffset; + + readonly attribute boolean isCollapsed; + + readonly attribute long rangeCount; + + nsIDOMRange getRangeAt(in long index); + + void collapse(in nsIDOMNode parentNode, in long offset); + void extend(in nsIDOMNode parentNode, in long offset); + + void collapseToStart(); + void collapseToEnd(); + + boolean containsNode(in nsIDOMNode node, in boolean recursive); + + void selectAllChildren(in nsIDOMNode parentNode); + + void addRange(in nsIDOMRange range); + void removeRange(in nsIDOMRange range); + void removeAllRanges(); + + void deleteFromDocument(); + + wstring toString(); +}; diff --git a/content/base/public/nsISelectionListener.idl b/content/base/public/nsISelectionListener.idl new file mode 100644 index 000000000000..75fb535dfac1 --- /dev/null +++ b/content/base/public/nsISelectionListener.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * + * The contents of this file are subject to the Netscape Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/NPL/ + * + * Software distributed under the License is distributed on an "AS + * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + * implied. See the License for the specific language governing + * rights and limitations under the License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All + * Rights Reserved. + * + * Contributor(s): + */ + +#include "nsISupports.idl" +#include "domstubs.idl" + +%{C++ +class nsIDOMDocument; +%} +interface nsISelection; + +[scriptable, uuid(A6CF90E2-15B3-11d2-932E-00805F8ADD32)] +interface nsISelectionListener : nsISupports +{ + const short NO_REASON=0; + const short DRAG_REASON=1; + const short MOUSEDOWN_REASON=2;/*bitflags*/ + const short MOUSEUP_REASON=4;/*bitflags*/ + const short KEYPRESS_REASON=8;/*bitflags*/ + const short SELECTALL_REASON=16; + + void notifySelectionChanged(in nsIDOMDocument doc, in nsISelection sel, in short reason); +}; + + diff --git a/layout/base/public/nsISelection.idl b/layout/base/public/nsISelection.idl new file mode 100644 index 000000000000..92e056db32f6 --- /dev/null +++ b/layout/base/public/nsISelection.idl @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * + * The contents of this file are subject to the Netscape Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/NPL/ + * + * Software distributed under the License is distributed on an "AS + * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + * implied. See the License for the specific language governing + * rights and limitations under the License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All + * Rights Reserved. + * + * Contributor(s): + */ + +#include "nsISupports.idl" +#include "domstubs.idl" +#include "nsISelectionListener.idl" +#include "nsIEnumerator.idl" + +%{C++ +class nsIDOMNode; +class nsIDOMRange; +class nsISelectionListener; +%} + +[scriptable, uuid(B2C7ED59-8634-4352-9E37-5484C8B6E4E1)] +interface nsISelection : nsISupports + { + readonly attribute nsIDOMNode anchorNode; + readonly attribute long anchorOffset; + + readonly attribute nsIDOMNode focusNode; + readonly attribute long focusOffset; + + readonly attribute boolean isCollapsed; + + readonly attribute long rangeCount; + + nsIDOMRange getRangeAt(in long index); + + void collapse(in nsIDOMNode parentNode, in long offset); + void extend(in nsIDOMNode parentNode, in long offset); + + void collapseToStart(); + void collapseToEnd(); + + boolean containsNode(in nsIDOMNode node, in boolean recursive); + + void selectAllChildren(in nsIDOMNode parentNode); + + void addRange(in nsIDOMRange range); + void removeRange(in nsIDOMRange range); + void removeAllRanges(); + + void deleteFromDocument(); + + wstring toString(); +}; diff --git a/layout/base/public/nsISelectionListener.idl b/layout/base/public/nsISelectionListener.idl new file mode 100644 index 000000000000..75fb535dfac1 --- /dev/null +++ b/layout/base/public/nsISelectionListener.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * + * The contents of this file are subject to the Netscape Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/NPL/ + * + * Software distributed under the License is distributed on an "AS + * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + * implied. See the License for the specific language governing + * rights and limitations under the License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All + * Rights Reserved. + * + * Contributor(s): + */ + +#include "nsISupports.idl" +#include "domstubs.idl" + +%{C++ +class nsIDOMDocument; +%} +interface nsISelection; + +[scriptable, uuid(A6CF90E2-15B3-11d2-932E-00805F8ADD32)] +interface nsISelectionListener : nsISupports +{ + const short NO_REASON=0; + const short DRAG_REASON=1; + const short MOUSEDOWN_REASON=2;/*bitflags*/ + const short MOUSEUP_REASON=4;/*bitflags*/ + const short KEYPRESS_REASON=8;/*bitflags*/ + const short SELECTALL_REASON=16; + + void notifySelectionChanged(in nsIDOMDocument doc, in nsISelection sel, in short reason); +}; + +