home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.awt.event.KeyEvent;
- import java.awt.peer.MenuPeer;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.util.Enumeration;
- import java.util.Vector;
-
- public class Menu extends MenuItem implements MenuContainer {
- Vector items;
- boolean tearOff;
- boolean isHelpMenu;
- private static final String base = "menu";
- private static int nameCounter;
- private static final long serialVersionUID = -8809584163345499784L;
- private int menuSerializedDataVersion;
-
- public Menu() {
- this("", false);
- }
-
- public Menu(String var1) {
- this(var1, false);
- }
-
- public Menu(String var1, boolean var2) {
- super(var1);
- this.items = new Vector();
- this.menuSerializedDataVersion = 1;
- super.name = "menu" + nameCounter++;
- this.tearOff = var2;
- }
-
- public void addNotify() {
- Object var1 = ((MenuComponent)this).getTreeLock();
- synchronized(var1){}
-
- try {
- if (super.peer == null) {
- super.peer = Toolkit.getDefaultToolkit().createMenu(this);
- }
-
- int var3 = this.getItemCount();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- MenuItem var5 = this.getItem(var4);
- var5.parent = this;
- var5.addNotify();
- }
- } catch (Throwable var7) {
- throw var7;
- }
-
- }
-
- public void removeNotify() {
- Object var1 = ((MenuComponent)this).getTreeLock();
- synchronized(var1){}
-
- try {
- int var3 = this.getItemCount();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- this.getItem(var4).removeNotify();
- }
-
- super.removeNotify();
- } catch (Throwable var6) {
- throw var6;
- }
-
- }
-
- public boolean isTearOff() {
- return this.tearOff;
- }
-
- public int getItemCount() {
- return this.countItems();
- }
-
- /** @deprecated */
- public int countItems() {
- return this.items.size();
- }
-
- public MenuItem getItem(int var1) {
- return (MenuItem)this.items.elementAt(var1);
- }
-
- public MenuItem add(MenuItem var1) {
- Object var3 = ((MenuComponent)this).getTreeLock();
- synchronized(var3){}
-
- MenuItem var2;
- try {
- if (var1.parent != null) {
- var1.parent.remove(var1);
- }
-
- this.items.addElement(var1);
- var1.parent = this;
- MenuPeer var5 = (MenuPeer)super.peer;
- if (var5 != null) {
- var1.addNotify();
- var5.addItem(var1);
- }
-
- var2 = var1;
- } catch (Throwable var7) {
- throw var7;
- }
-
- return var2;
- }
-
- public void add(String var1) {
- this.add(new MenuItem(var1));
- }
-
- public void insert(MenuItem var1, int var2) {
- Object var3 = ((MenuComponent)this).getTreeLock();
- synchronized(var3){}
-
- try {
- if (var2 < 0) {
- throw new IllegalArgumentException("index less than zero.");
- }
-
- int var5 = this.getItemCount();
- Vector var6 = new Vector();
-
- for(int var7 = var2; var7 < var5; ++var7) {
- var6.addElement(this.getItem(var2));
- this.remove(var2);
- }
-
- this.add(var1);
-
- for(int var8 = 0; var8 < var6.size(); ++var8) {
- this.add((MenuItem)var6.elementAt(var8));
- }
- } catch (Throwable var10) {
- throw var10;
- }
-
- }
-
- public void insert(String var1, int var2) {
- this.insert(new MenuItem(var1), var2);
- }
-
- public void addSeparator() {
- this.add("-");
- }
-
- public void insertSeparator(int var1) {
- Object var2 = ((MenuComponent)this).getTreeLock();
- synchronized(var2){}
-
- try {
- if (var1 < 0) {
- throw new IllegalArgumentException("index less than zero.");
- }
-
- int var4 = this.getItemCount();
- Vector var5 = new Vector();
-
- for(int var6 = var1; var6 < var4; ++var6) {
- var5.addElement(this.getItem(var1));
- this.remove(var1);
- }
-
- this.addSeparator();
-
- for(int var7 = 0; var7 < var5.size(); ++var7) {
- this.add((MenuItem)var5.elementAt(var7));
- }
- } catch (Throwable var9) {
- throw var9;
- }
-
- }
-
- public void remove(int var1) {
- Object var2 = ((MenuComponent)this).getTreeLock();
- synchronized(var2){}
-
- try {
- MenuItem var4 = this.getItem(var1);
- this.items.removeElementAt(var1);
- MenuPeer var5 = (MenuPeer)super.peer;
- if (var5 != null) {
- ((MenuComponent)var4).removeNotify();
- var4.parent = null;
- var5.delItem(var1);
- }
- } catch (Throwable var7) {
- throw var7;
- }
-
- }
-
- public void remove(MenuComponent var1) {
- Object var2 = ((MenuComponent)this).getTreeLock();
- synchronized(var2){}
-
- try {
- int var4 = this.items.indexOf(var1);
- if (var4 >= 0) {
- this.remove(var4);
- }
- } catch (Throwable var6) {
- throw var6;
- }
-
- }
-
- public void removeAll() {
- Object var1 = ((MenuComponent)this).getTreeLock();
- synchronized(var1){}
-
- try {
- int var3 = this.getItemCount();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- this.remove(0);
- }
- } catch (Throwable var6) {
- throw var6;
- }
-
- }
-
- boolean handleShortcut(KeyEvent var1) {
- int var2 = this.getItemCount();
-
- for(int var3 = 0; var3 < var2; ++var3) {
- MenuItem var4 = this.getItem(var3);
- if (var4.handleShortcut(var1)) {
- return true;
- }
- }
-
- return false;
- }
-
- MenuItem getShortcutMenuItem(MenuShortcut var1) {
- int var2 = this.getItemCount();
-
- for(int var3 = 0; var3 < var2; ++var3) {
- MenuItem var4 = this.getItem(var3).getShortcutMenuItem(var1);
- if (var4 != null) {
- return var4;
- }
- }
-
- return null;
- }
-
- synchronized Enumeration shortcuts() {
- Vector var1 = new Vector();
- int var2 = this.getItemCount();
-
- for(int var3 = 0; var3 < var2; ++var3) {
- MenuItem var4 = this.getItem(var3);
- if (var4 instanceof Menu) {
- Enumeration var6 = ((Menu)var4).shortcuts();
-
- while(var6.hasMoreElements()) {
- var1.addElement(var6.nextElement());
- }
- } else {
- MenuShortcut var5 = var4.getShortcut();
- if (var5 != null) {
- var1.addElement(var5);
- }
- }
- }
-
- return var1.elements();
- }
-
- void deleteShortcut(MenuShortcut var1) {
- int var2 = this.getItemCount();
-
- for(int var3 = 0; var3 < var2; ++var3) {
- this.getItem(var3).deleteShortcut();
- }
-
- }
-
- private void writeObject(ObjectOutputStream var1) throws ClassNotFoundException, IOException {
- var1.defaultWriteObject();
- }
-
- private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
- var1.defaultReadObject();
-
- for(int var2 = 0; var2 < this.items.size(); ++var2) {
- MenuItem var3 = (MenuItem)this.items.elementAt(var2);
- var3.parent = this;
- }
-
- }
-
- public String paramString() {
- String var1 = ",tearOff=" + this.tearOff + ",isHelpMenu=" + this.isHelpMenu;
- return super.paramString() + var1;
- }
- }
-