// ********************************************************************** // // <copyright> // // BBN Technologies // 10 Moulton Street // Cambridge, MA 02138 // (617) 873-8000 // // Copyright (C) BBNT Solutions LLC. All rights reserved. // // </copyright> // ********************************************************************** // // $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/gui/DefaultHelpMenu.java,v $ // $RCSfile: DefaultHelpMenu.java,v $ // $Revision: 1.4 $ // $Date: 2004/10/14 18:05:48 $ // $Author: dietrick $ // // ********************************************************************** package com.bbn.openmap.gui; import java.util.Iterator; import javax.swing.JMenuItem; import com.bbn.openmap.util.Debug; /** * HelpMenu is instance of JMenu. When added to beancontext it looks * for objects that implements HelpMenuItem interface. When objects * implementing HelpMenuItems interface are found, it simply retrieves * the menu items and adds them to itself. Note: It is the * responsibility of the MenuItems themselves to respond to clicks on * them. */ public class DefaultHelpMenu extends AbstractOpenMapMenu implements HelpMenu { private String defaultText = "Help"; private int defaultMnemonic = 'H'; public DefaultHelpMenu() { setText(defaultText); // setMnemonic(defaultMnemonic); } public DefaultHelpMenu(String in_text) { super(); setText(in_text); } /** * Look for objects that implement HelpMenuItems interface and add * them to itself. */ public void findAndInit(Object someObj) { super.findAndInit(someObj); if (someObj instanceof HelpMenuItems) { if (Debug.debugging("menu")) { Debug.output("DefaultHelpMenu found HelpMenuItems"); } Iterator hmiit = ((HelpMenuItems) someObj).iterator(); while (hmiit.hasNext()) { add((JMenuItem) hmiit.next()); } } } /** * If an object implementing helpMenuItemsI is found, remove it. */ public void findAndUndo(Object someObj) { super.findAndUndo(someObj); if (someObj instanceof HelpMenuItems) { Iterator hmiit = ((HelpMenuItems) someObj).iterator(); while (hmiit.hasNext()) { remove((JMenuItem) hmiit.next()); } } } }