VASSAL.build.module.map
Class DrawPile

java.lang.Object
  |
  +--VASSAL.build.AbstractBuildable
        |
        +--VASSAL.build.AbstractConfigurable
              |
              +--VASSAL.build.module.map.SetupStack
                    |
                    +--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 SetupStack
implements Drawable, java.awt.event.MouseListener


Inner Class Summary
static class DrawPile.Prompt
           
static class DrawPile.SetContents
           
 
Inner classes inherited from class VASSAL.build.module.map.SetupStack
SetupStack.MarkInitialized, SetupStack.OwningBoardPrompt
 
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
           
static java.lang.String NEVER
           
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
           
 
Fields inherited from class VASSAL.build.module.map.SetupStack
COMMAND_PREFIX, id, map, NAME, OWNING_BOARD, owningBoardName, pos, X_POSITION, 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
static DrawPile findDrawPile(java.lang.String id)
           
 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()
           
 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
protected  Stack initializeContents()
           
 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 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.module.map.SetupStack
findSetupStack, getConfigurer, getId, isOwningBoardActive, setId
 
Methods inherited from class VASSAL.build.AbstractConfigurable
addPropertyChangeListener, getConfigureComponents, getConfigureName, 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

contents

protected Stack contents

size

protected java.awt.Dimension size

dragCount

protected int dragCount

shuffle

protected boolean shuffle

faceDown

protected boolean faceDown

faceDownAction

protected javax.swing.Action faceDownAction

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.
Overrides:
addTo in class SetupStack

removeFrom

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

findDrawPile

public static DrawPile findDrawPile(java.lang.String id)
Parameters:
id -  
Returns:
the DrawPile with the given id

getAttributeNames

public java.lang.String[] getAttributeNames()
Overrides:
getAttributeNames in class SetupStack
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 SetupStack

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 SetupStack

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 SetupStack
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 SetupStack
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.
Overrides:
getAllowableConfigureComponents in class SetupStack

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
Overrides:
setup in class SetupStack
Following copied from interface: VASSAL.build.module.GameComponent
Parameters:
gameStarting - if true, a game is starting. If false, then a game is ending

initializeContents

protected Stack initializeContents()
Overrides:
initializeContents in class SetupStack

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
Overrides:
getRestoreCommand in class SetupStack

decode

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

encode

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

getHelpFile

public HelpFile getHelpFile()
Overrides:
getHelpFile in class SetupStack
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()