// **********************************************************************
//
// <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/ControlMenu.java,v $
// $RCSfile: ControlMenu.java,v $
// $Revision: 1.5 $
// $Date: 2004/10/14 18:05:47 $
// $Author: dietrick $
//
// **********************************************************************
package com.bbn.openmap.gui;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JMenuItem;
import com.bbn.openmap.gui.menu.BackgroundColorMenuItem;
import com.bbn.openmap.gui.menu.MouseModeMenu;
import com.bbn.openmap.gui.menu.ToolPanelToggleMenuItem;
/**
* This Menu, by default, holds a menu option to control the mouse modes, change
* the background color of the map, and a button to toggle the ToolPanel on and
* off.
*/
public class ControlMenu extends AbstractOpenMapMenu {
private String defaultText = "Control";
public ControlMenu() {
super();
setText(defaultText);
// setMnemonic(defaultMnemonic);
add(new MouseModeMenu());
add(new BackgroundColorMenuItem());
}
public void findAndInit(Object obj) {
super.findAndInit(obj);
if (obj instanceof ToolPanel) {
add(((ToolPanel) obj).getToggleMenu());
}
}
public void findAndUndo(Object obj) {
super.findAndUndo(obj);
if (obj instanceof ToolPanel) {
ToolPanel tp = (ToolPanel) obj;
List<ToolPanelToggleMenuItem> removedItems = new ArrayList<ToolPanelToggleMenuItem>();
int numItems = this.getItemCount();
for (int i = 0; i < numItems; i++) {
JMenuItem jmi = this.getItem(i);
if (jmi instanceof ToolPanelToggleMenuItem
&& tp.checkToolPanelToggleMenuItem(((ToolPanelToggleMenuItem) jmi))) {
removedItems.add(((ToolPanelToggleMenuItem) jmi));
}
}
if (!removedItems.isEmpty()) {
for (ToolPanelToggleMenuItem jmi : removedItems) {
remove(jmi);
jmi.dispose();
}
}
}
}
}