MapTileMakerComponent (OpenMap API)
Date: 2016-12-09

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.bbn.openmap.dataAccess.mapTile
Class MapTileMakerComponent

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JPanel
                      com.bbn.openmap.gui.OMComponentPanel
                          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.

- The component should read the file and set all the components to the last settings contained in it.
- It should allow you to choose where the tiles should go instead of having that location only defined in the properties file.
- It should let you choose image tile formats, right now it's defaulting to png.
- Canceling the worker thread doesn't seem to be working, the thread isn't responding to being canceled.

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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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