com.bbn.openmap.dataAccess.mapTile
Class MapTileMakerComponent

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.dataAccess.mapTile.MapTileMakerComponent
All Implemented Interfaces:
LayerListener, PaintListener, ProjectionListener, MapPanelChild, LightMapHandlerChild, PropertyConsumer, DrawingToolRequestor, 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 MapTileMakerComponent
extends OMComponentPanel
implements MapPanelChild, LayerListener, DrawingToolRequestor, PaintListener, ProjectionListener

The MapTileMakerComponent is a GUI for creating properties that the MapTileMaker uses to create tiles. You can add it to the MapHandler (programmatically or via the openmap.components list in the openmap.properties file) and it will attach itself to the left of the map. It takes some properties itself:

 # the class definition, assuming that tileMakerComp was used as the marker name in the properties file.
 tileMakerComp.class=com.bbn.openmap.dataAccess.mapTile.MapTileMakerComponent
 # the path to the directory where tiles should be created.
 tileMakerComp.rootDir=/dev/openmap/tiles
 # a path to a file where the properties that the gui creates should be written.
 tileMakerComp.file=/dev/openmap/tilemaker.properties
 

There are some things left to do.

Author:
dietrick
See Also:
Serialized Form

Nested Class Summary
protected  class MapTileMakerComponent.ConfirmationDialog
           
protected  class MapTileMakerComponent.TileRunnable
           
protected  class MapTileMakerComponent.TileWorker
           
 
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  ZoomLevelMakerFace activeFace
           
protected  java.awt.Dialog cancelDialog
           
protected  OMDrawingTool drawingTool
           
protected  java.util.List<ZoomLevelMakerFace> faces
           
protected  java.lang.String fileName
           
protected  LayerHandler layerHandler
           
protected  java.util.logging.Logger logger
           
protected  java.lang.String parentName
           
protected  java.lang.String preferredLocation
           
protected  Projection proj
           
protected  MapMouseMode proxyMMM
           
protected  DrawingAttributes rectDA
           
protected  java.lang.String rootDir
           
static java.lang.String TILE_MAKER_PROPERTIES_FILE
           
protected  boolean transparentTiles
           
 
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.gui.MapPanelChild
ParentNameProperty, PreferredLocationProperty
 
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
MapTileMakerComponent()
           
 
Method Summary
protected  void confirmLaunchTileMaker()
           
protected  OMGraphic create(EditableOMGraphic omg)
          Launch the drawing tool to create a new EditableOMGraphic, which is undefined at this point.
 void createRectangle()
          Create a boundary rectangle from scratch, expecting the user to draw the rectangle.
 void drawingComplete(OMGraphic omg, OMAction action)
          Called by the drawing tool when editing is complete.
 void edit(OMGraphic omg, java.awt.event.MouseEvent mevent)
          Called when the OMGraphic should be edited by the drawing tool.
 void findAndInit(java.lang.Object someObj)
           
 java.lang.String getParentName()
          Should return the name of the desired parent component.
 java.lang.String getPreferredLocation()
          Should return BorderLayout.NORTH, BorderLayout.SOUTH, BorderLayout.EAST or BorderLayout.WEST.
protected  MapMouseMode getProxyMouseMode()
          Get the ProxyMouseMode for the internal drawing tool, if there is one.
protected  void init()
           
protected  void launchTileMaker(java.util.Properties props)
           
 void listenerPaint(java.lang.Object source, java.awt.Graphics graphics)
          Method called when the source object is painted.
 void projectionChanged(ProjectionEvent e)
          Invoked when there has been a fundamental change to the Map.
protected  void pushBoundarySettingsToAll(java.util.List<ZoomLevelMakerFace.BoundsObject> boundsList)
           
protected  void pushLayerSettingsToAll(java.util.List<ZoomLevelMakerFace.LayerObject> layerObjects)
           
 void releaseProxyMouseMode()
          If the DrawingToolLayer is using a hidden OMDrawingTool, release the proxy lock on the active MapMouseMode.
protected  void resetActive(ZoomLevelMakerFace activeZlif)
          Called when a new tab is selected and a new ZLIF is active.
 void setLayers(LayerEvent evt)
           
 void setParentName(java.lang.String name)
          Set the parent name that the MapPanelChild should attach itself too.
 void setPreferredLocation(java.lang.String string)
          Should be provided with BorderLayout.NORTH, BorderLayout.SOUTH, BorderLayout.EAST or BorderLayout.WEST.
 void setProperties(java.lang.String prefix, java.util.Properties props)
          Sets the properties for the OMComponent.
protected  void setProxyMouseMode(MapMouseMode mmm)
          Set the ProxyMouseMode for the internal drawing tool, if there is one.
protected  void shuffleLayers(ZoomLevelMakerFace activeZlif)
           
 
Methods inherited from class com.bbn.openmap.gui.OMComponentPanel
addVetoableChangeListener, childrenAdded, childrenRemoved, findAndInit, findAndUndo, fireVetoableChange, getBeanContext, getOrientation, getProperties, 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 com.bbn.openmap.tools.drawing.DrawingToolRequestor
getName
 
Methods inherited from interface java.beans.beancontext.BeanContextChild
addPropertyChangeListener, removePropertyChangeListener
 

Field Detail

logger

protected java.util.logging.Logger logger

TILE_MAKER_PROPERTIES_FILE

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

preferredLocation

protected java.lang.String preferredLocation

parentName

protected java.lang.String parentName

fileName

protected java.lang.String fileName

rootDir

protected java.lang.String rootDir

transparentTiles

protected boolean transparentTiles

layerHandler

protected LayerHandler layerHandler

faces

protected java.util.List<ZoomLevelMakerFace> faces

activeFace

protected ZoomLevelMakerFace activeFace

drawingTool

protected OMDrawingTool drawingTool

rectDA

protected DrawingAttributes rectDA

cancelDialog

protected java.awt.Dialog cancelDialog

proxyMMM

protected MapMouseMode proxyMMM

proj

protected Projection proj
Constructor Detail

MapTileMakerComponent

public MapTileMakerComponent()
Method Detail

init

protected void init()

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

confirmLaunchTileMaker

protected void confirmLaunchTileMaker()

launchTileMaker

protected void launchTileMaker(java.util.Properties props)

resetActive

protected void resetActive(ZoomLevelMakerFace activeZlif)
Called when a new tab is selected and a new ZLIF is active.

Parameters:
activeZlif -

shuffleLayers

protected void shuffleLayers(ZoomLevelMakerFace activeZlif)

findAndInit

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

setParentName

public void setParentName(java.lang.String name)
Set the parent name that the MapPanelChild should attach itself too.

Parameters:
name -

getParentName

public java.lang.String getParentName()
Description copied from interface: MapPanelChild
Should return the name of the desired parent component. This method lets a MapPanel to ask a component if it should be added to the panel. Enables application components to configure themselves from property file information.

Specified by:
getParentName in interface MapPanelChild
Returns:
the name of the parent component that the MapPanelChild should be added to, or null if it doesn't know.

getPreferredLocation

public java.lang.String getPreferredLocation()
Description copied from interface: MapPanelChild
Should return BorderLayout.NORTH, BorderLayout.SOUTH, BorderLayout.EAST or BorderLayout.WEST. BorderLayout.Center is generally reserved for the MapBean.

Specified by:
getPreferredLocation in interface MapPanelChild

setPreferredLocation

public void setPreferredLocation(java.lang.String string)
Description copied from interface: MapPanelChild
Should be provided with BorderLayout.NORTH, BorderLayout.SOUTH, BorderLayout.EAST or BorderLayout.WEST. BorderLayout.Center is generally reserved for the MapBean.

Specified by:
setPreferredLocation in interface MapPanelChild

setLayers

public void setLayers(LayerEvent evt)
Specified by:
setLayers in interface LayerListener

pushLayerSettingsToAll

protected void pushLayerSettingsToAll(java.util.List<ZoomLevelMakerFace.LayerObject> layerObjects)
Parameters:
layerObjects -

pushBoundarySettingsToAll

protected void pushBoundarySettingsToAll(java.util.List<ZoomLevelMakerFace.BoundsObject> boundsList)
Parameters:
boundsList -

createRectangle

public void createRectangle()
Create a boundary rectangle from scratch, expecting the user to draw the rectangle.


edit

public void edit(OMGraphic omg,
                 java.awt.event.MouseEvent mevent)
Called when the OMGraphic should be edited by the drawing tool. For existing OMGraphics that have been clicked on, to start the editing process.

Parameters:
omg - OMGraphic to edit
mevent - the last MouseEvent that caused the edit to occur, can be null.

create

protected OMGraphic create(EditableOMGraphic omg)
Launch the drawing tool to create a new EditableOMGraphic, which is undefined at this point.

Parameters:
omg - EditableOMGraphic in an undefiend state.
Returns:
OMGraphic created for drawing tool.

drawingComplete

public void drawingComplete(OMGraphic omg,
                            OMAction action)
Called by the drawing tool when editing is complete.

Specified by:
drawingComplete in interface DrawingToolRequestor

setProxyMouseMode

protected void setProxyMouseMode(MapMouseMode mmm)
Set the ProxyMouseMode for the internal drawing tool, if there is one. Can be null. Used to reset the mouse mode when drawing's complete. This is the mouse mode that the drawing tool mouse mode is hiding behind.


getProxyMouseMode

protected MapMouseMode getProxyMouseMode()
Get the ProxyMouseMode for the internal drawing tool, if there is one. May be null. Used to reset the mouse mode when drawing's complete. This is the mouse mode that the drawing tool mouse mode is hiding behind.


releaseProxyMouseMode

public void releaseProxyMouseMode()
If the DrawingToolLayer is using a hidden OMDrawingTool, release the proxy lock on the active MapMouseMode.


listenerPaint

public void listenerPaint(java.lang.Object source,
                          java.awt.Graphics graphics)
Description copied from interface: PaintListener
Method called when the source object is painted.

Specified by:
listenerPaint in interface PaintListener
Parameters:
source - the source object, may be null, you need to check.
graphics - the graphics to paint into.

projectionChanged

public void projectionChanged(ProjectionEvent e)
Description copied from interface: ProjectionListener
Invoked when there has been a fundamental change to the Map.

Layers are expected to recompute their graphics (if this makes sense), and then repaint() themselves.

Specified by:
projectionChanged in interface ProjectionListener
Parameters:
e - ProjectionEvent


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