net.sf.freecol.client.gui.panel
Class BuildQueuePanel

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.freecol.client.gui.panel.FreeColPanel
                      extended by net.sf.freecol.client.gui.panel.BuildQueuePanel
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class BuildQueuePanel
extends FreeColPanel
implements java.awt.event.ActionListener, java.awt.event.ItemListener

See Also:
Serialized Form

Nested Class Summary
(package private)  class BuildQueuePanel.BuildQueueMouseAdapter
           
 class BuildQueuePanel.BuildQueueTransferHandler
          This class implements a transfer handler able to transfer BuildQueueItems between the build queue list, the unit list and the building list.
(package private)  class BuildQueuePanel.DefaultBuildQueueCellRenderer
           
(package private)  class BuildQueuePanel.SimpleBuildQueueCellRenderer
           
 
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.util.List<UnitType> buildableUnits
          A list of unit types that can be build.
private  javax.swing.JList buildingList
           
private  BuildQueuePanel.BuildQueueTransferHandler buildQueueHandler
           
private  javax.swing.JList buildQueueList
           
private static java.lang.String BUY
           
private  javax.swing.JButton buyBuilding
           
private  javax.swing.ListCellRenderer cellRenderer
           
private  Colony colony
           
private static javax.swing.JCheckBox compact
           
private  ConstructionPanel constructionPanel
           
private  FeatureContainer featureContainer
           
private  java.util.Map<BuildableType,java.lang.String> lockReasons
           
private static java.util.logging.Logger logger
           
private static javax.swing.JCheckBox showAll
           
private static int UNABLE_TO_BUILD
           
private  java.util.Set<BuildableType> unbuildableTypes
           
private  int unitCount
           
private  javax.swing.JList unitList
           
 
Fields inherited from class net.sf.freecol.client.gui.panel.FreeColPanel
bigHeaderFont, BORDER_COLOR, CELLBORDER, COLUMNS, defaultFont, editable, emptyMargin, LEFTCELLBORDER, LINK_COLOR, margin, mediumHeaderFont, OK, okButton, okCommand, smallHeaderFont, styleContext, TOPCELLBORDER, TOPLEFTCELLBORDER, WARNING_COLOR
 
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
BuildQueuePanel(Colony colony, Canvas parent)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent event)
          This function analyses an event and calls the right methods to take care of the user's requests.
private  java.util.List<BuildableType> getBuildableTypes(javax.swing.JList list)
           
private  java.util.List<BuildableType> getBuildableTypes(java.lang.Object[] objects)
           
private  javax.swing.ListCellRenderer getCellRenderer()
           
private  int getMaximumIndex(BuildableType buildableType)
           
private  int getMinimumIndex(BuildableType buildableType)
           
private  boolean hasBuildingType(BuildingType buildingType)
           
 void itemStateChanged(java.awt.event.ItemEvent event)
           
private  void updateAllLists()
           
private  void updateBuildingList()
           
private  void updateBuyBuildingButton()
           
private  void updateDetailView()
           
private  void updateUnitList()
           
 
Methods inherited from class net.sf.freecol.client.gui.panel.FreeColPanel
addClosingCallback, createColonyButton, createEventForwardingMouseListener, createEventForwardingMouseMotionListener, enterPressesWhenFocused, getCanvas, getClientOptions, getController, getDefaultHeader, getDefaultTextArea, getDefaultTextArea, getDefaultTextPane, getDefaultTextPane, getFreeColClient, getGame, getLibrary, getLinkButton, getModifierFormat, getMyPlayer, getSavedPosition, getSavedSize, getSortedColonies, getSpecification, isEditable, localizedLabel, localizedLabel, notifyClose, requestFocus, restoreSavedSize, restoreSavedSize, setCancelComponent, setEditable, sortModifiers
 
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, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, 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, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, 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, transferFocusBackward, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

logger

private static java.util.logging.Logger logger

BUY

private static final java.lang.String BUY
See Also:
Constant Field Values

UNABLE_TO_BUILD

private static final int UNABLE_TO_BUILD
See Also:
Constant Field Values

buildQueueHandler

private final BuildQueuePanel.BuildQueueTransferHandler buildQueueHandler

cellRenderer

private javax.swing.ListCellRenderer cellRenderer

compact

private static javax.swing.JCheckBox compact

showAll

private static javax.swing.JCheckBox showAll

buildQueueList

private javax.swing.JList buildQueueList

unitList

private javax.swing.JList unitList

buildingList

private javax.swing.JList buildingList

constructionPanel

private ConstructionPanel constructionPanel

buyBuilding

private javax.swing.JButton buyBuilding

colony

private Colony colony

unitCount

private int unitCount

featureContainer

private FeatureContainer featureContainer

lockReasons

private java.util.Map<BuildableType,java.lang.String> lockReasons

unbuildableTypes

private java.util.Set<BuildableType> unbuildableTypes

buildableUnits

private java.util.List<UnitType> buildableUnits
A list of unit types that can be build. Most unit types are human and can never be built.

Constructor Detail

BuildQueuePanel

public BuildQueuePanel(Colony colony,
                       Canvas parent)
Method Detail

updateUnitList

private void updateUnitList()

updateBuildingList

private void updateBuildingList()

updateAllLists

private void updateAllLists()

updateBuyBuildingButton

private void updateBuyBuildingButton()

hasBuildingType

private boolean hasBuildingType(BuildingType buildingType)

getBuildableTypes

private java.util.List<BuildableType> getBuildableTypes(javax.swing.JList list)

getBuildableTypes

private java.util.List<BuildableType> getBuildableTypes(java.lang.Object[] objects)

getMinimumIndex

private int getMinimumIndex(BuildableType buildableType)

getMaximumIndex

private int getMaximumIndex(BuildableType buildableType)

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
This function analyses an event and calls the right methods to take care of the user's requests.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Overrides:
actionPerformed in class FreeColPanel
Parameters:
event - The incoming ActionEvent.

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent event)
Specified by:
itemStateChanged in interface java.awt.event.ItemListener

updateDetailView

private void updateDetailView()

getCellRenderer

private javax.swing.ListCellRenderer getCellRenderer()