## com.bbn.openmap.gui
Class ProjectionStackTool

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

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, ProjectionStackTrigger, PropertyConsumer, java.io.Serializable, Tool

public class ProjectionStackTool
extends OMToolComponent
implements ProjectionStackTrigger

The ProjectionStackTool contains buttons that can trigger a ProjectionStack to change a projection of a MapBean to a previous projection, or to a later projection if the active projection is in the middle of the stack. The OpenMap ProjectionStack will look for one of these, and connect itself to it if it finds one.

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.JButton` `backButton`
`protected static java.lang.String` `backName`
`protected boolean` `dimBackButton`
`protected static java.lang.String` `dimBackName`
`protected boolean` `dimForwardButton`
`protected static java.lang.String` `dimForwardName`
`protected javax.swing.JButton` `forwardButton`
`protected static java.lang.String` `forwardName`
`protected java.util.Vector` `listeners`

Fields inherited from class com.bbn.openmap.gui.OMToolComponent
`c, defaultKey, gridbag, key, useAsTool, UseAsToolProperty`

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
`ProjectionStackTool()`

Method Summary
`void` `addActionListener(java.awt.event.ActionListener al)` Add an ActionListener for events that trigger events to shift the Projection stack.
`void` `findAndInit(java.lang.Object someObj)`
`void` `findAndUndo(java.lang.Object someObj)`
`void` `removeActionListener(java.awt.event.ActionListener al)` Remove an ActionListener that receives events that trigger events to shift the Projection stack.
`void` `resetButtons(boolean enableBackButton, boolean enableForwardButton)`
`void` `updateProjectionStackStatus(boolean containsBackProjections, boolean containsForwardProjections)` To receive a status to let the trigger know if any projections in the forward or backward stacks exist, possibly to disable any gui widgets.

Methods inherited from class com.bbn.openmap.gui.OMToolComponent
`add, createLayout, getFace, getGridBagConstraints, getKey, getProperties, getPropertyInfo, getUseAsTool, setKey, setProperties, setUseAsTool`

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, 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

### listeners

    protected java.util.Vector listeners

### backButton

    protected javax.swing.JButton backButton

### forwardButton

    protected javax.swing.JButton forwardButton

### backName

    protected static transient java.lang.String backName

### forwardName

    protected static transient java.lang.String forwardName

### dimBackName

    protected static transient java.lang.String dimBackName

### dimForwardName

    protected static transient java.lang.String dimForwardName

### dimBackButton

    protected boolean dimBackButton

### dimForwardButton

    protected boolean dimForwardButton

Constructor Detail

### ProjectionStackTool

    public ProjectionStackTool()

Method Detail

### addActionListener

    public void addActionListener(java.awt.event.ActionListener al)

  Add an ActionListener for events that trigger events to shift the Projection stack. If you are hooking up a ProjectionStack, you don't need to call this. The ProjectionStack will call this when you can addProjectionStackTrigger on it.

  Specified by:
    `addActionListener` in interface `ProjectionStackTrigger`

### removeActionListener

    public void removeActionListener(java.awt.event.ActionListener al)

  Remove an ActionListener that receives events that trigger events to shift the Projection stack. If you are hooking up a ProjectionStack, you don't need to call this. The ProjectionStack will call this when you can removeProjectionStackTrigger on it.

  Specified by:
    `removeActionListener` in interface `ProjectionStackTrigger`

### updateProjectionStackStatus

    public void updateProjectionStackStatus(boolean containsBackProjections,
                                            boolean containsForwardProjections)

  To receive a status to let the trigger know if any projections in the forward or backward stacks exist, possibly to disable any gui widgets.

  Specified by:
    `updateProjectionStackStatus` in interface `ProjectionStackTrigger`
  Parameters:
    `containsBackProjections` - there is at least one past projection in the back cache.
    `containsForwardProjections` - there is at least one future projection in the forward cache. Used when a past projection is being used.

### resetButtons

    public void resetButtons(boolean enableBackButton,
                             boolean enableForwardButton)

### 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`

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