soc.client
Class SquaresPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by soc.client.SquaresPanel
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, ColorSquareListener

public class SquaresPanel
extends java.awt.Panel
implements java.awt.event.MouseListener, ColorSquareListener

Display grid of give/get resources for trade and bank/port offers. 2 rows of 5 columns: 1 column per resource type: Clay, ore, sheep, wheat, wood.

Author:
Robert S Thomas
See Also:
SOCHandPanel, TradeOfferPanel, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
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  ColorSquare[] get
          To change its value, each ColorSquare handles its own mouse events.
private  ColorSquare[] give
          To change its value, each ColorSquare handles its own mouse events.
static int HEIGHT
          Height of this panel
(package private)  boolean interactive
           
(package private)  boolean notAllZero
           
(package private)  SOCHandPanel parentHand
           
static int shiftKeysMask
          Don't "roll" plus/minus if shift or ctrl key is held during click
 
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, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
SquaresPanel(boolean in)
          Creates a new SquaresPanel object.
SquaresPanel(boolean in, SOCHandPanel hand)
          Creates a new SquaresPanel object, as part of a SOCHandPanel.
 
Method Summary
 boolean containsNonZero()
          Does any grid square contain a non-zero value?
 void doLayout()
          DOCUMENT ME!
 void getValues(int[] give, int[] get)
          DOCUMENT ME!
 void mouseClicked(java.awt.event.MouseEvent e)
          DOCUMENT ME!
 void mouseEntered(java.awt.event.MouseEvent e)
          DOCUMENT ME!
 void mouseExited(java.awt.event.MouseEvent e)
          DOCUMENT ME!
 void mousePressed(java.awt.event.MouseEvent e)
          DOCUMENT ME!
 void mouseReleased(java.awt.event.MouseEvent e)
          DOCUMENT ME!
 void setValues(int[] give, int[] get)
          DOCUMENT ME!
 void squareChanged(ColorSquare sq, int oldValue, int newValue)
          Called by colorsquare when clicked; if we're part of a HandPanel, could enable/disable its buttons based on new value.
 
Methods inherited from class java.awt.Panel
addNotify, getAccessibleContext
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

HEIGHT

public static final int HEIGHT
Height of this panel

Since:
1.1.08
See Also:
Constant Field Values

give

private ColorSquare[] give
To change its value, each ColorSquare handles its own mouse events. We also add ourself as listeners to mouse and ColorSquare value changes.


get

private ColorSquare[] get
To change its value, each ColorSquare handles its own mouse events. We also add ourself as listeners to mouse and ColorSquare value changes.


interactive

boolean interactive

notAllZero

boolean notAllZero

parentHand

SOCHandPanel parentHand

shiftKeysMask

public static final int shiftKeysMask
Don't "roll" plus/minus if shift or ctrl key is held during click

See Also:
Constant Field Values
Constructor Detail

SquaresPanel

public SquaresPanel(boolean in)
Creates a new SquaresPanel object.

Parameters:
in - Interactive?

SquaresPanel

public SquaresPanel(boolean in,
                    SOCHandPanel hand)
Creates a new SquaresPanel object, as part of a SOCHandPanel.

Parameters:
in - Interactive?
hand - HandPanel containing this SquaresPanel
Method Detail

doLayout

public void doLayout()
DOCUMENT ME!

Overrides:
doLayout in class java.awt.Container

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
DOCUMENT ME!

Specified by:
mouseEntered in interface java.awt.event.MouseListener
Parameters:
e - DOCUMENT ME!

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
DOCUMENT ME!

Specified by:
mouseExited in interface java.awt.event.MouseListener
Parameters:
e - DOCUMENT ME!

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
DOCUMENT ME!

Specified by:
mouseClicked in interface java.awt.event.MouseListener
Parameters:
e - DOCUMENT ME!

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
DOCUMENT ME!

Specified by:
mouseReleased in interface java.awt.event.MouseListener
Parameters:
e - DOCUMENT ME!

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
DOCUMENT ME!

Specified by:
mousePressed in interface java.awt.event.MouseListener
Parameters:
e - DOCUMENT ME!

setValues

public void setValues(int[] give,
                      int[] get)
DOCUMENT ME!

Parameters:
give - DOCUMENT ME!
get - DOCUMENT ME!

getValues

public void getValues(int[] give,
                      int[] get)
DOCUMENT ME!

Parameters:
give - DOCUMENT ME!
get - DOCUMENT ME!

containsNonZero

public boolean containsNonZero()
Does any grid square contain a non-zero value?


squareChanged

public void squareChanged(ColorSquare sq,
                          int oldValue,
                          int newValue)
Called by colorsquare when clicked; if we're part of a HandPanel, could enable/disable its buttons based on new value. If needed, also call SOCHandPanel.sqPanelZerosChange(boolean) if parentHand is set.

Specified by:
squareChanged in interface ColorSquareListener
Parameters:
sq - The square being changed
oldValue - The previous value before clicking
newValue - The new value after clicking; for boolean squares, unchecked/no is 0 and checked/yes is 1.