## com.bbn.openmap.gui
Class LayerAddPanel

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

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

public class LayerAddPanel
extends OMComponentPanel
implements java.io.Serializable, java.awt.event.ActionListener

Class to interactively add a Layer to the map. A LayerAddPanel utilizes the bean context mechanisms to keep up to date about the applications LayerHandler and PropertyHandler (see findAndInit method). A property is used to determine objects of which Layer subclasses can be instantiated (see static String layerTypes), for configuration of a layer-to-be an Inspector is invoked to inspect and configure a Layer object through the PropertyConsumer interface.

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 java.lang.String` `configureActionCommand` Action command String for JButton.
`static java.lang.String` `DefaultLayerName`
`protected Inspector` `inspector` The Inspector to handle the configuration of the new Layer.
`protected java.lang.Object` `layer` The layer to configure and add.
`protected java.util.Hashtable` `layerClasses` Contains Layer classes to be instantiated.
`protected LayerHandler` `layerHandler` Holds the LayerHandler.
`static java.lang.String` `layerTypes` Constant field containing markers used in properties file for layers that can be created using the LayerAddPanel.
`protected javax.swing.JComboBox` `list` The list of available Layer classes.
`protected javax.swing.JTextField` `prefixTextField` The String to use as a prefix for the new Layer's properties.
`protected PropertyHandler` `propertyHandler` Holds the PropertyHandler.

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
`LayerAddPanel()` Creates the LayerPanel.
`LayerAddPanel(PropertyHandler p, LayerHandler l)` Creates the LayerPanel.

Method Summary
`void` `actionPerformed(java.awt.event.ActionEvent e)` Method associated with the ActionListener interface.
`void` `addLayer(java.lang.String prettyName, java.lang.String className)`
`void` `createLayerClasses(Layer[] layers)`
`void` `createPanel()` Produces a dialog panel to add a layer.
`void` `createPanel(Layer[] layers)` Produces a dialog panel to add a Layer, with the layers given.
`void` `findAndInit(java.lang.Object someObj)` Looks for PropertyHandler and LayerHandler.
`void` `findAndUndo(java.lang.Object someObj)` Disconnect from any objects that are removed from MapHandler.
`java.util.Hashtable` `getLayerClasses()`
`protected java.util.Hashtable` `getLayerTypes()` Gets Layer information from PropertyHandler.
`protected java.util.Hashtable` `getLayerTypes(java.util.Properties props)` Gets Layer information from the given properties.
`java.util.Properties` `getProperties(java.util.Properties props)` PropertyConsumer method, to fill in a Properties object, reflecting the current values of the OMComponent.
`static void` `main(java.lang.String[] args)` Test cases.
`void` `setProperties(java.lang.String prefix, java.util.Properties props)` Sets the properties for the OMComponent.
`void` `showPanel()`

Methods inherited from class com.bbn.openmap.gui.OMComponentPanel
`addVetoableChangeListener, childrenAdded, childrenRemoved, findAndInit, fireVetoableChange, getBeanContext, getPropertyInfo, 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 java.beans.beancontext.BeanContextChild
`addPropertyChangeListener, removePropertyChangeListener`

Field Detail

### layerTypes

    public static final java.lang.String layerTypes

  Constant field containing markers used in properties file for layers that can be created using the LayerAddPanel.

  See Also:
    Constant Field Values

### propertyHandler

    protected PropertyHandler propertyHandler

  Holds the PropertyHandler.

### layerHandler

    protected LayerHandler layerHandler

  Holds the LayerHandler.

### list

    protected javax.swing.JComboBox list

  The list of available Layer classes. Is initiated with pretty names.

### prefixTextField

    protected javax.swing.JTextField prefixTextField

  The String to use as a prefix for the new Layer's properties.

### configureActionCommand

    protected final java.lang.String configureActionCommand

  Action command String for JButton.

  See Also:
    Constant Field Values

### layerClasses

    protected java.util.Hashtable layerClasses

  Contains Layer classes to be instantiated.

### inspector

    protected Inspector inspector

  The Inspector to handle the configuration of the new Layer.

### layer

    protected java.lang.Object layer

  The layer to configure and add.

### DefaultLayerName

    public static final java.lang.String DefaultLayerName

See Also:
  Constant Field Values

Constructor Detail

### LayerAddPanel

    public LayerAddPanel()

  Creates the LayerPanel.

### LayerAddPanel

    public LayerAddPanel(PropertyHandler p,
                         LayerHandler l)

  Creates the LayerPanel.

Parameters:
  `l` - the LayerHandler controlling the layers.

Method Detail

### createLayerClasses

    public void createLayerClasses(Layer[] layers)

### createPanel

    public void createPanel(Layer[] layers)

  Produces a dialog panel to add a Layer, with the layers given.

### createPanel

    public void createPanel()

  Produces a dialog panel to add a layer. If the layers haven't been manually added through createPanel(layers), then the PropertyHandler is consulted and the layer list is built from the layerTypes property.

### getLayerClasses

    public java.util.Hashtable getLayerClasses()

### addLayer

    public void addLayer(java.lang.String prettyName,
                         java.lang.String className)

### setProperties

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

  Description copied from class: `OMComponentPanel`
  Sets the properties for the OMComponent.

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

### getProperties

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

  Description copied from class: `OMComponentPanel`
  PropertyConsumer method, to fill in a Properties object, reflecting the current values of the OMComponent. If the component has a propertyPrefix set, the property keys should have that prefix plus a separating '.' prepended to each propery 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.

### getLayerTypes

    protected java.util.Hashtable getLayerTypes()

  Gets Layer information from PropertyHandler. These layers are defined in the application properties under the openmap.layerTypes property.

  Returns:
    Hashtable of prettyName String keys with classname values. Empty Hashtable if no layers are available.

### getLayerTypes

    protected java.util.Hashtable getLayerTypes(java.util.Properties props)

  Gets Layer information from the given properties. These layers are defined in the application properties under the openmap.layerTypes property. If the given properties are null, then the property handler, if found, will be consulted directly.

  Returns:
    Hashtable of prettyName String keys with classname values. Empty Hashtable if no layers are available.

### actionPerformed

    public void actionPerformed(java.awt.event.ActionEvent e)

  Method associated with the ActionListener interface.

  Specified by:
    `actionPerformed` in interface `java.awt.event.ActionListener`

### showPanel

    public void showPanel()

### findAndInit

    public void findAndInit(java.lang.Object someObj)

  Looks for PropertyHandler and LayerHandler.

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

### findAndUndo

    public void findAndUndo(java.lang.Object someObj)

  Disconnect from any objects that are removed from MapHandler.

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

### main

    public static void main(java.lang.String[] args)

  Test cases.

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