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

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.FreeColDialog<Location>
                          extended by net.sf.freecol.client.gui.panel.SelectDestinationDialog
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, javax.swing.event.ChangeListener

public final class SelectDestinationDialog
extends FreeColDialog<Location>
implements java.awt.event.ActionListener, javax.swing.event.ChangeListener, java.awt.event.ItemListener

Centers the map on a known settlement or colony.

See Also:
Serialized Form

Nested Class Summary
private  class SelectDestinationDialog.Destination
           
private  class SelectDestinationDialog.DestinationComparator
           
private  class SelectDestinationDialog.DistanceComparator
           
private  class SelectDestinationDialog.LocationRenderer
           
private  class SelectDestinationDialog.NameComparator
           
 
Nested classes/interfaces inherited from class net.sf.freecol.client.gui.panel.FreeColDialog
FreeColDialog.FreeColFileFilter
 
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  javax.swing.JComboBox comparatorBox
           
private static java.util.Comparator<SelectDestinationDialog.Destination> destinationComparator
           
private  javax.swing.JList destinationList
           
private  java.util.List<SelectDestinationDialog.Destination> destinations
           
private static java.util.logging.Logger logger
           
private  javax.swing.JCheckBox onlyMyColoniesBox
           
private static boolean showOnlyMyColonies
           
 
Fields inherited from class net.sf.freecol.client.gui.panel.FreeColDialog
CANCEL, cancelButton
 
Fields inherited from class net.sf.freecol.client.gui.panel.FreeColPanel
bigHeaderFont, BORDER_COLOR, CELLBORDER, COLUMNS, defaultFont, editable, emptyMargin, HELP, LEFTCELLBORDER, LINK_COLOR, margin, mediumHeaderFont, modifierFormat, OK, okButton, 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
SelectDestinationDialog(FreeColClient freeColClient, GUI gui, Unit unit)
          The constructor to use.
 
Method Summary
private  void collectDestinationsFromAmerica(Unit unit, java.util.List<GoodsType> goodsTypes)
           
private  void collectDestinationsFromEurope(Unit unit, java.util.List<GoodsType> goodsTypes)
           
 int compareNames(Location dest1, Location dest2)
           
private  void filterDestinations()
           
private  java.lang.String getExtras(Unit unit, Location loc, java.util.List<GoodsType> goodsTypes)
          Collected extra annotations of interest to a unit proposing to visit a location.
 void itemStateChanged(java.awt.event.ItemEvent event)
           
 void requestFocus()
          The OK button requests focus.
 void stateChanged(javax.swing.event.ChangeEvent event)
           
 
Methods inherited from class net.sf.freecol.client.gui.panel.FreeColDialog
actionPerformed, createChoiceDialog, createConfirmDialog, createConfirmDialog, createInputDialog, createLoadDialog, createMapSizeDialog, createSaveDialog, getFGOFileFilter, getFSGFileFilter, getGameOptionsFileFilter, getResponse, initialize, resetResponse, setResponse
 
Methods inherited from class net.sf.freecol.client.gui.panel.FreeColPanel
addClosingCallback, createColonyButton, enterPressesWhenFocused, getCanvas, getClientOptions, getController, getDefaultHeader, getDefaultTextArea, getDefaultTextArea, getDefaultTextPane, getDefaultTextPane, getElectionTurns, getFreeColClient, getGame, getGUI, getLibrary, getLinkButton, getModifierFormat, getMyPlayer, getSavedPosition, getSavedSize, getSortedColonies, getSpecification, isEditable, localizedLabel, localizedLabel, notifyClose, 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, 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, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.event.ActionListener
actionPerformed
 

Field Detail

logger

private static final java.util.logging.Logger logger

showOnlyMyColonies

private static boolean showOnlyMyColonies

destinationComparator

private static java.util.Comparator<SelectDestinationDialog.Destination> destinationComparator

onlyMyColoniesBox

private final javax.swing.JCheckBox onlyMyColoniesBox

comparatorBox

private final javax.swing.JComboBox comparatorBox

destinationList

private final javax.swing.JList destinationList

destinations

private final java.util.List<SelectDestinationDialog.Destination> destinations
Constructor Detail

SelectDestinationDialog

public SelectDestinationDialog(FreeColClient freeColClient,
                               GUI gui,
                               Unit unit)
The constructor to use.

Parameters:
freeColClient -
Method Detail

collectDestinationsFromEurope

private void collectDestinationsFromEurope(Unit unit,
                                           java.util.List<GoodsType> goodsTypes)

collectDestinationsFromAmerica

private void collectDestinationsFromAmerica(Unit unit,
                                            java.util.List<GoodsType> goodsTypes)

requestFocus

public void requestFocus()
Description copied from class: FreeColPanel
The OK button requests focus.

Overrides:
requestFocus in class FreeColPanel

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent event)
Specified by:
stateChanged in interface javax.swing.event.ChangeListener

itemStateChanged

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

getExtras

private java.lang.String getExtras(Unit unit,
                                   Location loc,
                                   java.util.List<GoodsType> goodsTypes)
Collected extra annotations of interest to a unit proposing to visit a location.

Parameters:
unit - The Unit proposing to visit.
loc - The Location to visit.
goodsTypes - A list of goods types the unit is carrying.
Returns:
A string containing interesting annotations about the visit or an empty string if nothing is of interest.

filterDestinations

private void filterDestinations()

compareNames

public int compareNames(Location dest1,
                        Location dest2)