VASSAL.build.module.map
Class DrawPile

java.lang.Object
  |
  +--VASSAL.build.AbstractBuildable
        |
        +--VASSAL.build.AbstractConfigurable
              |
              +--VASSAL.build.module.map.DrawPile
All Implemented Interfaces:
AutoConfigurable, Buildable, CommandEncoder, Configurable, Drawable, java.util.EventListener, GameComponent, java.awt.event.MouseListener

public class DrawPile
extends AbstractConfigurable
implements Drawable, GameComponent, CommandEncoder, java.awt.event.MouseListener


Inner Class Summary
static class DrawPile.OwningBoardPrompt
           
static class DrawPile.Prompt
           
static class DrawPile.SetContents
           
 
Inner classes inherited from class VASSAL.build.AutoConfigurable
AutoConfigurable.Util
 
Field Summary
static java.lang.String ALLOW_MULTIPLE
           
static java.lang.String ALLOW_SELECT
           
static java.lang.String ALWAYS
           
static java.lang.String COLOR
           
protected  Stack contents
           
protected  int dragCount
           
static java.lang.String DRAW
           
static java.lang.String FACE_DOWN
           
protected  boolean faceDown
           
protected  javax.swing.Action faceDownAction
           
static java.lang.String HEIGHT
           
protected  java.lang.String id
           
protected  boolean isActive
           
protected  Map map
           
protected  PieceMover mover
           
static java.lang.String NEVER
           
static java.lang.String OWNING_BOARD
           
protected  java.lang.String owningBoardName
           
protected  java.awt.Point pos
           
static java.lang.String REVERSIBLE
           
protected  boolean shuffle
           
static java.lang.String SHUFFLE
           
protected  java.awt.Dimension size
           
static java.lang.String USE_MENU
           
static java.lang.String WIDTH
           
static java.lang.String X_POSITION
           
static java.lang.String Y_POSITION
           
 
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
DrawPile()
           
 
Method Summary
 void addTo(Buildable b)
          Adds this component to its parent.
 Command addToContents(GamePiece p)
           
protected  void addToDragBuffer(int count)
          Add the given number of GamePieces to the Drag buffer
 java.awt.Rectangle boundingBox()
          The bounds of this deck in the Map window, adjusted for owning board, if any
protected  javax.swing.JPopupMenu buildPopup()
           
 Command decode(java.lang.String s)
          Translate a String into a Command
 void draw(java.awt.Graphics g, int x, int y, java.awt.Component obs, double zoom)
           
 void draw(java.awt.Graphics g, Map map)
           
 java.lang.String encode(Command c)
          Translate a Command into a String
 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 key)
          Called by the AbstractBuildable.getBuildElement(org.w3c.dom.Document) method to write the attributes into an XML element
 VisibilityCondition getAttributeVisibility(java.lang.String name)
          By default, all attributes are visible
static java.lang.String getConfigureTypeName()
           
 HelpFile getHelpFile()
           
 java.lang.String getId()
           
 Map getMap()
           
 java.awt.Point getPosition()
           
 Command getRestoreCommand()
          When saving a game, each GameComponent should return a Command that, when executed, restores the GameComponent to its state when the game was saved If this component has no persistent state, return null
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent evt)
           
 void mouseReleased(java.awt.event.MouseEvent evt)
           
 void promptForDragCount()
           
 void removeFrom(Buildable b)
          Remove this component from its parent
 Command reverse()
          Reverse the order of the contents of the Deck
 void setAttribute(java.lang.String key, 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  Command setContents(java.util.Enumeration e)
          Set the contents of this Deck to an Enumeration of GamePieces
 void setId(java.lang.String id)
           
 void setup(boolean gameStarting)
          Notify the GameComponent that a game has started/ended
 Command shuffle()
          Shuffle the contents of the Deck
 Command toggleFaceDown()
           
 
Methods inherited from class VASSAL.build.AbstractConfigurable
addPropertyChangeListener, 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

map

protected Map map

id

protected java.lang.String id

contents

protected Stack contents

pos

protected java.awt.Point pos

size

protected java.awt.Dimension size

dragCount

protected int dragCount

mover

protected PieceMover mover

owningBoardName

protected java.lang.String owningBoardName

isActive

protected boolean isActive

shuffle

protected boolean shuffle

faceDown

protected boolean faceDown

faceDownAction

protected javax.swing.Action faceDownAction

OWNING_BOARD

public static final java.lang.String OWNING_BOARD

X_POSITION

public static final java.lang.String X_POSITION

Y_POSITION

public static final java.lang.String Y_POSITION

WIDTH

public static final java.lang.String WIDTH

HEIGHT

public static final java.lang.String HEIGHT

ALLOW_MULTIPLE

public static final java.lang.String ALLOW_MULTIPLE

ALLOW_SELECT

public static final java.lang.String ALLOW_SELECT

FACE_DOWN

public static final java.lang.String FACE_DOWN

SHUFFLE

public static final java.lang.String SHUFFLE

REVERSIBLE

public static final java.lang.String REVERSIBLE

DRAW

public static final java.lang.String DRAW

COLOR

public static final java.lang.String COLOR

ALWAYS

public static final java.lang.String ALWAYS

NEVER

public static final java.lang.String NEVER

USE_MENU

public static final java.lang.String USE_MENU
Constructor Detail

DrawPile

public DrawPile()
Method Detail

buildPopup

protected javax.swing.JPopupMenu buildPopup()

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.

removeFrom

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

setId

public void setId(java.lang.String id)

getId

public java.lang.String getId()

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

getAttributeValueString

public java.lang.String getAttributeValueString(java.lang.String key)
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()

setAttribute

public void setAttribute(java.lang.String key,
                         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()

getAttributeVisibility

public VisibilityCondition getAttributeVisibility(java.lang.String name)
Description copied from class: AbstractConfigurable
By default, all attributes are visible
Overrides:
getAttributeVisibility in class AbstractConfigurable
Following copied from class: VASSAL.build.AbstractConfigurable
Parameters:
name -  
Returns:
 

shuffle

public Command shuffle()
Shuffle the contents of the Deck

setContents

protected Command setContents(java.util.Enumeration e)
Set the contents of this Deck to an Enumeration of GamePieces

reverse

public Command reverse()
Reverse the order of the contents of the Deck

toggleFaceDown

public Command toggleFaceDown()

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.

draw

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

draw

public void draw(java.awt.Graphics g,
                 int x,
                 int y,
                 java.awt.Component obs,
                 double zoom)

getPosition

public java.awt.Point getPosition()

boundingBox

public java.awt.Rectangle boundingBox()
The bounds of this deck in the Map window, adjusted for owning board, if any
Returns:
 

addToDragBuffer

protected void addToDragBuffer(int count)
Add the given number of GamePieces to the Drag buffer

promptForDragCount

public void promptForDragCount()

mousePressed

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

mouseReleased

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

getMap

public Map getMap()

addToContents

public Command addToContents(GamePiece p)

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

mouseClicked

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

setup

public void setup(boolean gameStarting)
Description copied from interface: GameComponent
Notify the GameComponent that a game has started/ended
Specified by:
setup in interface GameComponent
Following copied from interface: VASSAL.build.module.GameComponent
Parameters:
gameStarting - if true, a game is starting. If false, then a game is ending

getRestoreCommand

public Command getRestoreCommand()
Description copied from interface: GameComponent
When saving a game, each GameComponent should return a Command that, when executed, restores the GameComponent to its state when the game was saved If this component has no persistent state, return null
Specified by:
getRestoreCommand in interface GameComponent

decode

public Command decode(java.lang.String s)
Description copied from interface: CommandEncoder
Translate a String into a Command
Specified by:
decode in interface CommandEncoder

encode

public java.lang.String encode(Command c)
Description copied from interface: CommandEncoder
Translate a Command into a String
Specified by:
encode in interface CommandEncoder

getHelpFile

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

getConfigureTypeName

public static java.lang.String getConfigureTypeName()