## com.bbn.openmap.gui
Class OMToolSet

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

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

public class OMToolSet
extends OMComponentPanel
implements java.io.Serializable, Tool

The OMToolSet bundles other control beans, and is a Tool used in the OpenMap application.

It contains a NavigatePanel, which is the directional rosette used to pan the MapBean, the ZoomPanel that has a zoom in and zoom out button, and a scale text window. To use the OMToolSet, create an instance of it, and then call setupListeners() with the MapBean. All the event handling is automatically set up.

If the OMToolSet is added to a BeanContext, it should be found by a ToolPanel. It looks for a MapBean add as listeners to the various widgets. If it doesn't get a MapBean, then the projection widgets will appear to be non-functioning.

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 boolean` `addPan`
`static java.lang.String` `AddPanProperty`
`protected boolean` `addScale`
`static java.lang.String` `AddScaleProperty`
`protected boolean` `addZoom`
`static java.lang.String` `AddZoomProperty`
`static java.lang.String` `defaultKey`
`protected java.lang.String` `key`
`protected NavigatePanel` `navPanel` Navigation rosette
`protected ScaleTextPanel` `scaleField` ScaleTextPanel for scale text.
`protected ZoomPanel` `zoomPanel` Zoom buttons

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
`OMToolSet()` Create the OMToolSet.

Method Summary
`void` `addButton(java.lang.String name, java.lang.String info, java.awt.event.ActionListener al)` Add a button to the panel.
`void` `addButton(java.net.URL url, java.lang.String info, java.awt.event.ActionListener al)` Add a button to the panel.
`protected void` `createFace()` Sets the visibility of the default components, based on their boolean settings.
`void` `findAndInit(java.lang.Object someObj)` MapHandlerChild method.
`void` `findAndUndo(java.lang.Object someObj)` MapHandlerChild method.
`java.awt.Container` `getFace()` Tool interface method.
`java.lang.String` `getKey()` Tool interface method.
`NavigatePanel` `getNavigatePanel()` Get the NavigatePanel.
`java.util.Properties` `getProperties(java.util.Properties getList)` Method to fill in a Properties object, reflecting the current values of the PropertyConsumer.
`java.util.Properties` `getPropertyInfo(java.util.Properties list)` Method to fill in a Properties object with values reflecting the properties able to be set on this PropertyConsumer.
`ScaleTextPanel` `getScaleField()` Get the scale field widget.
`ZoomPanel` `getZoomPanel()` Get the ZoomPanel
`void` `removeFromAllListeners(MapBean aMapBean)` This function removes the mapBean object from its set of Listeners.
`void` `setKey(java.lang.String aKey)` Tool interface method.
`void` `setProperties(java.lang.String prefix, java.util.Properties setList)` Method to set the properties in the PropertyConsumer.
`void` `setupListeners(MapBean aMapBean)` Convenience function to set up listeners of the components.

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 java.beans.beancontext.BeanContextChild
`addPropertyChangeListener, removePropertyChangeListener`

Field Detail

### defaultKey

    public static final java.lang.String defaultKey

See Also:
  Constant Field Values

### key

    protected java.lang.String key

### navPanel

    protected transient NavigatePanel navPanel

  Navigation rosette

### zoomPanel

    protected transient ZoomPanel zoomPanel

  Zoom buttons

### scaleField

    protected transient ScaleTextPanel scaleField

  ScaleTextPanel for scale text.

### AddZoomProperty

    public static final java.lang.String AddZoomProperty

See Also:
  Constant Field Values

### AddPanProperty

    public static final java.lang.String AddPanProperty

See Also:
  Constant Field Values

### AddScaleProperty

    public static final java.lang.String AddScaleProperty

See Also:
  Constant Field Values

### addZoom

    protected boolean addZoom

### addPan

    protected boolean addPan

### addScale

    protected boolean addScale

Constructor Detail

### OMToolSet

    public OMToolSet()

  Create the OMToolSet.

Method Detail

### getFace

    public java.awt.Container getFace()

  Tool interface method. The retrieval tool's interface. This is added to the tool bar.

  Specified by:
    `getFace` in interface `Tool`
  Returns:
    String The key for this tool.

### createFace

    protected void createFace()

  Sets the visibility of the default components, based on their boolean settings.

### getKey

    public java.lang.String getKey()

  Tool interface method. The retrieval key for this tool.

  Specified by:
    `getKey` in interface `Tool`
  Returns:
    String The key for this tool.

### setKey

    public void setKey(java.lang.String aKey)

  Tool interface method. Set the retrieval key for this tool.

  Specified by:
    `setKey` in interface `Tool`
  Parameters:
    `aKey` - The key for this tool.

### getZoomPanel

    public ZoomPanel getZoomPanel()

  Get the ZoomPanel

  Returns:
    the ZoomPanel

### getNavigatePanel

    public NavigatePanel getNavigatePanel()

  Get the NavigatePanel.

  Returns:
    the NaviationPanel (directional rosette)

### getScaleField

    public ScaleTextPanel getScaleField()

  Get the scale field widget.

  Returns:
    ScaleTextPanel that is rigged to set the scale for the map.

### setupListeners

    public void setupListeners(MapBean aMapBean)

  Convenience function to set up listeners of the components. If you are hooking the MapBean up to the OMToolSet, this is what you need to call.

  Parameters:
    `aMapBean` - a map object.

### removeFromAllListeners

    public void removeFromAllListeners(MapBean aMapBean)

  This function removes the mapBean object from its set of Listeners. An inverse of setupListeners() method.

  Parameters:
    `aMapBean` - a map object.

### addButton

    public void addButton(java.lang.String name,
                          java.lang.String info,
                          java.awt.event.ActionListener al)

  Add a button to the panel. Will attempt to create a URL from the name of the image file.

  Parameters:
    `name` - image filename
    `info` - tool tip
    `al` - ActionListener

### addButton

    public void addButton(java.net.URL url,
                          java.lang.String info,
                          java.awt.event.ActionListener al)

  Add a button to the panel.

  Parameters:
    `url` - URL for image
    `info` - tool tip
    `al` - ActionListener

### findAndInit

    public void findAndInit(java.lang.Object someObj)

  MapHandlerChild method.

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

### findAndUndo

    public void findAndUndo(java.lang.Object someObj)

  MapHandlerChild method.

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

### setProperties

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

  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 properies 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` - a String used by the PropertyConsumer to prepend to each property value it wants to look up - setList.getProperty(prefix.propertyKey). If the prefix had already been set, then the prefix passed in should replace that previous value.
    `setList` - a Properties object that the PropertyConsumer can use to retrieve expected properties it can use for configuration.

### getProperties

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

  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 propery key it uses for configuration.

  Specified by:
    `getProperties` in interface `PropertyConsumer`
  Overrides:
    `getProperties` in class `OMComponentPanel`
  Parameters:
    `getList` - 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.

### getPropertyInfo

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

  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:
    `list` - 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