diff options
Diffstat (limited to 'libjava/java/awt/MenuItem.java')
-rw-r--r-- | libjava/java/awt/MenuItem.java | 146 |
1 files changed, 140 insertions, 6 deletions
diff --git a/libjava/java/awt/MenuItem.java b/libjava/java/awt/MenuItem.java index 2681a20..d766d42 100644 --- a/libjava/java/awt/MenuItem.java +++ b/libjava/java/awt/MenuItem.java @@ -1,25 +1,159 @@ -/* Copyright (C) 1999 Free Software Foundation +/* Copyright (C) 1999, 2000 Free Software Foundation - This file is part of libjava. + This file is part of libgcj. This software is copyrighted work licensed under the terms of the -Libjava License. Please consult the file "LIBJAVA_LICENSE" for +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details. */ package java.awt; import java.awt.event.*; +import java.util.EventListener; /* A very incomplete placeholder. */ public class MenuItem extends MenuComponent { + // Fields from the serialization spec. Decalare others "transient". + boolean enabled; + String label; + String actionCommand; + long eventMask; + MenuShortcut shortcut; + int menuItemSerializedDataVersion; + + transient ActionListener actionListener; + public MenuItem (String label) { - throw new Error("java.awt.MenuItem: not implemented"); + this.label = label; + } + + public String getLabel() + { + return label; + } + + public synchronized void setLabel(String label) + { + this.label = label; + } + + public boolean isEnabled() + { + return enabled; + } + + public synchronized void setEnabled(boolean b) + { + this.enabled = b; + } + + /** @deprecated Use setEnabled() instead. */ + public void enable() + { + setEnabled(true); + } + + /** @deprecated Use setEnabled() instead. */ + public void enable(boolean b) + { + setEnabled(b); + } + + /** @deprecated Use setEnabled() instead. */ + public void disable() + { + setEnabled(false); + } + + public MenuShortcut getShortcut() + { + return shortcut; + } + + public void setShortcut(MenuShortcut s) + { + this.shortcut = s; + } + + public void deleteShortcut() + { + setShortcut(null); } - public synchronized void addActionListener (ActionListener listener) + protected final void enableEvents(long eventsToEnable) { - /* FIXME */ + eventMask |= eventsToEnable; + // TODO: see comment in Component.enableEvents(). } + + protected final void disableEvents(long eventsToDisable) + { + eventMask &= ~eventsToDisable; + } + + public void setActionCommand(String command) + { + this.actionCommand = command; + } + + public String getActionCommand() + { + return actionCommand; + } + + public synchronized void addActionListener(ActionListener l) + { + actionListener = AWTEventMulticaster.add(actionListener, l); + if (actionListener != null) + enableEvents(AWTEvent.ACTION_EVENT_MASK); + } + + public synchronized void removeActionListener(ActionListener l) + { + actionListener = AWTEventMulticaster.remove(actionListener, l); + } + + /** Returns all registered EventListers of the given listenerType. + * listenerType must be a subclass of EventListener, or a + * ClassClassException is thrown. + * @since 1.3 + */ + public EventListener[] getListeners(Class listenerType) + { + if (listenerType == ActionListener.class) + return Component.getListenersImpl(listenerType, actionListener); + else + return Component.getListenersImpl(listenerType, null); + } + + void dispatchEventImpl(AWTEvent e) + { + if (e.id <= ActionEvent.ACTION_LAST + && e.id >= ActionEvent.ACTION_FIRST + && (actionListener != null + || (eventMask & AWTEvent.ACTION_EVENT_MASK) != 0)) + processEvent(e); + } + + protected void processEvent(AWTEvent e) + { + if (e instanceof ActionEvent) + processActionEvent((ActionEvent) e); + } + + protected void processActionEvent(ActionEvent e) + { + if (actionListener != null) + actionListener.actionPerformed(e); + } + + public String paramString() + { + return name + ",label=" + label; + } + + // Accessibility API not yet implemented. + // public AccessibleContext getAccessibleContext() } |