com.bbn.openmap.gui
Class OverlayMapPanel

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.BasicMapPanel
                          extended by com.bbn.openmap.gui.OverlayMapPanel
All Implemented Interfaces:
MapPanel, LightMapHandlerChild, PropertyConsumer, 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 OverlayMapPanel
extends BasicMapPanel
implements java.beans.PropertyChangeListener

An extension of the BasicMapPanel that uses an OverlayLayout on the panel in the BorderLayout.CENTER position. Contains a transparent widgets JPanel for placing components floating on top of the map. The default implementation of layoutPanel() adds an EmbeddedNavPanel in the upper left position of the map, as well as a ProjectionStack for it to use.

If a property prefix is set on this MapPanel, that property prefix can be used to designate MapPanelChild objects for this MapPanel. The setName variable should be set to true, and the children's parent name should match whatever property prefix is given to the panel.

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
static java.lang.String ACTIVE_WIDGET_COLOR_PROPERTY
           
protected  DrawingAttributes activeWidgetColors
          May be null, in which case the widgets should decide.
protected  int DEFAULT_WIDGET_BUTTON_SIZE
           
static java.lang.String INACTIVE_WIDGET_COLOR_PROPERTY
           
protected  DrawingAttributes inactiveWidgetColors
          May be null, in which case the widgets should decide.
static java.lang.String WIDGET_SIZE_PROPERTY
           
protected  int widgetButtonSize
          Defaults to 15;
protected  javax.swing.JPanel widgets
          A transparent JPanel with a border layout, residing on top of the MapBean.
 
Fields inherited from class com.bbn.openmap.gui.BasicMapPanel
logger, mapBean, mapHandler, menuList, propertyHandler, SET_NAME_PROPERTY, setName
 
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
OverlayMapPanel()
          Creates an empty OverlayMapPanel that creates its own empty PropertyHandler.
OverlayMapPanel(boolean delayCreation)
          Create a OverlayMapPanel with the option of delaying the search for properties until the create() call is made.
OverlayMapPanel(PropertyHandler propertyHandler)
          Create a OverlayMapPanel that configures itself with the properties contained in the PropertyHandler provided.
OverlayMapPanel(PropertyHandler propertyHandler, boolean delayCreation)
          Create a OverlayMapPanel that configures itself with properties contained in the PropertyHandler provided, and with the option of delaying the search for properties until the create() call is made.
 
Method Summary
protected  void addMapBeanToPanel(MapBean map)
          Calls layoutPanel(MapBean), which configures the panel.
 DrawingAttributes getActiveWidgetColors()
           
 DrawingAttributes getInactiveWidgetColors()
           
 java.util.Properties getProperties(java.util.Properties props)
          PropertyConsumer method, to fill in a Properties object, reflecting the current values of the OMComponent.
 int getWidgetButtonSize()
           
 void includeExitMenuItem()
          Include exit in the File menu.
protected  void layoutPanel(MapBean map)
          New method added, called from addMapBeanToPanel(MapBean).
static void main(java.lang.String[] argv)
          A main() method that just brings up a JFrame containing the MapPanel.
 void propertyChange(java.beans.PropertyChangeEvent evt)
           
 void setActiveWidgetColors(DrawingAttributes activeWidgetColors)
           
protected  void setBorders(MapBean map, javax.swing.JPanel widgets)
          If you want different borders or color them differently, override this method.
 void setInactiveWidgetColors(DrawingAttributes inactiveWidgetColors)
           
 void setProperties(java.lang.String prefix, java.util.Properties props)
          Sets the properties in the PropertyHandler managed by this BasicMapPanel.
 void setWidgetButtonSize(int widgetButtonSize)
           
 
Methods inherited from class com.bbn.openmap.gui.BasicMapPanel
addMapComponent, addMapPanelChild, addProperties, addProperties, addProperties, addProperty, appendProperty, appendProperty, create, createComponents, createLayoutManager, createMapBean, createMapBean, dispose, findAndInit, findAndUndo, getMapBean, getMapComponent, getMapComponentByType, getMapComponentsByType, getMapHandler, getMapMenu, getMapMenuBar, getProperties, getPropertyHandler, isSetName, prependProperty, prependProperty, removeMapComponent, removeMarker, removeProperty, setMapBean, setPropertyHandler, setSetName
 
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

ACTIVE_WIDGET_COLOR_PROPERTY

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

INACTIVE_WIDGET_COLOR_PROPERTY

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

WIDGET_SIZE_PROPERTY

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

DEFAULT_WIDGET_BUTTON_SIZE

protected int DEFAULT_WIDGET_BUTTON_SIZE

activeWidgetColors

protected DrawingAttributes activeWidgetColors
May be null, in which case the widgets should decide.


inactiveWidgetColors

protected DrawingAttributes inactiveWidgetColors
May be null, in which case the widgets should decide.


widgetButtonSize

protected int widgetButtonSize
Defaults to 15;


widgets

protected javax.swing.JPanel widgets
A transparent JPanel with a border layout, residing on top of the MapBean.

Constructor Detail

OverlayMapPanel

public OverlayMapPanel()
Creates an empty OverlayMapPanel that creates its own empty PropertyHandler. The MapPanel will contain a MapBean, a MapHandler, EmbeddedNavPanel and a PropertyHandler with no properties. The constructor to use to create a blank map framework to add components to.


OverlayMapPanel

public OverlayMapPanel(boolean delayCreation)
Create a OverlayMapPanel with the option of delaying the search for properties until the create() call is made.

Parameters:
delayCreation - true to let the MapPanel know that the artful programmer will call create()

OverlayMapPanel

public OverlayMapPanel(PropertyHandler propertyHandler)
Create a OverlayMapPanel that configures itself with the properties contained in the PropertyHandler provided. If the PropertyHandler is null, a new one will be created.


OverlayMapPanel

public OverlayMapPanel(PropertyHandler propertyHandler,
                       boolean delayCreation)
Create a OverlayMapPanel that configures itself with properties contained in the PropertyHandler provided, and with the option of delaying the search for properties until the create() call is made.

Parameters:
delayCreation - true to let the MapPanel know that the artful programmer will call create()
Method Detail

addMapBeanToPanel

protected void addMapBeanToPanel(MapBean map)
Calls layoutPanel(MapBean), which configures the panel.

Overrides:
addMapBeanToPanel in class BasicMapPanel

getActiveWidgetColors

public DrawingAttributes getActiveWidgetColors()

setActiveWidgetColors

public void setActiveWidgetColors(DrawingAttributes activeWidgetColors)

getInactiveWidgetColors

public DrawingAttributes getInactiveWidgetColors()

setInactiveWidgetColors

public void setInactiveWidgetColors(DrawingAttributes inactiveWidgetColors)

getWidgetButtonSize

public int getWidgetButtonSize()

setWidgetButtonSize

public void setWidgetButtonSize(int widgetButtonSize)

layoutPanel

protected void layoutPanel(MapBean map)
New method added, called from addMapBeanToPanel(MapBean).

Parameters:
map -

setBorders

protected void setBorders(MapBean map,
                          javax.swing.JPanel widgets)
If you want different borders or color them differently, override this method.

Parameters:
map -
widgets -

includeExitMenuItem

public void includeExitMenuItem()
Include exit in the File menu. Call this before create().


setProperties

public void setProperties(java.lang.String prefix,
                          java.util.Properties props)
Description copied from class: BasicMapPanel
Sets the properties in the PropertyHandler managed by this BasicMapPanel. This method is intended to be called when the PropertyHandler is set on the panel, in order for configuration parameters to be set on this panel before configuration.

Specified by:
setProperties in interface PropertyConsumer
Overrides:
setProperties in class BasicMapPanel
Parameters:
prefix - property prefix for scoping properties for this panel
props - the properties to search for properties in.

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.

main

public static void main(java.lang.String[] argv)
A main() method that just brings up a JFrame containing the MapPanel.


propertyChange

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


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