anl.aida.gis
Class PGISCanvas

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by edu.umd.cs.piccolo.PCanvas
                  extended by anl.aida.gis.PGISCanvas
All Implemented Interfaces:
edu.umd.cs.piccolo.PComponent, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, org.geotools.map.event.MapBoundsListener, org.geotools.map.event.MapLayerListListener

public class PGISCanvas
extends edu.umd.cs.piccolo.PCanvas
implements org.geotools.map.event.MapLayerListListener, java.beans.PropertyChangeListener, org.geotools.map.event.MapBoundsListener

This will show a MapContext and adds support for various tools.

See Also:
Serialized Form

Nested Class Summary
 
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
private  org.geotools.map.MapContext context
           
private  edu.umd.cs.piccolo.event.PInputEventListener currentListener
           
private  org.geotools.referencing.datum.DefaultEllipsoid ellipse
           
private  boolean initScaleDenominator
           
private  edu.umd.cs.piccolo.PLayer layerListening
           
private  java.util.Map<java.lang.String,edu.umd.cs.piccolo.PLayer> layerNames
           
private  java.util.Map<org.geotools.map.MapLayer,edu.umd.cs.piccolo.PLayer> layers
           
private  edu.umd.cs.piccolo.PLayer mapLayer
           
private  GisDisplayMediator2 mediator
           
(package private)  simphony.util.messages.MessageCenter msg
           
private  double scaleDenominator
           
private static long serialVersionUID
           
private  edu.umd.cs.piccolo.PLayer toolLayer
           
 
Fields inherited from class edu.umd.cs.piccolo.PCanvas
CURRENT_ZCANVAS, INTERATING_CHANGED_NOTIFICATION
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PGISCanvas(org.geotools.map.MapContext context)
          Create and new Canvas for the given context.
 
Method Summary
 void addLayerEventHandler(java.lang.String layerName, edu.umd.cs.piccolo.event.PInputEventListener listener)
           
private  void addMapLayer(int index, org.geotools.map.MapLayer mapLayer)
           
private  void addMapLayer(org.geotools.map.MapLayer mapLayer)
           
private  void calcScaleDenominator(org.geotools.map.MapContext context)
           
 org.opengis.referencing.crs.CoordinateReferenceSystem getCRS()
           
 edu.umd.cs.piccolo.event.PInputEventListener getCurrentEventHandler()
           
 edu.umd.cs.piccolo.PLayer getMapLayer()
          Gets the layer that contains the individual map layers.
 double getScaleDenominator()
           
 edu.umd.cs.piccolo.PLayer getToolLayer()
          Gets the layer on which tools should draw.
private  void init()
           
 void layerAdded(org.geotools.map.event.MapLayerListEvent arg0)
          Implement MapLayerListListener.
 void layerChanged(org.geotools.map.event.MapLayerListEvent arg0)
          Implement MapLayerListListener.
 void layerMoved(org.geotools.map.event.MapLayerListEvent arg0)
          Implement MapLayerListListener.
 void layerRemoved(org.geotools.map.event.MapLayerListEvent arg0)
          Implement MapLayerListListener.
 void mapBoundsChanged(org.geotools.map.event.MapBoundsEvent event)
          Implement MapBoundsListener interface
 void propertyChange(java.beans.PropertyChangeEvent arg0)
           
private  void removeMapLayer(org.geotools.map.MapLayer mapLayer)
           
 void repaint()
           
private  void setAreaOfInterest_preScaled(org.geotools.geometry.jts.ReferencedEnvelope aoe)
           
 void setAreaOfInterest(org.geotools.geometry.jts.ReferencedEnvelope aoe)
           
 void setEventHandler(edu.umd.cs.piccolo.event.PInputEventListener listener)
          Set the tool which the map is listening to.
 void zoomToAreaOfInterest()
          Zoom the map to the area of interest specified in the MapContext.
 void zoomToPreviousExtent()
           
 
Methods inherited from class edu.umd.cs.piccolo.PCanvas
addInputEventListener, createDefaultCamera, createTimer, getAnimating, getCamera, getInteracting, getLayer, getPanEventHandler, getRoot, getZoomEventHandler, installInputSources, paintComponent, paintImmediately, popCursor, pushCursor, removeInputEventListener, removeInputSources, repaint, sendInputEventToInputManager, setAnimatingRenderQuality, setBounds, setCamera, setDefaultRenderQuality, setEnabled, setInteracting, setInteractingRenderQuality, setPanEventHandler, setZoomEventHandler
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
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, resize, resize, 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
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

msg

simphony.util.messages.MessageCenter msg

currentListener

private edu.umd.cs.piccolo.event.PInputEventListener currentListener

toolLayer

private edu.umd.cs.piccolo.PLayer toolLayer

context

private org.geotools.map.MapContext context

layerNames

private java.util.Map<java.lang.String,edu.umd.cs.piccolo.PLayer> layerNames

layers

private java.util.Map<org.geotools.map.MapLayer,edu.umd.cs.piccolo.PLayer> layers

scaleDenominator

private double scaleDenominator

initScaleDenominator

private boolean initScaleDenominator

ellipse

private org.geotools.referencing.datum.DefaultEllipsoid ellipse

layerListening

private edu.umd.cs.piccolo.PLayer layerListening

mapLayer

private edu.umd.cs.piccolo.PLayer mapLayer

mediator

private GisDisplayMediator2 mediator
Constructor Detail

PGISCanvas

public PGISCanvas(org.geotools.map.MapContext context)
Create and new Canvas for the given context.

Parameters:
context - The context to be displayed
Method Detail

getCRS

public org.opengis.referencing.crs.CoordinateReferenceSystem getCRS()

calcScaleDenominator

private void calcScaleDenominator(org.geotools.map.MapContext context)

zoomToPreviousExtent

public void zoomToPreviousExtent()

init

private void init()

getScaleDenominator

public double getScaleDenominator()

addMapLayer

private void addMapLayer(org.geotools.map.MapLayer mapLayer)

addMapLayer

private void addMapLayer(int index,
                         org.geotools.map.MapLayer mapLayer)

removeMapLayer

private void removeMapLayer(org.geotools.map.MapLayer mapLayer)

zoomToAreaOfInterest

public void zoomToAreaOfInterest()
Zoom the map to the area of interest specified in the MapContext.


setAreaOfInterest

public void setAreaOfInterest(org.geotools.geometry.jts.ReferencedEnvelope aoe)

setAreaOfInterest_preScaled

private void setAreaOfInterest_preScaled(org.geotools.geometry.jts.ReferencedEnvelope aoe)

setEventHandler

public void setEventHandler(edu.umd.cs.piccolo.event.PInputEventListener listener)
Set the tool which the map is listening to.

Parameters:
listener - the new tool to listen to.

addLayerEventHandler

public void addLayerEventHandler(java.lang.String layerName,
                                 edu.umd.cs.piccolo.event.PInputEventListener listener)

getCurrentEventHandler

public edu.umd.cs.piccolo.event.PInputEventListener getCurrentEventHandler()

getToolLayer

public edu.umd.cs.piccolo.PLayer getToolLayer()
Gets the layer on which tools should draw.

Returns:
the layer on which tools should draw.

getMapLayer

public edu.umd.cs.piccolo.PLayer getMapLayer()
Gets the layer that contains the individual map layers.

Returns:
the layer that contains the individual map layers.

layerAdded

public void layerAdded(org.geotools.map.event.MapLayerListEvent arg0)
Implement MapLayerListListener.

Specified by:
layerAdded in interface org.geotools.map.event.MapLayerListListener

layerChanged

public void layerChanged(org.geotools.map.event.MapLayerListEvent arg0)
Implement MapLayerListListener.

Specified by:
layerChanged in interface org.geotools.map.event.MapLayerListListener

layerMoved

public void layerMoved(org.geotools.map.event.MapLayerListEvent arg0)
Implement MapLayerListListener.

Specified by:
layerMoved in interface org.geotools.map.event.MapLayerListListener

layerRemoved

public void layerRemoved(org.geotools.map.event.MapLayerListEvent arg0)
Implement MapLayerListListener.

Specified by:
layerRemoved in interface org.geotools.map.event.MapLayerListListener

repaint

public void repaint()
Overrides:
repaint in class java.awt.Component

propertyChange

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

mapBoundsChanged

public void mapBoundsChanged(org.geotools.map.event.MapBoundsEvent event)
Implement MapBoundsListener interface

Specified by:
mapBoundsChanged in interface org.geotools.map.event.MapBoundsListener