/[classpath]/classpath/java/awt/MenuBar.java
ViewVC logotype

Diff of /classpath/java/awt/MenuBar.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10 by fitzsim, Tue Feb 3 17:17:29 2004 UTC revision 1.10.2.1 by gnu_andrew, Fri Jan 14 10:24:15 2005 UTC
# Line 45  import java.io.Serializable; Line 45  import java.io.Serializable;
45  import java.util.Enumeration;  import java.util.Enumeration;
46  import java.util.Vector;  import java.util.Vector;
47    
48    import javax.accessibility.Accessible;
49    import javax.accessibility.AccessibleContext;
50    import javax.accessibility.AccessibleRole;
51    
52  /**  /**
53    * This class implements a menu bar in the AWT system.    * This class implements a menu bar in the AWT system.
54    *    *
55    * @author Aaron M. Renn (arenn@urbanophile.com)    * @author Aaron M. Renn (arenn@urbanophile.com)
56    * @author Tom Tromey <tromey@redhat.com>    * @author Tom Tromey <tromey@redhat.com>
57      * @author Andrew John Hughes <gnu_andrew@member.fsf.org>
58    */    */
59  public class MenuBar extends MenuComponent  public class MenuBar extends MenuComponent
60    implements MenuContainer, Serializable    implements MenuContainer, Serializable, Accessible
61  {  {
62    
63  /*  /*
# Line 78  private Menu helpMenu; Line 83  private Menu helpMenu;
83    */    */
84  private Vector menus = new Vector();  private Vector menus = new Vector();
85    
86      /**
87       * The accessible context for this component.
88       *
89       * @see #getAccessibleContext()
90       * @serial ignored.
91       */
92      private transient AccessibleContext accessibleContext;
93    
94  /*************************************************************************/  /*************************************************************************/
95    
96  /*  /*
# Line 128  setHelpMenu(Menu menu) Line 141  setHelpMenu(Menu menu)
141        helpMenu.removeNotify ();        helpMenu.removeNotify ();
142        helpMenu.parent = null;        helpMenu.parent = null;
143      }      }
144      helpMenu = menu;
145    
146    if (menu.parent != null)    if (menu.parent != null)
147      menu.parent.remove (menu);      menu.parent.remove (menu);
   if (menu.parent != null)  
     menu.parent.remove (menu);  
148    menu.parent = this;    menu.parent = this;
149    
150      MenuBarPeer peer = (MenuBarPeer) getPeer ();
151    if (peer != null)    if (peer != null)
152      {      {
153        MenuBarPeer mp = (MenuBarPeer) peer;        menu.addNotify();
154        mp.addHelpMenu (menu);        peer.addHelpMenu (menu);
155      }      }
156  }  }
157    
# Line 163  add(Menu menu) Line 176  add(Menu menu)
176    
177    if (peer != null)    if (peer != null)
178      {      {
179        MenuBarPeer mp = (MenuBarPeer) peer;        menu.addNotify();
       mp.addMenu (menu);  
180      }      }
181    
182    return(menu);    return(menu);
# Line 234  getMenuCount() Line 246  getMenuCount()
246  public int  public int
247  countMenus()  countMenus()
248  {  {
249    // FIXME: How does the help menu fit in here?    return menus.size () + (getHelpMenu () == null ? 0 : 1);
   return menus.size ();  
250  }  }
251    
252  /*************************************************************************/  /*************************************************************************/
# Line 269  addNotify() Line 280  addNotify()
280      Menu mi = (Menu)e.nextElement();      Menu mi = (Menu)e.nextElement();
281      mi.addNotify();      mi.addNotify();
282    }    }
283      if (helpMenu != null)
284      {
285        helpMenu.addNotify();
286        ((MenuBarPeer) peer).addHelpMenu(helpMenu);
287      }
288  }  }
289    
290  /*************************************************************************/  /*************************************************************************/
# Line 353  deleteShortcut(MenuShortcut shortcut) Line 369  deleteShortcut(MenuShortcut shortcut)
369      it.deleteShortcut ();      it.deleteShortcut ();
370  }  }
371    
372    /**
373     * Gets the AccessibleContext associated with this <code>MenuBar</code>.
374     * The context is created, if necessary.
375     *
376     * @return the associated context
377     */
378    public AccessibleContext getAccessibleContext()
379    {
380      /* Create the context if this is the first request */
381      if (accessibleContext == null)
382        {
383          /* Create the context */
384          accessibleContext = new AccessibleAWTMenuBar();
385        }
386      return accessibleContext;
387    }
388    
389    /**
390     * This class provides accessibility support for AWT menu bars.
391     *
392     * @author Andrew John Hughes <gnu_andrew@member.fsf.org>
393     */
394    protected class AccessibleAWTMenuBar
395      extends AccessibleAWTMenuComponent
396    {
397      
398      /**
399       * Compatible with JDK 1.4.2 revision 5
400       */
401      private static final long serialVersionUID = -8577604491830083815L;
402    
403      /**
404       * This is the default constructor, which simply calls the default
405       * constructor of the superclass.
406       */
407      protected AccessibleAWTMenuBar()
408      {
409        super();
410      }
411    
412      /**
413       * Returns the accessible role relating to the menu bar.
414       *
415       * @return <code>AccessibleRole.MENU_BAR</code>.
416       */
417      public AccessibleRole getAccessibleRole()
418      {
419        return AccessibleRole.MENU_BAR;
420      }
421    
422    } // class AccessibleAWTMenuBar
423    
424  } // class MenuBar  } // class MenuBar

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.10.2.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26