com.bbn.openmap.gui
Class LayerAddPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.bbn.openmap.gui.OMComponentPanel
                      extended by com.bbn.openmap.gui.LayerAddPanel
All Implemented Interfaces:
LightMapHandlerChild, PropertyConsumer, java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.beancontext.BeanContextChild, java.beans.beancontext.BeanContextMembershipListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

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/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.JTextField classTextField
          Text field used to define new Layer class to create.
protected  java.lang.String configureActionCommand
          Action command String for JButton.
protected  javax.swing.JButton configureButton
          JButton to use to create new Layer.
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<java.lang.String,java.lang.String> 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, isolated, orientation, 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)
           
protected  void createLayer(java.lang.String className, java.lang.String prefix)
          Create a layer given a class name and property prefix to be used as a name.
 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<java.lang.String,java.lang.String> getLayerClasses()
           
protected  java.util.Hashtable<java.lang.String,java.lang.String> getLayerTypes()
          Gets Layer information from PropertyHandler.
protected  java.util.Hashtable<java.lang.String,java.lang.String> 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.
 void setProperties(java.lang.String prefix, java.util.Properties props)
          Sets the properties for the OMComponent.
 void showPanel()
          Show the panel in a JFrame.
 
Methods inherited from class com.bbn.openmap.gui.OMComponentPanel
addVetoableChangeListener, childrenAdded, childrenRemoved, findAndInit, fireVetoableChange, getBeanContext, getOrientation, getPropertyInfo, getPropertyPrefix, getWindowSupport, isIsolated, removeVetoableChangeListener, setBeanContext, setIsolated, setOrientation, 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, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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.


classTextField

protected javax.swing.JTextField classTextField
Text field used to define new Layer class to create.


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<java.lang.String,java.lang.String> 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.


configureButton

protected javax.swing.JButton configureButton
JButton to use to create new Layer.


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<java.lang.String,java.lang.String> 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 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.

getLayerTypes

protected java.util.Hashtable<java.lang.String,java.lang.String> 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<java.lang.String,java.lang.String> 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.

createLayer

protected void createLayer(java.lang.String className,
                           java.lang.String prefix)
Create a layer given a class name and property prefix to be used as a name.

Parameters:
className - class of layer to create.
prefix - pretty name and property prefix.

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()
Show the panel in a JFrame.


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


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