| /* Copyright (C) 1999, 2000 Free Software Foundation |
| |
| This file is part of libgcj. |
| |
| This software is copyrighted work licensed under the terms of the |
| Libgcj License. Please consult the file "LIBGCJ_LICENSE" for |
| details. */ |
| |
| package java.awt; |
| |
| /* Status: partially complete, untested. */ |
| |
| public abstract class MenuComponent implements java.io.Serializable |
| { |
| // Fields from the serialization spec. Decalare others "transient". |
| Font font; |
| String name; |
| boolean nameExplicitlySet; |
| boolean newEventsOnly; |
| //AccessibleContext accessibleContext; |
| |
| transient MenuContainer parent; |
| transient java.awt.peer.MenuComponentPeer peer; |
| |
| public MenuComponent() |
| { |
| } |
| |
| public String getName() |
| { |
| if (name == null && !nameExplicitlySet) |
| name = generateName(); |
| return name; |
| } |
| |
| /** Subclasses should override this to generate unique names like |
| * "menuitem0". |
| */ |
| String generateName() |
| { |
| // MenuComponent is abstract. |
| return null; |
| } |
| |
| public void setName(String name) |
| { |
| nameExplicitlySet = true; |
| this.name = name; |
| } |
| |
| public MenuContainer getParent() |
| { |
| return parent; |
| } |
| |
| /** @deprecated Don't use this. */ |
| public java.awt.peer.MenuComponentPeer getPeer() |
| { |
| return peer; |
| } |
| |
| public Font getFont() |
| { |
| return font; |
| } |
| |
| public void setFont(Font f) |
| { |
| this.font = f; |
| } |
| |
| public void removeNotify() |
| { |
| if (peer != null) |
| peer.dispose (); |
| peer = null; |
| } |
| |
| /** @deprecated Replaced by dispatchEvent(AWTEvent) */ |
| public boolean postEvent(Event evt) |
| { |
| return false; |
| } |
| |
| public final void dispatchEvent(AWTEvent e) |
| { |
| // FIXME |
| dispatchEventImpl(e); |
| } |
| |
| void dispatchEventImpl(AWTEvent e) |
| { |
| // This is overridden by subclasses that support events. |
| } |
| |
| protected void processEvent(AWTEvent e) |
| { |
| // Nothing to do here? This is be overridden by subclasses that |
| // support events. |
| } |
| |
| protected String paramString() |
| { |
| return name; |
| } |
| |
| public String toString() |
| { |
| return this.getClass().getName() + "[" + paramString() + "]"; |
| } |
| |
| protected final Object getTreeLock() |
| { |
| // FIXME: figure out how the tree lock works. |
| return null; |
| } |
| |
| // Accessibility API not yet implemented. |
| // public AccessibleContext getAccessibleContext() |
| } |