home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / awt / MenuBar.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  4.3 KB  |  251 lines

  1. package java.awt;
  2.  
  3. import java.awt.event.InputEvent;
  4. import java.awt.event.KeyEvent;
  5. import java.awt.peer.MenuBarPeer;
  6. import java.io.IOException;
  7. import java.io.ObjectInputStream;
  8. import java.io.ObjectOutputStream;
  9. import java.util.Enumeration;
  10. import java.util.Vector;
  11. import javax.accessibility.Accessible;
  12. import javax.accessibility.AccessibleContext;
  13.  
  14. public class MenuBar extends MenuComponent implements MenuContainer, Accessible {
  15.    Vector menus = new Vector();
  16.    Menu helpMenu;
  17.    private static final String base = "menubar";
  18.    private static int nameCounter;
  19.    private static final long serialVersionUID = -4930327919388951260L;
  20.    private int menuBarSerializedDataVersion = 1;
  21.  
  22.    String constructComponentName() {
  23.       Class var1 = this.getClass();
  24.       synchronized(var1) {
  25.          String var2 = "menubar" + nameCounter++;
  26.          return var2;
  27.       }
  28.    }
  29.  
  30.    public void addNotify() {
  31.       Object var1 = ((MenuComponent)this).getTreeLock();
  32.       synchronized(var1) {
  33.          if (super.peer == null) {
  34.             super.peer = Toolkit.getDefaultToolkit().createMenuBar(this);
  35.          }
  36.  
  37.          int var2 = this.getMenuCount();
  38.  
  39.          for(int var3 = 0; var3 < var2; ++var3) {
  40.             this.getMenu(var3).addNotify();
  41.          }
  42.  
  43.       }
  44.    }
  45.  
  46.    public void removeNotify() {
  47.       Object var1 = ((MenuComponent)this).getTreeLock();
  48.       synchronized(var1) {
  49.          int var2 = this.getMenuCount();
  50.  
  51.          for(int var3 = 0; var3 < var2; ++var3) {
  52.             this.getMenu(var3).removeNotify();
  53.          }
  54.  
  55.          super.removeNotify();
  56.       }
  57.    }
  58.  
  59.    public Menu getHelpMenu() {
  60.       return this.helpMenu;
  61.    }
  62.  
  63.    public void setHelpMenu(Menu var1) {
  64.       Object var2 = ((MenuComponent)this).getTreeLock();
  65.       synchronized(var2) {
  66.          if (this.helpMenu != var1) {
  67.             if (this.helpMenu != null) {
  68.                this.remove(this.helpMenu);
  69.             }
  70.  
  71.             if (var1.parent != this) {
  72.                this.add(var1);
  73.             }
  74.  
  75.             this.helpMenu = var1;
  76.             if (var1 != null) {
  77.                var1.isHelpMenu = true;
  78.                var1.parent = this;
  79.                MenuBarPeer var3 = (MenuBarPeer)super.peer;
  80.                if (var3 != null) {
  81.                   if (var1.peer == null) {
  82.                      var1.addNotify();
  83.                   }
  84.  
  85.                   var3.addHelpMenu(var1);
  86.                }
  87.             }
  88.  
  89.          }
  90.       }
  91.    }
  92.  
  93.    public Menu add(Menu var1) {
  94.       Object var2 = ((MenuComponent)this).getTreeLock();
  95.       synchronized(var2) {
  96.          if (var1.parent != null) {
  97.             var1.parent.remove(var1);
  98.          }
  99.  
  100.          this.menus.addElement(var1);
  101.          var1.parent = this;
  102.          MenuBarPeer var3 = (MenuBarPeer)super.peer;
  103.          if (var3 != null) {
  104.             if (var1.peer == null) {
  105.                var1.addNotify();
  106.             }
  107.  
  108.             var3.addMenu(var1);
  109.          }
  110.  
  111.          return var1;
  112.       }
  113.    }
  114.  
  115.    public void remove(int var1) {
  116.       Object var2 = ((MenuComponent)this).getTreeLock();
  117.       synchronized(var2) {
  118.          Menu var3 = this.getMenu(var1);
  119.          this.menus.removeElementAt(var1);
  120.          MenuBarPeer var4 = (MenuBarPeer)super.peer;
  121.          if (var4 != null) {
  122.             var3.removeNotify();
  123.             var3.parent = null;
  124.             var4.delMenu(var1);
  125.          }
  126.  
  127.       }
  128.    }
  129.  
  130.    public void remove(MenuComponent var1) {
  131.       Object var2 = ((MenuComponent)this).getTreeLock();
  132.       synchronized(var2) {
  133.          int var3 = this.menus.indexOf(var1);
  134.          if (var3 >= 0) {
  135.             this.remove(var3);
  136.          }
  137.  
  138.       }
  139.    }
  140.  
  141.    public int getMenuCount() {
  142.       return this.countMenus();
  143.    }
  144.  
  145.    public int countMenus() {
  146.       return this.getMenuCountImpl();
  147.    }
  148.  
  149.    final int getMenuCountImpl() {
  150.       return this.menus.size();
  151.    }
  152.  
  153.    public Menu getMenu(int var1) {
  154.       return this.getMenuImpl(var1);
  155.    }
  156.  
  157.    final Menu getMenuImpl(int var1) {
  158.       return (Menu)this.menus.elementAt(var1);
  159.    }
  160.  
  161.    public synchronized Enumeration shortcuts() {
  162.       Vector var1 = new Vector();
  163.       int var2 = this.getMenuCount();
  164.  
  165.       for(int var3 = 0; var3 < var2; ++var3) {
  166.          Enumeration var4 = this.getMenu(var3).shortcuts();
  167.  
  168.          while(var4.hasMoreElements()) {
  169.             var1.addElement(var4.nextElement());
  170.          }
  171.       }
  172.  
  173.       return var1.elements();
  174.    }
  175.  
  176.    public MenuItem getShortcutMenuItem(MenuShortcut var1) {
  177.       int var2 = this.getMenuCount();
  178.  
  179.       for(int var3 = 0; var3 < var2; ++var3) {
  180.          MenuItem var4 = this.getMenu(var3).getShortcutMenuItem(var1);
  181.          if (var4 != null) {
  182.             return var4;
  183.          }
  184.       }
  185.  
  186.       return null;
  187.    }
  188.  
  189.    boolean handleShortcut(KeyEvent var1) {
  190.       int var2 = ((AWTEvent)var1).getID();
  191.       if (var2 != 401 && var2 != 402) {
  192.          return false;
  193.       } else {
  194.          int var3 = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
  195.          if ((((InputEvent)var1).getModifiers() & var3) == 0) {
  196.             return false;
  197.          } else {
  198.             int var4 = this.getMenuCount();
  199.  
  200.             for(int var5 = 0; var5 < var4; ++var5) {
  201.                Menu var6 = this.getMenu(var5);
  202.                if (var6.handleShortcut(var1)) {
  203.                   return true;
  204.                }
  205.             }
  206.  
  207.             return false;
  208.          }
  209.       }
  210.    }
  211.  
  212.    public void deleteShortcut(MenuShortcut var1) {
  213.       int var2 = this.getMenuCount();
  214.  
  215.       for(int var3 = 0; var3 < var2; ++var3) {
  216.          this.getMenu(var3).deleteShortcut(var1);
  217.       }
  218.  
  219.    }
  220.  
  221.    private void writeObject(ObjectOutputStream var1) throws ClassNotFoundException, IOException {
  222.       var1.defaultWriteObject();
  223.    }
  224.  
  225.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  226.       var1.defaultReadObject();
  227.  
  228.       for(int var2 = 0; var2 < this.menus.size(); ++var2) {
  229.          Menu var3 = (Menu)this.menus.elementAt(var2);
  230.          var3.parent = this;
  231.       }
  232.  
  233.    }
  234.  
  235.    private static native void initIDs();
  236.  
  237.    public AccessibleContext getAccessibleContext() {
  238.       if (super.accessibleContext == null) {
  239.          super.accessibleContext = new AccessibleAWTMenuBar(this);
  240.       }
  241.  
  242.       return super.accessibleContext;
  243.    }
  244.  
  245.    static {
  246.       Toolkit.loadLibraries();
  247.       initIDs();
  248.       nameCounter = 0;
  249.    }
  250. }
  251.