VASSAL.build.module.map
Class CounterDetailViewer

java.lang.Object
  |
  +--VASSAL.build.AbstractBuildable
        |
        +--VASSAL.build.AbstractConfigurable
              |
              +--VASSAL.build.module.map.CounterDetailViewer
All Implemented Interfaces:
AutoConfigurable, Buildable, Configurable, Drawable, java.util.EventListener, java.awt.event.KeyListener, java.awt.event.MouseMotionListener, java.lang.Runnable

public class CounterDetailViewer
extends AbstractConfigurable
implements Drawable, java.awt.event.MouseMotionListener, java.lang.Runnable, java.awt.event.KeyListener

This is a Drawable class that draws the counters horizontally when the mouse is held over a stack with the control key down.

Version:
1.0
Author:
David Sullivan

Inner classes inherited from class VASSAL.build.AutoConfigurable
AutoConfigurable.Util
 
Field Summary
static java.lang.String ALWAYS_SHOW_LOC
           
protected  boolean alwaysShowLoc
           
protected  java.awt.event.MouseEvent currentMousePosition
           
protected  GamePiece currentPiece
           
protected  int delay
           
static java.lang.String DELAY
           
protected  java.lang.Thread delayThread
           
protected  PieceVisitorDispatcher enumBuilder
           
protected  long expirationTime
           
protected  boolean graphicsVisible
           
protected  Map map
           
static java.lang.String SHOW_GRAPH
           
static java.lang.String SHOW_GRAPH_SINGLE
           
static java.lang.String SHOW_REF
           
static java.lang.String SHOW_TEXT
           
static java.lang.String SHOW_TEXT_SINGLE
           
protected  boolean showGraph
           
protected  boolean showGraphSingle
           
protected  boolean showRef
           
protected  boolean showText
           
protected  boolean showTextSingle
           
protected  boolean textVisible
           
static java.lang.String USE_KEYBOARD
           
static java.lang.String ZOOM_LEVEL
           
protected  double zoomLevel
           
 
Fields inherited from class VASSAL.build.AbstractConfigurable
changeSupport, config, name
 
Fields inherited from class VASSAL.build.AbstractBuildable
buildComponents
 
Fields inherited from interface VASSAL.build.Configurable
NAME_PROPERTY
 
Constructor Summary
CounterDetailViewer()
           
 
Method Summary
 void addTo(Buildable b)
          Adds this component to its parent.
 void draw(java.awt.Graphics g, Map map)
           
 void draw(java.awt.Graphics g, java.awt.Point pt, javax.swing.JComponent comp)
           
protected  void drawGraphics(java.awt.Graphics g, java.awt.Point pt, javax.swing.JComponent comp, PieceIterator pi)
           
protected  void drawLabel(java.awt.Graphics g, java.awt.Point pt, java.lang.String locationName)
           
protected  void drawText(java.awt.Graphics g, java.awt.Point pt, javax.swing.JComponent comp, PieceIterator pi)
           
protected  GamePiece findPieceAtMousePosition()
           
 java.lang.Class[] getAllowableConfigureComponents()
          Return a list of valid sub-component Classes.
 java.lang.String[] getAttributeDescriptions()
          Return an array of Strings describing the attributes of this object.
 java.lang.String[] getAttributeNames()
           
 java.lang.Class[] getAttributeTypes()
          Return the Class for the attributes of this object.
 java.lang.String getAttributeValueString(java.lang.String name)
          Called by the AbstractBuildable.getBuildElement(org.w3c.dom.Document) method to write the attributes into an XML element
static java.lang.String getConfigureTypeName()
           
 HelpFile getHelpFile()
           
 void keyPressed(java.awt.event.KeyEvent e)
           
 void keyReleased(java.awt.event.KeyEvent e)
           
 void keyTyped(java.awt.event.KeyEvent e)
           
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void removeFrom(Buildable parent)
          Remove this component from its parent
 void run()
           
 void setAttribute(java.lang.String name, java.lang.Object value)
          Called by the AbstractBuildable.build(org.w3c.dom.Element) method, where value is the String value read by the XML attribute.
protected  void showDetails()
           
 
Methods inherited from class VASSAL.build.AbstractConfigurable
addPropertyChangeListener, getAttributeVisibility, getConfigureComponents, getConfigureName, getConfigurer, remove, setConfigureName
 
Methods inherited from class VASSAL.build.AbstractBuildable
add, build, getBuildComponents, getBuildElement, getComponents
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface VASSAL.build.Buildable
add, build, getBuildElement
 

Field Detail

USE_KEYBOARD

public static final java.lang.String USE_KEYBOARD

DELAY

public static final java.lang.String DELAY

ALWAYS_SHOW_LOC

public static final java.lang.String ALWAYS_SHOW_LOC

SHOW_GRAPH

public static final java.lang.String SHOW_GRAPH

SHOW_GRAPH_SINGLE

public static final java.lang.String SHOW_GRAPH_SINGLE

SHOW_TEXT

public static final java.lang.String SHOW_TEXT

SHOW_TEXT_SINGLE

public static final java.lang.String SHOW_TEXT_SINGLE

SHOW_REF

public static final java.lang.String SHOW_REF

ZOOM_LEVEL

public static final java.lang.String ZOOM_LEVEL

map

protected Map map

delayThread

protected java.lang.Thread delayThread

delay

protected int delay

expirationTime

protected long expirationTime

graphicsVisible

protected boolean graphicsVisible

textVisible

protected boolean textVisible

currentMousePosition

protected java.awt.event.MouseEvent currentMousePosition

currentPiece

protected GamePiece currentPiece

enumBuilder

protected PieceVisitorDispatcher enumBuilder

alwaysShowLoc

protected boolean alwaysShowLoc

showGraph

protected boolean showGraph

showGraphSingle

protected boolean showGraphSingle

showText

protected boolean showText

showTextSingle

protected boolean showTextSingle

showRef

protected boolean showRef

zoomLevel

protected double zoomLevel
Constructor Detail

CounterDetailViewer

public CounterDetailViewer()
Method Detail

addTo

public void addTo(Buildable b)
Description copied from interface: Buildable
Adds this component to its parent. In order to make Buildable objects extensible, the child is reponsible for adding itself to the parent. That way, Buildable subcomponents can be defined in an extension package without needing to modify the containing class.

draw

public void draw(java.awt.Graphics g,
                 Map map)
Specified by:
draw in interface Drawable

draw

public void draw(java.awt.Graphics g,
                 java.awt.Point pt,
                 javax.swing.JComponent comp)

drawGraphics

protected void drawGraphics(java.awt.Graphics g,
                            java.awt.Point pt,
                            javax.swing.JComponent comp,
                            PieceIterator pi)

drawText

protected void drawText(java.awt.Graphics g,
                        java.awt.Point pt,
                        javax.swing.JComponent comp,
                        PieceIterator pi)

drawLabel

protected void drawLabel(java.awt.Graphics g,
                         java.awt.Point pt,
                         java.lang.String locationName)

run

public void run()
Specified by:
run in interface java.lang.Runnable

showDetails

protected void showDetails()

findPieceAtMousePosition

protected GamePiece findPieceAtMousePosition()

mouseMoved

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

mouseDragged

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

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Specified by:
keyTyped in interface java.awt.event.KeyListener

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Specified by:
keyPressed in interface java.awt.event.KeyListener

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Specified by:
keyReleased in interface java.awt.event.KeyListener

getAttributeNames

public java.lang.String[] getAttributeNames()
Overrides:
getAttributeNames in class AbstractBuildable
Following copied from interface: VASSAL.build.AutoConfigurable
Returns:
an array of Strings giving all attributes of this Buildable component that will be written to/read from an XML element

getAttributeDescriptions

public java.lang.String[] getAttributeDescriptions()
Description copied from class: AbstractConfigurable
Return an array of Strings describing the attributes of this object. These strings are used as prompts in the Properties window for this object. The order of descriptions should be the same as the order of names in AbstractBuildable.getAttributeNames()
Overrides:
getAttributeDescriptions in class AbstractConfigurable

getAttributeTypes

public java.lang.Class[] getAttributeTypes()
Description copied from class: AbstractConfigurable
Return the Class for the attributes of this object. Valid classes are: String, Integer, Double, Boolean, Image, Color, and KeyStroke The order of classes should be the same as the order of names in AbstractBuildable.getAttributeNames()
Overrides:
getAttributeTypes in class AbstractConfigurable

getAllowableConfigureComponents

public java.lang.Class[] getAllowableConfigureComponents()
Description copied from interface: Configurable
Return a list of valid sub-component Classes. If a Class appears in this list, then instances of that class may be added to this component from the Configuration Window.

getHelpFile

public HelpFile getHelpFile()
Following copied from interface: VASSAL.build.Configurable
Returns:
a HelpFilte describing how to use and configure this component

removeFrom

public void removeFrom(Buildable parent)
Description copied from interface: Configurable
Remove this component from its parent

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)
Description copied from interface: AutoConfigurable
Called by the Buildable.build(org.w3c.dom.Element) method, where value is the String value read by the XML attribute. Can also be called with Object value to set the attribute.
Overrides:
setAttribute in class AbstractBuildable
Following copied from class: VASSAL.build.AbstractBuildable
Parameters:
key - the name of the attribute. Will be one of those listed in AbstractBuildable.getAttributeNames()

getAttributeValueString

public java.lang.String getAttributeValueString(java.lang.String name)
Description copied from interface: AutoConfigurable
Called by the Buildable.getBuildElement(org.w3c.dom.Document) method to write the attributes into an XML element
Overrides:
getAttributeValueString in class AbstractBuildable
Following copied from class: VASSAL.build.AbstractBuildable
Parameters:
key - the name of the attribute. Will be one of those listed in AbstractBuildable.getAttributeNames()

getConfigureTypeName

public static java.lang.String getConfigureTypeName()