PamView
Class MenuItemEnabler

java.lang.Object
  extended by PamView.MenuItemEnabler

public class MenuItemEnabler
extends java.lang.Object

Now that there are many menus, there will several instances of each menu item. Each menu item may therefore be added to a MenuItemEnabler which will ensure that all items are enabled / disabled together.

Can also be used to setSelected

Reworked with a static list of all MenuItemEnablers so that when menus are removed from the system (which happens a lot !) they can be easily removed from all the Enablers.

Author:
Doug Gillespie

Field Summary
private  boolean currentEnabled
           
private  boolean currentSelected
           
private static java.util.Vector<MenuItemEnabler> enablerList
           
private  java.util.Vector<javax.swing.JMenuItem> menuItemList
           
 
Constructor Summary
MenuItemEnabler()
          Default constructor compiles a list of all MenuItemEnablers so that they can be cleaned up on mass
 
Method Summary
 void addMenuItem(javax.swing.JMenuItem newItem)
          Add a menu item to a menu item enabler.
 void enableItems(boolean enable)
          Enable all menu items in a MenuItemEnabler list
 boolean isEnabled()
          Returns the currentEnabled state
 boolean isSelected()
          Gets the current selected state for this enabler
private  void removeAllMenuItems(javax.swing.JMenu menu)
          Iterate through the menu and it's menu items and remove every one from the enabler
static void removeMenuBar(javax.swing.JMenuBar menuBar)
          Call this for a menu that is no longer needed to remove all it's items from the enabler list.
 void removeMenuItem(javax.swing.JMenuItem newItem)
           
 void selectItems(boolean select)
          Select all menu items in a MenuItemEnabler list
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

menuItemList

private java.util.Vector<javax.swing.JMenuItem> menuItemList

currentEnabled

private boolean currentEnabled

currentSelected

private boolean currentSelected

enablerList

private static java.util.Vector<MenuItemEnabler> enablerList
Constructor Detail

MenuItemEnabler

public MenuItemEnabler()
Default constructor compiles a list of all MenuItemEnablers so that they can be cleaned up on mass

Method Detail

removeMenuBar

public static void removeMenuBar(javax.swing.JMenuBar menuBar)
Call this for a menu that is no longer needed to remove all it's items from the enabler list.

Parameters:
menu - menu to be cleaned from menu enablers.

removeAllMenuItems

private void removeAllMenuItems(javax.swing.JMenu menu)
Iterate through the menu and it's menu items and remove every one from the enabler

Parameters:
menu -

addMenuItem

public void addMenuItem(javax.swing.JMenuItem newItem)
Add a menu item to a menu item enabler.

The menu items selected state and enabled state will be set immediately.

Parameters:
newItem - new menu item to manage.

removeMenuItem

public void removeMenuItem(javax.swing.JMenuItem newItem)

enableItems

public void enableItems(boolean enable)
Enable all menu items in a MenuItemEnabler list

Parameters:
enable - enable or disable

selectItems

public void selectItems(boolean select)
Select all menu items in a MenuItemEnabler list

Parameters:
select - select or deselect

isEnabled

public boolean isEnabled()
Returns the currentEnabled state

Returns:
true if enabled

isSelected

public boolean isSelected()
Gets the current selected state for this enabler

Returns:
true if selected