src/macosx/classes/sun/lwawt/macosx/CMenu.java

Print this page

        

*** 24,36 **** --- 24,38 ---- */ package sun.lwawt.macosx; import java.awt.*; + import java.awt.peer.MenuItemPeer; import java.awt.peer.MenuPeer; public class CMenu extends CMenuItem implements MenuPeer { + public CMenu(Menu target) { super(target); } // This way we avoiding invocation of the setters twice
*** 39,48 **** --- 41,64 ---- setLabel(target.getLabel()); setEnabled(target.isEnabled()); } @Override + public final void setEnabled(final boolean b) { + super.setEnabled(b); + final Menu target = (Menu) getTarget(); + final int count = target.getItemCount(); + for (int i = 0; i < count; ++i) { + MenuItem item = target.getItem(i); + MenuItemPeer p = (MenuItemPeer) LWCToolkit.targetToPeer(item); + if (p != null) { + p.setEnabled(b && item.isEnabled()); + } + } + } + + @Override protected long createModel() { CMenuComponent parent = (CMenuComponent) LWCToolkit.targetToPeer(getTarget().getParent()); if (parent instanceof CMenu ||