home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / awt / MenuBar.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  4.6 KB  |  254 lines

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