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

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

public final class TradeRouteInputDialog
extends FreeColDialog<java.lang.Boolean>
implements java.awt.event.ActionListener

Allows the user to edit trade routes.

See Also:
Serialized Form

Nested Class Summary
 class TradeRouteInputDialog.CargoHandler
          TransferHandler for CargoLabels.
 class TradeRouteInputDialog.CargoLabel
          Special label for goods type.
 class TradeRouteInputDialog.CargoPanel
          Panel for the cargo the carrier is supposed to take on board at a certain stop.
 class TradeRouteInputDialog.GoodsPanel
          Panel for all types of goods that can be loaded onto a carrier.
 class TradeRouteInputDialog.StopHandler
           
private  class TradeRouteInputDialog.StopRenderer
           
 class TradeRouteInputDialog.StopTransferable
           
 
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.JButton addStopButton
           
private  TradeRouteInputDialog.CargoHandler cargoHandler
           
private  TradeRouteInputDialog.CargoPanel cargoPanel
           
private  javax.swing.JLabel destinationLabel
           
private  javax.swing.JComboBox destinationSelector
           
private  java.awt.event.MouseListener dragListener
           
private  java.awt.event.MouseListener dropListener
           
private  TradeRouteInputDialog.GoodsPanel goodsPanel
           
private  javax.swing.DefaultListModel listModel
           
private static java.util.logging.Logger logger
           
private  javax.swing.JLabel nameLabel
           
private  TradeRoute originalRoute
           
private  javax.swing.JButton removeStopButton
           
static java.awt.datatransfer.DataFlavor STOP_FLAVOR
           
private  javax.swing.JList stopList
           
private  javax.swing.JTextField tradeRouteName
           
private  javax.swing.JScrollPane tradeRouteView
           
 
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
TradeRouteInputDialog(FreeColClient freeColClient, GUI gui, TradeRoute newRoute)
          The constructor that will add the items to this panel.
 
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.
 void updateButtons()
          Enables the remove stop button if a stop is selected and disables it otherwise.
private  boolean verifyNewTradeRoute()
          Check that the trade route is valid.
 
Methods inherited from class net.sf.freecol.client.gui.panel.FreeColDialog
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, 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, 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
 

Field Detail

logger

private static final java.util.logging.Logger logger

STOP_FLAVOR

public static final java.awt.datatransfer.DataFlavor STOP_FLAVOR

originalRoute

private TradeRoute originalRoute

addStopButton

private final javax.swing.JButton addStopButton

removeStopButton

private final javax.swing.JButton removeStopButton

cargoHandler

private final TradeRouteInputDialog.CargoHandler cargoHandler

dragListener

private final java.awt.event.MouseListener dragListener

dropListener

private final java.awt.event.MouseListener dropListener

goodsPanel

private final TradeRouteInputDialog.GoodsPanel goodsPanel

cargoPanel

private final TradeRouteInputDialog.CargoPanel cargoPanel

destinationSelector

private final javax.swing.JComboBox destinationSelector

tradeRouteName

private final javax.swing.JTextField tradeRouteName

listModel

private final javax.swing.DefaultListModel listModel

stopList

private final javax.swing.JList stopList

tradeRouteView

private final javax.swing.JScrollPane tradeRouteView

nameLabel

private final javax.swing.JLabel nameLabel

destinationLabel

private final javax.swing.JLabel destinationLabel
Constructor Detail

TradeRouteInputDialog

public TradeRouteInputDialog(FreeColClient freeColClient,
                             GUI gui,
                             TradeRoute newRoute)
The constructor that will add the items to this panel.

Parameters:
parent - The parent of this panel.
Method Detail

updateButtons

public void updateButtons()
Enables the remove stop button if a stop is selected and disables it otherwise.


verifyNewTradeRoute

private boolean verifyNewTradeRoute()
Check that the trade route is valid.

Returns:
True if the trade route is valid.

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 FreeColDialog<java.lang.Boolean>
Parameters:
event - The incoming ActionEvent.