| /* Copyright (C) 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; |
| |
| import java.awt.event.KeyEvent; |
| |
| /* Status: Complete, except for hashCode(). Untested. */ |
| |
| public class MenuShortcut implements java.io.Serializable |
| { |
| // Fields from the serialization spec. Decalare others "transient". |
| int key; |
| boolean usesShift; |
| |
| public MenuShortcut(int key) |
| { |
| this.key = key; |
| } |
| |
| public MenuShortcut(int key, boolean useShiftModifier) |
| { |
| this.key = key; |
| this.usesShift = useShiftModifier; |
| } |
| |
| public int getKey() |
| { |
| return key; |
| } |
| |
| public boolean usesShiftModifier() |
| { |
| return usesShift; |
| } |
| |
| public boolean equals(MenuShortcut ms) |
| { |
| return (ms.key == key && ms.usesShift == usesShift); |
| } |
| |
| public boolean equals(Object obj) |
| { |
| if (obj instanceof MenuShortcut) |
| { |
| MenuShortcut ms = (MenuShortcut) obj; |
| return (ms.key == key && ms.usesShift == usesShift); |
| } |
| return false; |
| } |
| |
| public int hashCode() |
| { |
| // FIXME: find/implement the correct algorithm for this |
| if (usesShift) |
| return (2 * key); |
| else |
| return key; |
| } |
| |
| public String toString() |
| { |
| return paramString(); // ? |
| } |
| |
| protected String paramString() |
| { |
| return KeyEvent.getKeyText(key); |
| } |
| } |