com.bbn.openmap.gui
Class LayerControlButtonPanel

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.LayerControlButtonPanel
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.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class LayerControlButtonPanel
extends OMComponentPanel
implements java.awt.event.ActionListener, java.beans.PropertyChangeListener

A OMComponentPanel that provides controls to manupulate layer order in the LayersPanel, and to provide add layer and delete layer buttons. This panel can be embedded into the LayersPanel, or it can be positioned somewhere else in the application. The LayersPanel can be set to create one of these itself, in which case it will be embedded. If you don't want an embedded version, create one and add it to the MapHandler, it will hook up to the LayersPanel when it finds it. The LayerPanes, LayersPanel and LayerControlButtonPanel communicate with each other using PropertyChangeEvents. The LayerPanes notify the LayersPanelwhen one of them is selected, and that event gets passed to this panel. When a button on this panel is pressed, it fires a PropertyChangeEvent with the layer and command to take to all its PropertyChangeListeners.

The LayerControlButtonPanel takes these properties:

 
  
   
    
    
    
    
     # Direction buttons are laid out, vertical or horizontal (vertical is
     default).
     orientation=vertical
     # Flag on whether to insert buttons onto LayersPanel (true by default).
     embedded=true
     # Configuration setting when embedding into LayersPanel (WEST,
     # NORTH, EAST, SOUTH, NORTH_SOUTH) NORTH_SOUTH puts up button above
     # list, down button below list.
     configuration=WEST
     # Flag to put button that lets the user delete layers (true by default).
     delete=true
     # Flag to put button that lets the user add layers, if the
     # LayersAddPanel is discovered in the MapHandler (true by default)
     add=true
    
    
    
     
    
   
  
 

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.JButton add
           
protected static javax.swing.ImageIcon addclickedgif
           
protected static javax.swing.ImageIcon addgif
           
protected  boolean addLayers
           
static java.lang.String AddLayersProperty
           
protected  javax.swing.JButton bottom
           
protected static javax.swing.ImageIcon bottomclickedgif
           
protected static javax.swing.ImageIcon bottomgif
           
protected  int boxOrientation
           
protected  java.lang.String configuration
           
static java.lang.String ConfigurationProperty
           
static java.lang.String DefaultConfiguration
           
protected  javax.swing.JButton delete
           
protected static javax.swing.ImageIcon deleteclickedgif
           
protected static javax.swing.ImageIcon deletegif
           
protected  boolean deleteLayers
           
static java.lang.String DeleteLayersProperty
           
protected  javax.swing.JButton down
           
protected static javax.swing.ImageIcon downclickedgif
           
protected static javax.swing.ImageIcon downgif
           
static java.lang.String EAST_CONFIG
           
protected  boolean embedded
           
static java.lang.String EmbeddedProperty
           
static java.lang.String HORIZONTAL_CONFIG
           
protected  LayerAddPanel layerAddPanel
           
static java.lang.String NORTH_CONFIG
           
static java.lang.String NORTH_SOUTH_CONFIG
           
static java.lang.String OrientationProperty
           
protected  Layer selected
           
static java.lang.String SOUTH_CONFIG
           
protected  javax.swing.JButton top
           
protected static javax.swing.ImageIcon topclickedgif
           
protected static javax.swing.ImageIcon topgif
           
protected  javax.swing.JButton up
           
protected static javax.swing.ImageIcon upclickedgif
           
protected static javax.swing.ImageIcon upgif
           
protected static java.net.URL urladd
           
protected static java.net.URL urladdc
           
protected static java.net.URL urlbottom
           
protected static java.net.URL urlbottomc
           
protected static java.net.URL urldelete
           
protected static java.net.URL urldeletec
           
protected static java.net.URL urldown
           
protected static java.net.URL urldownc
           
protected static java.net.URL urltop
           
protected static java.net.URL urltopc
           
protected static java.net.URL urlup
           
protected static java.net.URL urlupc
           
static java.lang.String VERTICAL_CONFIG
           
static java.lang.String WEST_CONFIG
           
 
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
LayerControlButtonPanel()
           
LayerControlButtonPanel(LayersPanel panel)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Method associated with the ActionListener interface.
protected  void createInterface()
           
 void findAndInit(java.lang.Object someObj)
           
 void findAndUndo(java.lang.Object someObj)
           
 LayerAddPanel getLayerAddPanel()
          Get the panel interface to dynamically add layers.
 java.util.Properties getProperties(java.util.Properties props)
          PropertyConsumer method, to fill in a Properties object, reflecting the current values of the OMComponent.
 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.
 void propertyChange(java.beans.PropertyChangeEvent pce)
           
 void removeLayersPanel(LayersPanel panel)
           
 void setLayerAddPanel(LayerAddPanel lap)
          Set the panel that brings up an interface to dynamically add layers.
 void setLayersPanel(LayersPanel panel)
          Sets this panel to control the LayersPanel.
 void setProperties(java.lang.String prefix, java.util.Properties props)
          Sets the properties for the OMComponent.
 
Methods inherited from class com.bbn.openmap.gui.OMComponentPanel
addVetoableChangeListener, childrenAdded, childrenRemoved, findAndInit, fireVetoableChange, getBeanContext, getOrientation, 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

urlup

protected static transient java.net.URL urlup

upgif

protected static transient javax.swing.ImageIcon upgif

urlupc

protected static transient java.net.URL urlupc

upclickedgif

protected static transient javax.swing.ImageIcon upclickedgif

urltop

protected static transient java.net.URL urltop

topgif

protected static transient javax.swing.ImageIcon topgif

urltopc

protected static transient java.net.URL urltopc

topclickedgif

protected static transient javax.swing.ImageIcon topclickedgif

urldown

protected static transient java.net.URL urldown

downgif

protected static transient javax.swing.ImageIcon downgif

urldownc

protected static transient java.net.URL urldownc

downclickedgif

protected static transient javax.swing.ImageIcon downclickedgif

urlbottom

protected static transient java.net.URL urlbottom

bottomgif

protected static transient javax.swing.ImageIcon bottomgif

urlbottomc

protected static transient java.net.URL urlbottomc

bottomclickedgif

protected static transient javax.swing.ImageIcon bottomclickedgif

urldelete

protected static transient java.net.URL urldelete

deletegif

protected static transient javax.swing.ImageIcon deletegif

urldeletec

protected static transient java.net.URL urldeletec

deleteclickedgif

protected static transient javax.swing.ImageIcon deleteclickedgif

urladd

protected static transient java.net.URL urladd

addgif

protected static transient javax.swing.ImageIcon addgif

urladdc

protected static transient java.net.URL urladdc

addclickedgif

protected static transient javax.swing.ImageIcon addclickedgif

add

protected javax.swing.JButton add

delete

protected javax.swing.JButton delete

top

protected javax.swing.JButton top

up

protected javax.swing.JButton up

down

protected javax.swing.JButton down

bottom

protected javax.swing.JButton bottom

layerAddPanel

protected LayerAddPanel layerAddPanel

OrientationProperty

public static final java.lang.String OrientationProperty
See Also:
Constant Field Values

ConfigurationProperty

public static final java.lang.String ConfigurationProperty
See Also:
Constant Field Values

EmbeddedProperty

public static final java.lang.String EmbeddedProperty
See Also:
Constant Field Values

DeleteLayersProperty

public static final java.lang.String DeleteLayersProperty
See Also:
Constant Field Values

AddLayersProperty

public static final java.lang.String AddLayersProperty
See Also:
Constant Field Values

HORIZONTAL_CONFIG

public static final java.lang.String HORIZONTAL_CONFIG
See Also:
Constant Field Values

VERTICAL_CONFIG

public static final java.lang.String VERTICAL_CONFIG
See Also:
Constant Field Values

WEST_CONFIG

public static final java.lang.String WEST_CONFIG
See Also:
Constant Field Values

EAST_CONFIG

public static final java.lang.String EAST_CONFIG
See Also:
Constant Field Values

NORTH_CONFIG

public static final java.lang.String NORTH_CONFIG
See Also:
Constant Field Values

SOUTH_CONFIG

public static final java.lang.String SOUTH_CONFIG
See Also:
Constant Field Values

NORTH_SOUTH_CONFIG

public static final java.lang.String NORTH_SOUTH_CONFIG
See Also:
Constant Field Values

DefaultConfiguration

public static final java.lang.String DefaultConfiguration
See Also:
Constant Field Values

boxOrientation

protected int boxOrientation

configuration

protected java.lang.String configuration

embedded

protected boolean embedded

deleteLayers

protected boolean deleteLayers

addLayers

protected boolean addLayers

selected

protected Layer selected
Constructor Detail

LayerControlButtonPanel

public LayerControlButtonPanel()

LayerControlButtonPanel

public LayerControlButtonPanel(LayersPanel panel)
Method Detail

removeLayersPanel

public void removeLayersPanel(LayersPanel panel)

setLayersPanel

public void setLayersPanel(LayersPanel panel)
Sets this panel to control the LayersPanel. If you want to extend this class and change how the buttons are displayed in the LayersPanel, change this method.


createInterface

protected void createInterface()

setLayerAddPanel

public void setLayerAddPanel(LayerAddPanel lap)
Set the panel that brings up an interface to dynamically add layers.


getLayerAddPanel

public LayerAddPanel getLayerAddPanel()
Get the panel interface to dynamically add layers.


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Method associated with the ActionListener interface. This method listens for action events meant to change the order of the layers, as fired by the layer order buttons.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - ActionEvent

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent pce)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener

findAndInit

public void findAndInit(java.lang.Object someObj)
Specified by:
findAndInit in interface LightMapHandlerChild
Overrides:
findAndInit in class OMComponentPanel

findAndUndo

public void findAndUndo(java.lang.Object someObj)
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 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.

getPropertyInfo

public java.util.Properties getPropertyInfo(java.util.Properties props)
Description copied from class: OMComponentPanel
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.). For Layer, this method should at least return the 'prettyName' property.

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