net.sf.colossus.client
Class HexMap

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
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
BattleMap, PickEntrySide, ShowBattleMap

public class HexMap
extends javax.swing.JPanel

Class HexMap displays a basic battle map.

Author:
David Ripton, Romain Dolbeau
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  java.lang.String basicName
           
protected  int cx
           
protected  int cy
           
private  java.lang.String displayName
           
private  GUIBattleHex[] entrances
          ne, e, se, sw, w, nw
protected  GUIBattleHex[][] h
           
protected  java.util.List<GUIBattleHex> hexes
           
private static java.util.logging.Logger LOGGER
           
private  MasterHex masterHex
           
private  int scale
           
private  java.lang.String subtitle
           
static boolean[][] 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
HexMap(MasterHex masterHex)
           
HexMap(MasterHex masterHex, boolean doSetup)
           
 
Method Summary
protected  java.util.Set<BattleHex> getAllHexes()
           
 java.lang.String getBasicName()
           
 java.lang.String getDisplayName()
           
protected  GUIBattleHex getGUIHexByModelHex(BattleHex battleHex)
          Do a brute-force search through the hex array, looking for a match.
 BattleHex getHexByLabel(java.lang.String hexLabel)
           
protected  GUIBattleHex getHexContainingPoint(java.awt.Point point)
          Return the GUIBattleHex that contains the given point, or null if none does.
protected  MasterHex getMasterHex()
           
 java.awt.Dimension getMinimumSize()
           
 java.awt.Dimension getPreferredSize()
           
 java.lang.String getSubtitle()
           
 void paintComponent(java.awt.Graphics g)
           
protected  void selectHex(BattleHex battleHex)
           
protected  void selectHexes(java.util.Set<BattleHex> battleHexes)
           
 void setBasicName(java.lang.String basicName)
           
 void setDisplayName(java.lang.String displayName)
           
 void setSubtitle(java.lang.String subtitle)
           
private  void setupEntrances()
           
private  void setupEntrancesGUI()
           
protected  void setupHexes()
           
private static void setupHexesGameState(MasterBoardTerrain masterBoardTerrain, GUIBattleHex[][] h, boolean serverSideFirstLoad)
          Add terrain, hexsides, elevation, and exits to hexes.
protected  void setupHexesGUI()
           
protected static void setupNeighbors(GUIBattleHex[][] h)
          Add references to neighbor hexes.
protected  void unselectAllHexes()
           
protected  void unselectHex(BattleHex battleHex)
           
 
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

masterHex

private final MasterHex masterHex

h

protected final GUIBattleHex[][] h

hexes

protected final java.util.List<GUIBattleHex> hexes

entrances

private final GUIBattleHex[] entrances
ne, e, se, sw, w, nw


VISIBLE_HEXES

public static final boolean[][] VISIBLE_HEXES

scale

private final int scale

cx

protected final int cx

cy

protected final int cy

displayName

private java.lang.String displayName

basicName

private java.lang.String basicName

subtitle

private java.lang.String subtitle
Constructor Detail

HexMap

public HexMap(MasterHex masterHex)

HexMap

public HexMap(MasterHex masterHex,
              boolean doSetup)
Method Detail

getMasterHex

protected MasterHex getMasterHex()

setupHexes

protected void setupHexes()

setupHexesGUI

protected final void setupHexesGUI()

setupHexesGameState

private static void setupHexesGameState(MasterBoardTerrain masterBoardTerrain,
                                        GUIBattleHex[][] h,
                                        boolean serverSideFirstLoad)
Add terrain, hexsides, elevation, and exits to hexes. Cliffs are bidirectional; other hexside obstacles are noted only on the high side, since they only interfere with uphill movement.


setupNeighbors

protected static final void setupNeighbors(GUIBattleHex[][] h)
Add references to neighbor hexes.


setupEntrances

private void setupEntrances()

setupEntrancesGUI

private void setupEntrancesGUI()

unselectAllHexes

protected void unselectAllHexes()

unselectHex

protected void unselectHex(BattleHex battleHex)

selectHex

protected void selectHex(BattleHex battleHex)

selectHexes

protected void selectHexes(java.util.Set<BattleHex> battleHexes)

getGUIHexByModelHex

protected GUIBattleHex getGUIHexByModelHex(BattleHex battleHex)
Do a brute-force search through the hex array, looking for a match. Return the hex, or null.


getHexByLabel

public BattleHex getHexByLabel(java.lang.String hexLabel)

getHexContainingPoint

protected GUIBattleHex getHexContainingPoint(java.awt.Point point)
Return the GUIBattleHex that contains the given point, or null if none does.


getAllHexes

protected java.util.Set<BattleHex> getAllHexes()

paintComponent

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

getMinimumSize

public java.awt.Dimension getMinimumSize()
Overrides:
getMinimumSize in class javax.swing.JComponent

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides:
getPreferredSize in class javax.swing.JComponent

getBasicName

public java.lang.String getBasicName()
Returns:
the basicName

setBasicName

public void setBasicName(java.lang.String basicName)
Parameters:
basicName - the basicName to set

getDisplayName

public java.lang.String getDisplayName()
Returns:
the displayName

setDisplayName

public void setDisplayName(java.lang.String displayName)
Parameters:
displayName - the displayName to set

getSubtitle

public java.lang.String getSubtitle()
Returns:
the subtitle

setSubtitle

public void setSubtitle(java.lang.String subtitle)
Parameters:
subtitle - the subtitle to set