Check hidden attribute when creating separators. r=saari/sr=sfraser. bug#151693

This commit is contained in:
pinkerton%netscape.com 2002-06-18 20:54:41 +00:00
Родитель de9ec9f398
Коммит a4a78fca61
2 изменённых файлов: 14 добавлений и 1 удалений

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

@ -814,7 +814,7 @@ nsEventStatus nsMenu::MenuConstruct(
if ( tag == nsWidgetAtoms::menuitem )
LoadMenuItem(this, child);
else if ( tag == nsWidgetAtoms::menuseparator )
AddSeparator();
LoadSeparator(child);
else if ( tag == nsWidgetAtoms::menu )
LoadSubMenu(this, child);
}
@ -1157,6 +1157,18 @@ nsMenu::LoadSubMenu( nsIMenu * pParentMenu, nsIContent* inMenuItemContent )
}
}
void
nsMenu::LoadSeparator ( nsIContent* inMenuItemContent )
{
// if item should be hidden, bail
nsAutoString hidden;
inMenuItemContent->GetAttr(kNameSpaceID_None, nsWidgetAtoms::hidden, hidden);
if ( hidden == NS_LITERAL_STRING("true") )
return;
AddSeparator();
}
//
// OnCreate

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

@ -160,6 +160,7 @@ protected:
void LoadMenuItem ( nsIMenu* pParentMenu, nsIContent* menuitemContent);
void LoadSubMenu( nsIMenu * pParentMenu, nsIContent* menuitemContent);
void LoadSeparator ( nsIContent* menuitemContent );
nsEventStatus HelpMenuConstruct( const nsMenuEvent & aMenuEvent, nsIWidget* aParentWindow,
void* unused, void* aWebShell);