From 1cfc44f4fe5f2fb8a2a50b3bbfa428ee78e5ef22 Mon Sep 17 00:00:00 2001 From: "sfraser%netscape.com" Date: Tue, 13 Apr 1999 01:18:25 +0000 Subject: [PATCH] File Removed. git-svn-id: svn://10.0.0.236/trunk@27273 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/content/base/src/nsSelection.cpp | 103 ------------------- mozilla/layout/base/src/nsSelection.cpp | 103 ------------------- mozilla/layout/base/src/nsSelection.h | 65 ------------ mozilla/layout/base/src/nsSelectionPoint.cpp | 74 ------------- mozilla/layout/base/src/nsSelectionPoint.h | 55 ---------- mozilla/layout/base/src/nsSelectionRange.cpp | 102 ------------------ mozilla/layout/base/src/nsSelectionRange.h | 89 ---------------- mozilla/layout/generic/nsSelection.cpp | 103 ------------------- 8 files changed, 694 deletions(-) delete mode 100644 mozilla/content/base/src/nsSelection.cpp delete mode 100644 mozilla/layout/base/src/nsSelection.cpp delete mode 100644 mozilla/layout/base/src/nsSelection.h delete mode 100644 mozilla/layout/base/src/nsSelectionPoint.cpp delete mode 100644 mozilla/layout/base/src/nsSelectionPoint.h delete mode 100644 mozilla/layout/base/src/nsSelectionRange.cpp delete mode 100644 mozilla/layout/base/src/nsSelectionRange.h delete mode 100644 mozilla/layout/generic/nsSelection.cpp diff --git a/mozilla/content/base/src/nsSelection.cpp b/mozilla/content/base/src/nsSelection.cpp deleted file mode 100644 index 5169aefca02..00000000000 --- a/mozilla/content/base/src/nsSelection.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * - * The contents of this file are subject to the Netscape Public License - * Version 1.0 (the "NPL"); you may not use this file except in - * compliance with the NPL. You may obtain a copy of the NPL at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the NPL is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL - * for the specific language governing rights and limitations under the - * NPL. - * - * The Initial Developer of this code under the NPL is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1998 Netscape Communications Corporation. All Rights - * Reserved. - */ -#include "nsSelection.h" -#include "nsISelection.h" - -NS_LAYOUT nsresult -NS_NewSelection(nsISelection** aInstancePtrResult) -{ - static NS_DEFINE_IID(kISelectionIID, NS_ISELECTION_IID); - nsSelection * sel = new nsSelection(); - return sel->QueryInterface(kISelectionIID, (void**) aInstancePtrResult); -} - -nsresult nsSelection::QueryInterface(const nsIID& aIID, - void** aInstancePtrResult) -{ - static NS_DEFINE_IID(kISelectionIID, NS_ISELECTION_IID); - NS_PRECONDITION(nsnull != aInstancePtrResult, "null pointer"); - if (nsnull == aInstancePtrResult) { - return NS_ERROR_NULL_POINTER; - } - if (aIID.Equals(kISelectionIID)) { - nsISelection* tmp = this; - *aInstancePtrResult = (void*) tmp; - NS_ADDREF_THIS(); - return NS_OK; - } - return !NS_OK; -} - -nsSelection::nsSelection() { - NS_INIT_REFCNT(); - mRange = new nsSelectionRange(); -} - -nsSelection::~nsSelection() { - delete mRange; -} - -NS_IMPL_ADDREF(nsSelection) -NS_IMPL_RELEASE(nsSelection) - -/** - * Returns whether there is a valid selection - */ -PRBool nsSelection::IsValidSelection() { - return (PRBool)(mRange->GetStartContent() == nsnull || - mRange->GetEndContent() == nsnull); - -} - - -/** - * Clears the current selection (invalidates the selection) - */ -void nsSelection::ClearSelection() { - mRange->GetStartPoint()->SetPoint(nsnull, -1, PR_TRUE); - mRange->GetEndPoint()->SetPoint(nsnull, -1, PR_TRUE); -} - - - -/** - * Copies the data from one nsSelectionPoint in the range to another, - * it does NOT just assign the pointers - */ -void nsSelection::SetRange(nsSelectionRange * aSelectionRange) { - mRange->SetRange(aSelectionRange->GetStartPoint(), - aSelectionRange->GetEndPoint()); -} - -/** - * Copies the data from one nsSelectionPoint in the range to another, - * it does NOT just assign the pointers - */ -void nsSelection::GetRange(nsSelectionRange * aSelectionRange) { - mRange->SetRange(aSelectionRange->GetStartPoint(), - aSelectionRange->GetEndPoint()); -} - - -/** - * For debug only, it potentially leaks memory - */ -char * nsSelection::ToString() { - return mRange->ToString();; -} - diff --git a/mozilla/layout/base/src/nsSelection.cpp b/mozilla/layout/base/src/nsSelection.cpp deleted file mode 100644 index 5169aefca02..00000000000 --- a/mozilla/layout/base/src/nsSelection.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * - * The contents of this file are subject to the Netscape Public License - * Version 1.0 (the "NPL"); you may not use this file except in - * compliance with the NPL. You may obtain a copy of the NPL at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the NPL is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL - * for the specific language governing rights and limitations under the - * NPL. - * - * The Initial Developer of this code under the NPL is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1998 Netscape Communications Corporation. All Rights - * Reserved. - */ -#include "nsSelection.h" -#include "nsISelection.h" - -NS_LAYOUT nsresult -NS_NewSelection(nsISelection** aInstancePtrResult) -{ - static NS_DEFINE_IID(kISelectionIID, NS_ISELECTION_IID); - nsSelection * sel = new nsSelection(); - return sel->QueryInterface(kISelectionIID, (void**) aInstancePtrResult); -} - -nsresult nsSelection::QueryInterface(const nsIID& aIID, - void** aInstancePtrResult) -{ - static NS_DEFINE_IID(kISelectionIID, NS_ISELECTION_IID); - NS_PRECONDITION(nsnull != aInstancePtrResult, "null pointer"); - if (nsnull == aInstancePtrResult) { - return NS_ERROR_NULL_POINTER; - } - if (aIID.Equals(kISelectionIID)) { - nsISelection* tmp = this; - *aInstancePtrResult = (void*) tmp; - NS_ADDREF_THIS(); - return NS_OK; - } - return !NS_OK; -} - -nsSelection::nsSelection() { - NS_INIT_REFCNT(); - mRange = new nsSelectionRange(); -} - -nsSelection::~nsSelection() { - delete mRange; -} - -NS_IMPL_ADDREF(nsSelection) -NS_IMPL_RELEASE(nsSelection) - -/** - * Returns whether there is a valid selection - */ -PRBool nsSelection::IsValidSelection() { - return (PRBool)(mRange->GetStartContent() == nsnull || - mRange->GetEndContent() == nsnull); - -} - - -/** - * Clears the current selection (invalidates the selection) - */ -void nsSelection::ClearSelection() { - mRange->GetStartPoint()->SetPoint(nsnull, -1, PR_TRUE); - mRange->GetEndPoint()->SetPoint(nsnull, -1, PR_TRUE); -} - - - -/** - * Copies the data from one nsSelectionPoint in the range to another, - * it does NOT just assign the pointers - */ -void nsSelection::SetRange(nsSelectionRange * aSelectionRange) { - mRange->SetRange(aSelectionRange->GetStartPoint(), - aSelectionRange->GetEndPoint()); -} - -/** - * Copies the data from one nsSelectionPoint in the range to another, - * it does NOT just assign the pointers - */ -void nsSelection::GetRange(nsSelectionRange * aSelectionRange) { - mRange->SetRange(aSelectionRange->GetStartPoint(), - aSelectionRange->GetEndPoint()); -} - - -/** - * For debug only, it potentially leaks memory - */ -char * nsSelection::ToString() { - return mRange->ToString();; -} - diff --git a/mozilla/layout/base/src/nsSelection.h b/mozilla/layout/base/src/nsSelection.h deleted file mode 100644 index 036509331e3..00000000000 --- a/mozilla/layout/base/src/nsSelection.h +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * - * The contents of this file are subject to the Netscape Public License - * Version 1.0 (the "NPL"); you may not use this file except in - * compliance with the NPL. You may obtain a copy of the NPL at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the NPL is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL - * for the specific language governing rights and limitations under the - * NPL. - * - * The Initial Developer of this code under the NPL is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1998 Netscape Communications Corporation. All Rights - * Reserved. - */ -#ifndef nsSelection_h___ -#define nsSelection_h___ - -#include "nsSelectionRange.h" -#include "nsISelection.h" - -class nsSelection : public nsISelection { - - nsSelectionRange * mRange; - - public: - NS_DECL_ISUPPORTS - - nsSelection(); - virtual ~nsSelection(); - - /** - * Returns whether there is a valid selection - */ - PRBool IsValidSelection(); - - /** - * Clears the current selection (invalidates the selection) - */ - void ClearSelection(); - - /** - * Copies the data from the param into the internal Range - */ - void SetRange(nsSelectionRange * aRange); - - /** - * Copies the param's (aRange) contents with the Range's data - */ - void GetRange(nsSelectionRange * aRange); - - /** - * Copies the param's (aRange) contents with the Range's data - */ - nsSelectionRange * GetRange() { return mRange; } - - char * ToString(); -}; - -extern NS_LAYOUT nsresult - NS_NewSelection(nsISelection** aInstancePtrResult); - -#endif /* nsSelection_h___ */ diff --git a/mozilla/layout/base/src/nsSelectionPoint.cpp b/mozilla/layout/base/src/nsSelectionPoint.cpp deleted file mode 100644 index ed425489696..00000000000 --- a/mozilla/layout/base/src/nsSelectionPoint.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * - * The contents of this file are subject to the Netscape Public License - * Version 1.0 (the "NPL"); you may not use this file except in - * compliance with the NPL. You may obtain a copy of the NPL at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the NPL is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL - * for the specific language governing rights and limitations under the - * NPL. - * - * The Initial Developer of this code under the NPL is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1998 Netscape Communications Corporation. All Rights - * Reserved. - */ -#include "nsSelectionPoint.h" - -nsSelectionPoint::nsSelectionPoint(nsIContent * aContent, - PRInt32 aOffset, - PRBool aIsAnchor) -{ - fContent = aContent; - fOffset = aOffset; - fIsAnchor = aIsAnchor; - fEntireContent = PR_FALSE; - - if (fContent != nsnull) - NS_ADDREF(fContent); -} - -nsSelectionPoint::~nsSelectionPoint() -{ - NS_IF_RELEASE(fContent); -} - - -nsIContent * nsSelectionPoint::GetContent() -{ - if (fContent != nsnull) - NS_ADDREF(fContent); - return fContent; -} - -void nsSelectionPoint::SetContent(nsIContent * aValue) -{ - NS_IF_RELEASE(fContent); - fContent = aValue; - if (fContent != nsnull) - NS_ADDREF(fContent); -} - -void nsSelectionPoint::SetPoint(nsIContent * aContent, - PRInt32 aOffset, - PRBool aIsAnchor) -{ - NS_IF_RELEASE(fContent); - fContent = aContent; - fOffset = aOffset; - fIsAnchor = aIsAnchor; - if (fContent != nsnull) - NS_ADDREF(fContent); -} - -/** - * For debug only, it leaks memory - */ -char * nsSelectionPoint::ToString() { - char * str = new char[256]; - sprintf(str, "TextPoint[0x%X, offset=%d, isAnchor=%s]", fContent, fOffset, (fIsAnchor?"PR_TRUE":"PR_FALSE")); - return str; -} - diff --git a/mozilla/layout/base/src/nsSelectionPoint.h b/mozilla/layout/base/src/nsSelectionPoint.h deleted file mode 100644 index 38cef39275b..00000000000 --- a/mozilla/layout/base/src/nsSelectionPoint.h +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * - * The contents of this file are subject to the Netscape Public License - * Version 1.0 (the "NPL"); you may not use this file except in - * compliance with the NPL. You may obtain a copy of the NPL at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the NPL is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL - * for the specific language governing rights and limitations under the - * NPL. - * - * The Initial Developer of this code under the NPL is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1998 Netscape Communications Corporation. All Rights - * Reserved. - */ -#ifndef nsSelectionPoint_h___ -#define nsSelectionPoint_h___ - -#include "nsIContent.h" - -class nsSelectionPoint { - - nsIContent * fContent; - PRInt32 fOffset; - PRBool fIsAnchor; - PRBool fEntireContent; - - public: - - nsSelectionPoint(nsIContent * aContent, - PRInt32 aOffset, - PRBool aIsAnchor); - - virtual ~nsSelectionPoint(); - - nsIContent * GetContent(); - PRInt32 GetOffset() { return fOffset; } - PRBool IsAnchor() { return fIsAnchor;} - - PRBool IsEntireContentSelected() { return fEntireContent; } - void setEntireContentSelected(PRBool aState) { fEntireContent = aState; } - - void SetContent(nsIContent * aValue); - void SetOffset(PRInt32 aValue) { fOffset = aValue; } - void SetAnchor(PRBool aValue) { fIsAnchor = aValue; } - - void SetPoint(nsIContent * aContent, - PRInt32 aOffset, - PRBool aIsAnchor); - char * ToString(); - -}; -#endif /* nsSelectionPoint_h___ */ diff --git a/mozilla/layout/base/src/nsSelectionRange.cpp b/mozilla/layout/base/src/nsSelectionRange.cpp deleted file mode 100644 index 946cff65bf8..00000000000 --- a/mozilla/layout/base/src/nsSelectionRange.cpp +++ /dev/null @@ -1,102 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * - * The contents of this file are subject to the Netscape Public License - * Version 1.0 (the "NPL"); you may not use this file except in - * compliance with the NPL. You may obtain a copy of the NPL at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the NPL is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL - * for the specific language governing rights and limitations under the - * NPL. - * - * The Initial Developer of this code under the NPL is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1998 Netscape Communications Corporation. All Rights - * Reserved. - */ -#include "nsSelectionRange.h" - -nsSelectionRange::nsSelectionRange() { - mStart = new nsSelectionPoint(nsnull, -1, PR_TRUE); - mEnd = new nsSelectionPoint(nsnull, -1, PR_TRUE); -} - -nsSelectionRange::nsSelectionRange(nsIContent * aStartContent, - PRInt32 aStartOffset, - PRBool aStartIsAnchor, - nsIContent * aEndContent, - PRInt32 aEndOffset, - PRBool aEndIsAnchor) { - mStart = new nsSelectionPoint(aStartContent, aStartOffset, aStartIsAnchor); - mEnd = new nsSelectionPoint(aEndContent, aEndOffset, aEndIsAnchor); -} - -nsSelectionRange::~nsSelectionRange() { - delete mStart; - delete mEnd; -} - -void nsSelectionRange::SetRange(nsIContent * aStartContent, - PRInt32 aStartOffset, - PRBool aStartIsAnchor, - nsIContent * aEndContent, - PRInt32 aEndOffset, - PRBool aEndIsAnchor) { - mStart->SetPoint(aStartContent, aStartOffset, aStartIsAnchor); - mEnd->SetPoint(aEndContent, aEndOffset, aEndIsAnchor); -} - -void nsSelectionRange::SetRange(nsSelectionPoint * aStartPoint, - nsSelectionPoint * aEndPoint) { - SetStartPoint(aStartPoint); - SetEndPoint(aEndPoint); -} - -void nsSelectionRange::SetRange(nsSelectionRange * aRange) { - SetStartPoint(aRange->GetStartPoint()); - SetEndPoint(aRange->GetEndPoint()); -} - -void nsSelectionRange::SetStartPoint(nsSelectionPoint * aPoint) { - nsIContent * content = aPoint->GetContent(); - mStart->SetPoint(content, aPoint->GetOffset(), aPoint->IsAnchor()); - NS_IF_RELEASE(content); -} - -void nsSelectionRange::SetEndPoint(nsSelectionPoint * aPoint) { - nsIContent * content = aPoint->GetContent(); - mEnd->SetPoint(content, aPoint->GetOffset(), aPoint->IsAnchor()); - NS_IF_RELEASE(content); -} - -void nsSelectionRange::GetStartPoint(nsSelectionPoint * aPoint) { - nsIContent * content = mStart->GetContent(); - aPoint->SetPoint(content, mStart->GetOffset(), mStart->IsAnchor()); - NS_IF_RELEASE(content); -} - -void nsSelectionRange::GetEndPoint(nsSelectionPoint * aPoint) { - nsIContent * content = mEnd->GetContent(); - aPoint->SetPoint(content, mEnd->GetOffset(), mEnd->IsAnchor()); - NS_IF_RELEASE(content); -} - -void nsSelectionRange::GetRange(nsSelectionRange * aRange) { - aRange->SetStartPoint(mStart); - aRange->SetEndPoint(mEnd); -} - -/** - * For debug only, it potentially leaks memory - */ -char * nsSelectionRange::ToString() { - static char str[1024]; - char * startStr = mStart->ToString(); - char * endStr = mEnd->ToString(); - sprintf(str, "nsSelectionRange[\nStart=%s,\nEnd =%s\n]", startStr, endStr); - delete startStr; - delete endStr; - return str; -} - diff --git a/mozilla/layout/base/src/nsSelectionRange.h b/mozilla/layout/base/src/nsSelectionRange.h deleted file mode 100644 index a790d5f95e1..00000000000 --- a/mozilla/layout/base/src/nsSelectionRange.h +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * - * The contents of this file are subject to the Netscape Public License - * Version 1.0 (the "NPL"); you may not use this file except in - * compliance with the NPL. You may obtain a copy of the NPL at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the NPL is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL - * for the specific language governing rights and limitations under the - * NPL. - * - * The Initial Developer of this code under the NPL is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1998 Netscape Communications Corporation. All Rights - * Reserved. - */ -#ifndef nsSelectionRange_h___ -#define nsSelectionRange_h___ - -#include "nsSelectionPoint.h" - -class nsSelectionRange { - - nsSelectionPoint * mStart; - nsSelectionPoint * mEnd; - - public: - nsSelectionRange(); - - nsSelectionRange(nsIContent * aStartContent, - PRInt32 aStartOffset, - PRBool aStartIsAnchor, - nsIContent * aEndContent, - PRInt32 aEndOffset, - PRBool aEndIsAnchor); - - virtual ~nsSelectionRange(); - - void SetRange(nsIContent * aStartContent, - PRInt32 aStartOffset, - PRBool aStartIsAnchor, - nsIContent * aEndContent, - PRInt32 aEndOffset, - PRBool aEndIsAnchor); - - void SetRange(nsSelectionPoint * aStartPoint, - nsSelectionPoint * aEndPoint); - - /** - * Copies the data from the param into the internal Range - */ - void SetRange(nsSelectionRange * aRange); - - nsIContent * GetStartContent() { return mStart->GetContent();} - nsIContent * GetEndContent() { return mEnd->GetContent(); } - nsSelectionPoint * GetStartPoint() { return mStart; } - nsSelectionPoint * GetEndPoint() { return mEnd; } - - /** - * Copies the data from the param into the Start Point - */ - void SetStartPoint(nsSelectionPoint * aPoint); - - /** - * Copies the data from the param into the End Point - */ - void SetEndPoint(nsSelectionPoint * aPoint); - - - /** - * Copies the param's (aPoint) contents with the Range's Point data - */ - void GetStartPoint(nsSelectionPoint * aPoint); - - /** - * Copies the param's (aPoint) contents with the Range's Point data - */ - void GetEndPoint(nsSelectionPoint * aPoint); - - /** - * Copies the param's (aRange) contents with the Range's data - */ - void GetRange(nsSelectionRange * aRange); - - char * ToString(); -}; - -#endif /* nsSelectionRange_h___ */ diff --git a/mozilla/layout/generic/nsSelection.cpp b/mozilla/layout/generic/nsSelection.cpp deleted file mode 100644 index 5169aefca02..00000000000 --- a/mozilla/layout/generic/nsSelection.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * - * The contents of this file are subject to the Netscape Public License - * Version 1.0 (the "NPL"); you may not use this file except in - * compliance with the NPL. You may obtain a copy of the NPL at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the NPL is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL - * for the specific language governing rights and limitations under the - * NPL. - * - * The Initial Developer of this code under the NPL is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1998 Netscape Communications Corporation. All Rights - * Reserved. - */ -#include "nsSelection.h" -#include "nsISelection.h" - -NS_LAYOUT nsresult -NS_NewSelection(nsISelection** aInstancePtrResult) -{ - static NS_DEFINE_IID(kISelectionIID, NS_ISELECTION_IID); - nsSelection * sel = new nsSelection(); - return sel->QueryInterface(kISelectionIID, (void**) aInstancePtrResult); -} - -nsresult nsSelection::QueryInterface(const nsIID& aIID, - void** aInstancePtrResult) -{ - static NS_DEFINE_IID(kISelectionIID, NS_ISELECTION_IID); - NS_PRECONDITION(nsnull != aInstancePtrResult, "null pointer"); - if (nsnull == aInstancePtrResult) { - return NS_ERROR_NULL_POINTER; - } - if (aIID.Equals(kISelectionIID)) { - nsISelection* tmp = this; - *aInstancePtrResult = (void*) tmp; - NS_ADDREF_THIS(); - return NS_OK; - } - return !NS_OK; -} - -nsSelection::nsSelection() { - NS_INIT_REFCNT(); - mRange = new nsSelectionRange(); -} - -nsSelection::~nsSelection() { - delete mRange; -} - -NS_IMPL_ADDREF(nsSelection) -NS_IMPL_RELEASE(nsSelection) - -/** - * Returns whether there is a valid selection - */ -PRBool nsSelection::IsValidSelection() { - return (PRBool)(mRange->GetStartContent() == nsnull || - mRange->GetEndContent() == nsnull); - -} - - -/** - * Clears the current selection (invalidates the selection) - */ -void nsSelection::ClearSelection() { - mRange->GetStartPoint()->SetPoint(nsnull, -1, PR_TRUE); - mRange->GetEndPoint()->SetPoint(nsnull, -1, PR_TRUE); -} - - - -/** - * Copies the data from one nsSelectionPoint in the range to another, - * it does NOT just assign the pointers - */ -void nsSelection::SetRange(nsSelectionRange * aSelectionRange) { - mRange->SetRange(aSelectionRange->GetStartPoint(), - aSelectionRange->GetEndPoint()); -} - -/** - * Copies the data from one nsSelectionPoint in the range to another, - * it does NOT just assign the pointers - */ -void nsSelection::GetRange(nsSelectionRange * aSelectionRange) { - mRange->SetRange(aSelectionRange->GetStartPoint(), - aSelectionRange->GetEndPoint()); -} - - -/** - * For debug only, it potentially leaks memory - */ -char * nsSelection::ToString() { - return mRange->ToString();; -} -