nsXULTreeAccessible::nsXULTreeAccessible(nsIDOMNode *aDOMNode, nsIWeakReference *aShell): nsXULSelectableAccessible(aDOMNode, aShell), mAccessNodeCache(nsnull) { GetTreeBoxObject(aDOMNode, getter_AddRefs(mTree)); if (mTree) mTree->GetView(getter_AddRefs(mTreeView)); NS_ASSERTION(mTree && mTreeView, "Can't get mTree or mTreeView!\n"); mAccessNodeCache = new nsInterfaceHashtable<nsVoidHashKey, nsIAccessNode>; mAccessNodeCache->Init(kDefaultTreeCacheSize); }
void nsTreeColFrame::SetBounds(nsBoxLayoutState& aBoxLayoutState, const nsRect& aRect, bool aRemoveOverflowArea) { nscoord oldWidth = mRect.width; nsBoxFrame::SetBounds(aBoxLayoutState, aRect, aRemoveOverflowArea); if (mRect.width != oldWidth) { nsITreeBoxObject* treeBoxObject = GetTreeBoxObject(); if (treeBoxObject) { treeBoxObject->Invalidate(); } } }
void nsTreeColFrame::InvalidateColumns(bool aCanWalkFrameTree) { nsITreeBoxObject* treeBoxObject = GetTreeBoxObject(); if (treeBoxObject) { nsCOMPtr<nsITreeColumns> columns; if (aCanWalkFrameTree) { treeBoxObject->GetColumns(getter_AddRefs(columns)); } else { nsTreeBodyFrame* body = static_cast<nsTreeBoxObject*>(treeBoxObject)->GetCachedTreeBody(); if (body) { body->GetColumns(getter_AddRefs(columns)); } } if (columns) columns->InvalidateColumns(); } }