From de4ae79cf3ea9b56573bd8f345d3f3112d18d2db Mon Sep 17 00:00:00 2001 From: "waterson%netscape.com" Date: Thu, 10 Jun 1999 19:51:35 +0000 Subject: [PATCH] Back out Hyatt's changes to use DOM APIs. This is busting mailnews. Use content APIs until we figure out persistence story. git-svn-id: svn://10.0.0.236/trunk@34616 18797224-902f-48f8-a5cc-f745e15eee43 --- .../layout/xul/base/src/nsTreeCellFrame.cpp | 52 +++++++++++-------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/mozilla/layout/xul/base/src/nsTreeCellFrame.cpp b/mozilla/layout/xul/base/src/nsTreeCellFrame.cpp index aa429cf72d5..81888fae4b7 100644 --- a/mozilla/layout/xul/base/src/nsTreeCellFrame.cpp +++ b/mozilla/layout/xul/base/src/nsTreeCellFrame.cpp @@ -264,50 +264,58 @@ nsTreeCellFrame::HandleDoubleClickEvent(nsIPresContext& aPresContext, void nsTreeCellFrame::Select(nsIPresContext& aPresContext, PRBool isSelected, PRBool notifyForReflow) { - nsCOMPtr parentContent; - nsCOMPtr element; - nsCOMPtr parentElement; + nsCOMPtr kSelectedCellAtom(dont_AddRef(NS_NewAtom("selectedcell"))); + nsCOMPtr kSelectedAtom(dont_AddRef(NS_NewAtom("selected"))); - mContent->GetParent(*getter_AddRefs(parentContent)); - element = do_QueryInterface(mContent); - parentElement = do_QueryInterface(parentContent); + nsIContent* pParentContent = nsnull; + mContent->GetParent(pParentContent); if (isSelected) { // We're selecting the node. - element->SetAttribute("selectedcell", "true"); - parentElement->SetAttribute("selected", "true"); + mContent->SetAttribute(kNameSpaceID_None, kSelectedCellAtom, "true", notifyForReflow); + if(pParentContent) { + pParentContent->SetAttribute(kNameSpaceID_None, kSelectedAtom, "true", notifyForReflow); + } } else { // We're deselecting the node. - element->RemoveAttribute("selectedcell"); - parentElement->RemoveAttribute("selected"); + mContent->UnsetAttribute(kNameSpaceID_None, kSelectedCellAtom, notifyForReflow); + if(pParentContent) { + pParentContent->UnsetAttribute(kNameSpaceID_None, kSelectedAtom, notifyForReflow); + } } + + NS_IF_RELEASE(pParentContent); } void nsTreeCellFrame::Hover(nsIPresContext& aPresContext, PRBool isHover, PRBool notifyForReflow) { - nsCOMPtr parentContent; - nsCOMPtr element; - nsCOMPtr parentElement; + nsCOMPtr kHoverCellAtom(dont_AddRef(NS_NewAtom("hovercell"))); + nsCOMPtr kHoverAtom(dont_AddRef(NS_NewAtom("hover"))); - mContent->GetParent(*getter_AddRefs(parentContent)); - element = do_QueryInterface(mContent); - parentElement = do_QueryInterface(parentContent); + nsIContent* pParentContent = nsnull; + mContent->GetParent(pParentContent); if (isHover) { - // We're selecting the node. - element->SetAttribute("hovercell", "true"); - parentElement->SetAttribute("hover", "true"); + // We're hovering over the node. + mContent->SetAttribute(kNameSpaceID_None, kHoverCellAtom, "true", notifyForReflow); + if(pParentContent) { + pParentContent->SetAttribute(kNameSpaceID_None, kHoverAtom, "true", notifyForReflow); + } } else { // We're deselecting the node. - element->RemoveAttribute("hovercell"); - parentElement->RemoveAttribute("hover"); - } + mContent->UnsetAttribute(kNameSpaceID_None, kHoverCellAtom, notifyForReflow); + if(pParentContent) { + pParentContent->UnsetAttribute(kNameSpaceID_None, kHoverAtom, notifyForReflow); + } + } + + NS_IF_RELEASE(pParentContent); } // XXX This method will go away. I think it can