## com.bbn.openmap.gui
Class StatusLightPanel

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JPanel
                      com.bbn.openmap.gui.OMComponentPanel
                          com.bbn.openmap.gui.StatusLightPanel

All Implemented Interfaces:
  javax.accessibility.Accessible, java.beans.beancontext.BeanContextChild, java.beans.beancontext.BeanContextMembershipListener, java.util.EventListener, java.awt.image.ImageObserver, LayerStatusListener, LightMapHandlerChild, java.awt.MenuContainer, java.beans.PropertyChangeListener, PropertyConsumer, java.io.Serializable

public class StatusLightPanel
extends OMComponentPanel
implements LayerStatusListener, java.beans.PropertyChangeListener, PropertyConsumer

See Also:
  Serialized Form

Nested Class Summary

Nested classes inherited from class javax.swing.JPanel
`javax.swing.JPanel.AccessibleJPanel`

Nested classes inherited from class javax.swing.JComponent
`javax.swing.JComponent.AccessibleJComponent`

Nested classes inherited from class java.awt.Container
`java.awt.Container.AccessibleAWTContainer`

Nested classes inherited from class java.awt.Component
`java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

Field Summary
`protected javax.swing.JToolBar` `container`
`static java.lang.String` `defaultKey`
`static javax.swing.ImageIcon` `greenIcon`
`protected static java.net.URL` `greenURL`
`static javax.swing.ImageIcon` `greyIcon`
`protected static java.net.URL` `greyURL`
`protected java.lang.String` `key`
`protected Layer[]` `layers`
`protected boolean` `lightTriggers` Flag to make the status light buttons act as triggers to bring up the layer palettes.
`static java.lang.String` `LightTriggersProperty`
`protected MapBean` `map`
`protected int` `numlayers`
`static javax.swing.ImageIcon` `redIcon`
`protected static java.net.URL` `redURL`
`protected boolean` `showWaitCursor`
`protected java.util.Hashtable` `statusLights`
`protected boolean` `waitingForLayers`

Fields inherited from class com.bbn.openmap.gui.OMComponentPanel
`beanContextChildSupport, i18n, propertyPrefix, windowSupport`

Fields inherited from class javax.swing.JComponent
`accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Fields inherited from interface com.bbn.openmap.PropertyConsumer
`EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`StatusLightPanel()`

Method Summary
`void` `findAndInit(java.lang.Object someObj)` Called when an object has been added to the BeanContext.
`void` `findAndUndo(java.lang.Object someObj)` Called when an object is being removed from the BeanContext.
`boolean` `getLightTriggers()`
`MapBean` `getMap()`
`java.util.Properties` `getProperties(java.util.Properties props)` Method to fill in a Properties object, reflecting the current values of the PropertyConsumer.
`java.util.Properties` `getPropertyInfo(java.util.Properties props)` Method to fill in a Properties object with values reflecting the properties able to be set on this PropertyConsumer.
`protected javax.swing.JButton` `getStatusLightForLayer(Layer layer)` This method is really a get and set.
`protected void` `listenToLayers(Layer[] newLayers)` Method to add the StatusLightPanel as an Information Display Event listener to a list of layers.
`void` `propertyChange(java.beans.PropertyChangeEvent evt)` Listen for the layer changes within the MapBean, to display the status lights for each layer.
`void` `reset()` The method that updates the StatusLight display with the correct layer status representation.
`protected void` `setLayerStatus(Layer layer, javax.swing.Icon icon)` Set the light in the window to be a certain color, depending on the working status.
`void` `setLightTriggers(boolean set)`
`void` `setMap(MapBean map)`
`void` `setProperties(java.lang.String prefix, java.util.Properties props)` Method to set the properties in the PropertyConsumer.
`void` `updateLayerStatus(LayerStatusEvent evt)` Update the Layer status.

Methods inherited from class com.bbn.openmap.gui.OMComponentPanel
`addVetoableChangeListener, childrenAdded, childrenRemoved, findAndInit, fireVetoableChange, getBeanContext, getPropertyPrefix, getWindowSupport, removeVetoableChangeListener, setBeanContext, setProperties, setPropertyPrefix, setWindowSupport`

Methods inherited from class javax.swing.JPanel
`getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

Methods inherited from class javax.swing.JComponent

`addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree`

Methods inherited from class java.awt.Component

`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface com.bbn.openmap.PropertyConsumer
`getPropertyPrefix, setProperties, setPropertyPrefix`

Methods inherited from interface java.beans.beancontext.BeanContextChild
`addPropertyChangeListener, removePropertyChangeListener`

Field Detail

### numlayers

    protected int numlayers

### map

    protected MapBean map

### layers

    protected Layer[] layers

### statusLights

    protected java.util.Hashtable statusLights

### container

    protected javax.swing.JToolBar container

### greyURL

    protected static final transient java.net.URL greyURL

### greyIcon

    public static final transient javax.swing.ImageIcon greyIcon

### redURL

    protected static final transient java.net.URL redURL

### redIcon

    public static final transient javax.swing.ImageIcon redIcon

### greenURL

    protected static final transient java.net.URL greenURL

### greenIcon

    public static final transient javax.swing.ImageIcon greenIcon

### waitingForLayers

    protected boolean waitingForLayers

### showWaitCursor

    protected boolean showWaitCursor

### lightTriggers

    protected boolean lightTriggers

  Flag to make the status light buttons act as triggers to bring up the layer palettes.

### LightTriggersProperty

    public static final java.lang.String LightTriggersProperty

See Also:
  Constant Field Values

### defaultKey

    public static final java.lang.String defaultKey

See Also:
  Constant Field Values

### key

    protected java.lang.String key

Constructor Detail

### StatusLightPanel

    public StatusLightPanel()

Method Detail

### setMap

    public void setMap(MapBean map)

### getMap

    public MapBean getMap()

### propertyChange

    public void propertyChange(java.beans.PropertyChangeEvent evt)

  Listen for the layer changes within the MapBean, to display the status lights for each layer.

  Specified by:
    `propertyChange` in interface `java.beans.PropertyChangeListener`

### listenToLayers

    protected void listenToLayers(Layer[] newLayers)

  Method to add the StatusLightPanel as an Information Display Event listener to a list of layers. Should not be called directly, because it is called as a result of the property change (layers) of the MapBean.

### getStatusLightForLayer

    protected javax.swing.JButton getStatusLightForLayer(Layer layer)

  This method is really a get and set. The JLabel status gif is returned out of the HashTable for the layer. If the layer isn't in the HashTable, the new light is created, and a tooltip for it is set.

  Parameters:
    `layer` - the layer for the needed light.
  Returns:
    JLabel representing the status of the layer.

### reset

    public void reset()

  The method that updates the StatusLight display with the correct layer status representation.

### setLayerStatus

    protected void setLayerStatus(Layer layer,
                                  javax.swing.Icon icon)

  Set the light in the window to be a certain color, depending on the working status. If the layer light isn't stored, the whole thing is blown off. If the icon is red, then the watch cursor is requested, if allowed by showWaitCursor.

  Parameters:
    `layer` - the layer to update.
    `icon` - the icon light representing the status.

### updateLayerStatus

    public void updateLayerStatus(LayerStatusEvent evt)

  Update the Layer status.

  Specified by:
    `updateLayerStatus` in interface `LayerStatusListener`
  Parameters:
    `evt` - LayerStatusEvent

### findAndInit

    public void findAndInit(java.lang.Object someObj)

  Called when an object has been added to the BeanContext. The InformationDelegator will look for certain objects it needs.

  Specified by:
    `findAndInit` in interface `LightMapHandlerChild`
  Overrides:
    `findAndInit` in class `OMComponentPanel`

### findAndUndo

    public void findAndUndo(java.lang.Object someObj)

  Called when an object is being removed from the BeanContext. Will cause the object to be disconnected from the InformationDelegator if it is being used.

  Specified by:
    `findAndUndo` in interface `LightMapHandlerChild`
  Overrides:
    `findAndUndo` in class `OMComponentPanel`

### setProperties

    public void setProperties(java.lang.String prefix,
                              java.util.Properties props)

  Description copied from interface: `PropertyConsumer`
  Method to set the properties in the PropertyConsumer. The prefix is a string that should be prepended to each property key (in addition to a separating '.') in order for the PropertyConsumer to uniquely identify properties meant for it, in the midst of of Properties meant for several objects.

  Specified by:
    `setProperties` in interface `PropertyConsumer`
  Overrides:
    `setProperties` in class `OMComponentPanel`
  Parameters:
    `prefix` - the token to prefix the property names
    `props` - the `Properties` object

### setLightTriggers

    public void setLightTriggers(boolean set)

### getLightTriggers

    public boolean getLightTriggers()

### getProperties

    public java.util.Properties getProperties(java.util.Properties props)

  Description copied from interface: `PropertyConsumer`
  Method to fill in a Properties object, reflecting the current values of the PropertyConsumer. If the PropertyConsumer has a prefix set, the property keys should have that prefix plus a separating '.' prepended to each property key it uses for configuration.

  Specified by:
    `getProperties` in interface `PropertyConsumer`
  Overrides:
    `getProperties` in class `OMComponentPanel`
  Parameters:
    `props` - a Properties object to load the PropertyConsumer properties into. If props equals null, then a new Properties object should be created.
  Returns:
    Properties object containing PropertyConsumer property values. If getList was not null, this should equal getList. Otherwise, it should be the Properties object created by the PropertyConsumer.

### getPropertyInfo

    public java.util.Properties getPropertyInfo(java.util.Properties props)

  Description copied from interface: `PropertyConsumer`
  Method to fill in a Properties object with values reflecting the properties able to be set on this PropertyConsumer. The key for each property should be the raw property name (without a prefix) with a value that is a String that describes what the property key represents, along with any other information about the property that would be helpful (range, default value, etc.).

  Specified by:
    `getPropertyInfo` in interface `PropertyConsumer`
  Overrides:
    `getPropertyInfo` in class `OMComponentPanel`
  Parameters:
    `props` - a Properties object to load the PropertyConsumer properties into. If getList equals null, then a new Properties object should be created.
  Returns:
    Properties object containing PropertyConsumer property values. If getList was not null, this should equal getList. Otherwise, it should be the Properties object created by the PropertyConsumer.

Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details