com.ontimize.util.gis.client.gui.panels.components
Class LegendBox

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.ontimize.util.gis.client.gui.panels.components.LegendBox
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener

public class LegendBox
extends javax.swing.JComponent
implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener

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
protected  org.jdesktop.animation.timing.Animator anim
           
protected  int boxHeight
           
protected  int boxWidth
           
protected  int boxX
           
protected  int boxY
           
protected  int deployTime
           
protected  boolean filtersAdded
           
protected  java.awt.FontMetrics fm
           
protected  IGisViewer gisViewer
           
protected  java.awt.Rectangle imageBound
           
protected  int lastX
           
protected  int lastY
           
protected  java.util.List<IGisLayer> layersList
           
protected  java.awt.Font legendFont
           
protected  int legendHeight
           
protected  int legendWidth
           
protected  int lineHeight
           
protected  int maxHeight
           
protected  int maxWidth
           
protected  int minHeight
           
protected  int minWidth
           
protected  float opacity
           
protected  int parentHeight
           
protected  int parentWidth
           
protected  java.lang.String RASTER_LAYER_ICON_PATH
           
protected  javax.swing.ImageIcon rasterIcon
           
protected  double sizeFactor
           
protected  int startX
           
protected  int startY
           
protected  java.awt.Font titleFont
           
protected  int ulX
           
protected  int ulY
           
protected  java.lang.String unitText
           
 
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
LegendBox()
           
 
Method Summary
protected  int calculateLegendWidth(java.util.List<IGisLayer> layers, java.awt.Graphics2D g2d)
          Calculates the legend panel width considering the translated name of each visible layer
protected  boolean drawLayerLegend(IGisLayer layer, java.awt.Graphics2D g2d, int ulX, int ulY, int legendSize, double scale)
           
protected  void drawLegend(java.awt.Graphics g)
           
protected  void drawLineSymbol(org.geotools.styling.LineSymbolizer symb, java.awt.Graphics2D g2d, int ulX, int ulY, int legendSize)
           
protected  void drawPointSymbol(org.geotools.styling.PointSymbolizer symb, java.awt.Graphics2D g2d, int ulX, int ulY, int legendSize, double scale)
           
protected  void drawPolygonSymbol(org.geotools.styling.PolygonSymbolizer symb, java.awt.Graphics2D g2d, int ulX, int ulY, int legendSize)
           
protected  java.lang.String getFilterString(org.opengis.filter.Filter targetFilter)
           
 void init()
           
protected  boolean isInRange(IGisLayer actualLayer, double scale)
           
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
protected  void paintComponent(java.awt.Graphics g)
           
 void repaint()
           
 void setBounds(int x, int y, int width, int height)
           
 void setGisViewer(IGisViewer gisViewer)
           
 void setParentBounds(int width, int height)
           
protected  void updateLayerListAddingFilters()
           
 
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, setEnabled, 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

gisViewer

protected IGisViewer gisViewer

layersList

protected java.util.List<IGisLayer> layersList

RASTER_LAYER_ICON_PATH

protected java.lang.String RASTER_LAYER_ICON_PATH

rasterIcon

protected javax.swing.ImageIcon rasterIcon

opacity

protected float opacity

titleFont

protected java.awt.Font titleFont

legendFont

protected java.awt.Font legendFont

legendHeight

protected int legendHeight

legendWidth

protected int legendWidth

parentHeight

protected int parentHeight

parentWidth

protected int parentWidth

ulX

protected int ulX

ulY

protected int ulY

lineHeight

protected int lineHeight

filtersAdded

protected boolean filtersAdded

minWidth

protected int minWidth

minHeight

protected int minHeight

maxWidth

protected int maxWidth

maxHeight

protected int maxHeight

boxWidth

protected int boxWidth

boxHeight

protected int boxHeight

boxX

protected int boxX

boxY

protected int boxY

fm

protected java.awt.FontMetrics fm

startX

protected int startX

startY

protected int startY

lastX

protected int lastX

lastY

protected int lastY

anim

protected org.jdesktop.animation.timing.Animator anim

deployTime

protected int deployTime

imageBound

protected java.awt.Rectangle imageBound

unitText

protected java.lang.String unitText

sizeFactor

protected double sizeFactor
Constructor Detail

LegendBox

public LegendBox()
Method Detail

init

public void init()

setBounds

public void setBounds(int x,
                      int y,
                      int width,
                      int height)
Overrides:
setBounds in class java.awt.Component

setParentBounds

public void setParentBounds(int width,
                            int height)

paintComponent

protected void paintComponent(java.awt.Graphics g)
Overrides:
paintComponent in class javax.swing.JComponent

drawLegend

protected void drawLegend(java.awt.Graphics g)

isInRange

protected boolean isInRange(IGisLayer actualLayer,
                            double scale)

drawLayerLegend

protected boolean drawLayerLegend(IGisLayer layer,
                                  java.awt.Graphics2D g2d,
                                  int ulX,
                                  int ulY,
                                  int legendSize,
                                  double scale)

setGisViewer

public void setGisViewer(IGisViewer gisViewer)

repaint

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

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

calculateLegendWidth

protected int calculateLegendWidth(java.util.List<IGisLayer> layers,
                                   java.awt.Graphics2D g2d)
Calculates the legend panel width considering the translated name of each visible layer

Parameters:
layers - Defined gis layers list
Returns:
Resulting width

drawPointSymbol

protected void drawPointSymbol(org.geotools.styling.PointSymbolizer symb,
                               java.awt.Graphics2D g2d,
                               int ulX,
                               int ulY,
                               int legendSize,
                               double scale)

drawPolygonSymbol

protected void drawPolygonSymbol(org.geotools.styling.PolygonSymbolizer symb,
                                 java.awt.Graphics2D g2d,
                                 int ulX,
                                 int ulY,
                                 int legendSize)

drawLineSymbol

protected void drawLineSymbol(org.geotools.styling.LineSymbolizer symb,
                              java.awt.Graphics2D g2d,
                              int ulX,
                              int ulY,
                              int legendSize)

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

getFilterString

protected java.lang.String getFilterString(org.opengis.filter.Filter targetFilter)

updateLayerListAddingFilters

protected void updateLayerListAddingFilters()