net.sf.colossus.gui
Class BattleMap

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 net.sf.colossus.client.HexMap
                      extended by net.sf.colossus.gui.BattleMap
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public final class BattleMap
extends HexMap

Class BattleMap implements the GUI for a Titan battlemap. TODO there is still model code in here, thus we still have dependencies from the AI and server packages into this class.

Author:
David Ripton
See Also:
Serialized Form

Nested Class Summary
 
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
private  Marker attackerMarker
           
private  Client client
           
private static int count
           
private  Marker defenderMarker
           
private  ClientGUI gui
           
private static java.util.logging.Logger LOGGER
           
 
Fields inherited from class net.sf.colossus.client.HexMap
cx, cy, h, hexes, VISIBLE_HEXES
 
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
BattleMap(Client client, MasterHex masterHex, Legion attacker, Legion defender, ClientGUI gui)
           
 
Method Summary
 java.util.Set<BattleHex> getAllHexes()
           
 GUIBattleHex getGUIHexByModelHex(BattleHex battleHex)
          Do a brute-force search through the hex array, looking for a match.
 GUIBattleHex getHexContainingPoint(java.awt.Point point)
          Return the GUIBattleHex that contains the given point, or null if none does.
 MasterHex getMasterHex()
           
 void highlightCrittersWithTargets()
          Select hexes containing critters that have valid strike targets.
 void highlightMobileCritters()
          Select all hexes containing critters eligible to move.
 void paintComponent(java.awt.Graphics g)
           
 void selectEntranceHexes(java.util.Set<BattleHex> modelHexes)
           
 void selectHexes(java.util.Set<BattleHex> set)
           
 void setBattleMarkerLocation(boolean isDefender, BattleHex battleHex)
           
 void setupHexes()
           
 void unselectAllHexes()
           
 void unselectEntranceHexes()
           
 void unselectHex(BattleHex hex)
           
 
Methods inherited from class net.sf.colossus.client.HexMap
getBasicName, getDisplayName, getHexByLabel, getMinimumSize, getPreferredSize, getSubtitle, selectHex, setBasicName, setDisplayName, setSubtitle, setupHexesGUI, setupNeighbors
 
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, getNextFocusableComponent, getPopupLocation, 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

LOGGER

private static final java.util.logging.Logger LOGGER

count

private static int count

client

private final Client client

gui

private final ClientGUI gui

attackerMarker

private final Marker attackerMarker

defenderMarker

private final Marker defenderMarker
Constructor Detail

BattleMap

public BattleMap(Client client,
                 MasterHex masterHex,
                 Legion attacker,
                 Legion defender,
                 ClientGUI gui)
Method Detail

setBattleMarkerLocation

public void setBattleMarkerLocation(boolean isDefender,
                                    BattleHex battleHex)

setupHexes

public void setupHexes()
Overrides:
setupHexes in class HexMap

selectHexes

public void selectHexes(java.util.Set<BattleHex> set)
Overrides:
selectHexes in class HexMap

unselectHex

public void unselectHex(BattleHex hex)
Overrides:
unselectHex in class HexMap

unselectAllHexes

public void unselectAllHexes()
Overrides:
unselectAllHexes in class HexMap

getAllHexes

public java.util.Set<BattleHex> getAllHexes()
Overrides:
getAllHexes in class HexMap

getMasterHex

public MasterHex getMasterHex()
Overrides:
getMasterHex in class HexMap

getGUIHexByModelHex

public GUIBattleHex getGUIHexByModelHex(BattleHex battleHex)
Description copied from class: HexMap
Do a brute-force search through the hex array, looking for a match. Return the hex, or null.

Overrides:
getGUIHexByModelHex in class HexMap

getHexContainingPoint

public GUIBattleHex getHexContainingPoint(java.awt.Point point)
Description copied from class: HexMap
Return the GUIBattleHex that contains the given point, or null if none does.

Overrides:
getHexContainingPoint in class HexMap

highlightMobileCritters

public void highlightMobileCritters()
Select all hexes containing critters eligible to move.


highlightCrittersWithTargets

public void highlightCrittersWithTargets()
Select hexes containing critters that have valid strike targets.


selectEntranceHexes

public void selectEntranceHexes(java.util.Set<BattleHex> modelHexes)

unselectEntranceHexes

public void unselectEntranceHexes()

paintComponent

public void paintComponent(java.awt.Graphics g)
Overrides:
paintComponent in class HexMap