Menus now set and unset the open attribute.

This commit is contained in:
hyatt%netscape.com 1999-06-04 22:24:53 +00:00
Родитель 8aefa98f70
Коммит 06ac2e21e1
1 изменённых файлов: 35 добавлений и 22 удалений

Просмотреть файл

@ -484,8 +484,15 @@ nsEventStatus nsMenu::MenuConstruct(
{
//printf("nsMenu::MenuConstruct called \n");
// Begin menuitem inner loop
// Open the node.
nsCOMPtr<nsIDOMElement> domElement = do_QueryInterface(mDOMNode);
if (domElement)
domElement->SetAttribute("open", "true");
// Now get the kids
nsCOMPtr<nsIDOMNode> menuitemNode;
((nsIDOMNode*)mDOMNode)->GetFirstChild(getter_AddRefs(menuitemNode));
mDOMNode->GetFirstChild(getter_AddRefs(menuitemNode));
unsigned short menuIndex = 0;
@ -520,6 +527,12 @@ nsEventStatus nsMenu::MenuDestruct(const nsMenuEvent & aMenuEvent)
// We cannot call RemoveAll() yet because menu item selection may need it
//RemoveAll();
// Close the node.
nsCOMPtr<nsIDOMElement> domElement = do_QueryInterface(mDOMNode);
if (domElement)
domElement->RemoveAttribute("open");
// Now remove the kids
while (PR_TRUE) {
PRUint32 cnt;
nsresult rv = mItems->Count(&cnt);