src/macosx/classes/sun/lwawt/macosx/CMenu.java
Print this page
@@ -24,13 +24,15 @@
*/
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,10 +41,24 @@
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 ||