org.mars_sim.msp.ui.swing.tool.settlement
Class SettlementMapPanel

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 org.mars_sim.msp.ui.swing.tool.settlement.SettlementMapPanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, ClockListener

public class SettlementMapPanel
extends JPanel
implements ClockListener

A panel for displaying the settlement map.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static double DEFAULT_SCALE
           
static double MAX_SCALE
           
static double MIN_SCALE
           
 
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
SettlementMapPanel()
          A panel for displaying a settlement map.
 
Method Summary
 void clockPulse(double time)
           
 Point2D.Double convertToSettlementLocation(int xPixel, int yPixel)
          Convert a pixel X,Y position to a X,Y (meter) position local to the settlement in view.
 void destroy()
          Cleans up the map panel for disposal.
 double getRotation()
          Gets the map rotation.
 double getScale()
          Gets the map scale.
 Person getSelectedPerson()
          Get the selected person for the current settlement.
 Settlement getSettlement()
          Gets the settlement currently displayed.
 boolean isShowBuildingLabels()
          Checks if building labels should be displayed.
 boolean isShowConstructionLabels()
          Checks if construction site labels should be displayed.
 boolean isShowPersonLabels()
          Checks if person labels should be displayed.
 boolean isShowVehicleLabels()
          Checks if vehicle labels should be displayed.
 void moveCenter(double xDiff, double yDiff)
          Moves the center of the map by a given number of pixels.
protected  void paintComponent(Graphics g)
           
 void pauseChange(boolean isPaused)
           
 void reCenter()
          Resets the position, scale and rotation of the map.
 void selectPerson(Person person)
          Selects a person on the map.
 void selectPersonAt(int xPixel, int yPixel)
          Selects a person if any person is at the given x and y pixel position.
 void setRotation(double rotation)
          Sets the map rotation.
 void setScale(double scale)
          Sets the map scale.
 void setSettlement(Settlement settlement)
          Sets the settlement to display.
 void setShowBuildingLabels(boolean showLabels)
          Sets if building labels should be displayed.
 void setShowConstructionLabels(boolean showLabels)
          Sets if construction site labels should be displayed.
 void setShowPersonLabels(boolean showLabels)
          Sets if person labels should be displayed.
 void setShowVehicleLabels(boolean showLabels)
          Sets if vehicle labels should be displayed.
 
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, fireVetoableChange, 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, 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, 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, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_SCALE

public static final double DEFAULT_SCALE
See Also:
Constant Field Values

MAX_SCALE

public static final double MAX_SCALE
See Also:
Constant Field Values

MIN_SCALE

public static final double MIN_SCALE
See Also:
Constant Field Values
Constructor Detail

SettlementMapPanel

public SettlementMapPanel()
A panel for displaying a settlement map.

Method Detail

getSettlement

public Settlement getSettlement()
Gets the settlement currently displayed.

Returns:
settlement or null if none.

setSettlement

public void setSettlement(Settlement settlement)
Sets the settlement to display.

Parameters:
settlement - the settlement.

getScale

public double getScale()
Gets the map scale.

Returns:
scale (pixels per meter).

setScale

public void setScale(double scale)
Sets the map scale.

Parameters:
scale - (pixels per meter).

getRotation

public double getRotation()
Gets the map rotation.

Returns:
rotation (radians).

setRotation

public void setRotation(double rotation)
Sets the map rotation.

Parameters:
rotation - (radians).

reCenter

public void reCenter()
Resets the position, scale and rotation of the map. Separate function that only uses one repaint.


moveCenter

public void moveCenter(double xDiff,
                       double yDiff)
Moves the center of the map by a given number of pixels.

Parameters:
xDiff - the X axis pixels.
yDiff - the Y axis pixels.

selectPersonAt

public void selectPersonAt(int xPixel,
                           int yPixel)
Selects a person if any person is at the given x and y pixel position.

Parameters:
xPixel - the x pixel position on the displayed map.
yPixel - the y pixel position on the displayed map.

selectPerson

public void selectPerson(Person person)
Selects a person on the map.

Parameters:
person - the selected person.

getSelectedPerson

public Person getSelectedPerson()
Get the selected person for the current settlement.

Returns:
the selected person.

convertToSettlementLocation

public Point2D.Double convertToSettlementLocation(int xPixel,
                                                  int yPixel)
Convert a pixel X,Y position to a X,Y (meter) position local to the settlement in view.

Parameters:
xPixel - the pixel X position.
yPixel - the pixel Y position.
Returns:
the X,Y settlement position.

isShowBuildingLabels

public boolean isShowBuildingLabels()
Checks if building labels should be displayed.

Returns:
true if building labels should be displayed.

setShowBuildingLabels

public void setShowBuildingLabels(boolean showLabels)
Sets if building labels should be displayed.

Parameters:
showLabels - true if building labels should be displayed.

isShowConstructionLabels

public boolean isShowConstructionLabels()
Checks if construction site labels should be displayed.

Returns:
true if construction site labels should be displayed.

setShowConstructionLabels

public void setShowConstructionLabels(boolean showLabels)
Sets if construction site labels should be displayed.

Parameters:
showLabels - true if construction site labels should be displayed.

isShowPersonLabels

public boolean isShowPersonLabels()
Checks if person labels should be displayed.

Returns:
true if person labels should be displayed.

setShowPersonLabels

public void setShowPersonLabels(boolean showLabels)
Sets if person labels should be displayed.

Parameters:
showLabels - true if person labels should be displayed.

isShowVehicleLabels

public boolean isShowVehicleLabels()
Checks if vehicle labels should be displayed.

Returns:
true if vehicle labels should be displayed.

setShowVehicleLabels

public void setShowVehicleLabels(boolean showLabels)
Sets if vehicle labels should be displayed.

Parameters:
showLabels - true if vehicle labels should be displayed.

paintComponent

protected void paintComponent(Graphics g)
Overrides:
paintComponent in class JComponent

destroy

public void destroy()
Cleans up the map panel for disposal.


clockPulse

public void clockPulse(double time)
Specified by:
clockPulse in interface ClockListener

pauseChange

public void pauseChange(boolean isPaused)
Specified by:
pauseChange in interface ClockListener


Copyright © 2009-2013. All Rights Reserved.