net.sf.freecol.client.gui
Class TilePopup

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPopupMenu
                  extended by net.sf.freecol.client.gui.TilePopup
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.MenuElement

public final class TilePopup
extends javax.swing.JPopupMenu

Allows the user to obtain more info about a certain tile or to activate a specific unit on the tile, or perform various debug mode actions.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPopupMenu
javax.swing.JPopupMenu.AccessibleJPopupMenu, javax.swing.JPopupMenu.Separator
 
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  FreeColClient freeColClient
           
private  GUI gui
           
private  boolean hasAnItem
           
private static java.util.logging.Logger logger
           
private  MapViewer mapViewer
           
static int UNIT_LINES_IN_FIRST_MENU
           
static int UNIT_LINES_IN_OTHER_MENUS
           
 
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
TilePopup(FreeColClient freeColClient, GUI gui, Tile tile)
          The constructor that will insert the MenuItems.
 
Method Summary
private  void addColony(Colony colony)
          Adds a colony entry to this popup.
private  void addIndianSettlement(IndianSettlement settlement)
          Adds an indian settlement entry to this popup.
private  void addTile(Tile tile)
          Adds a tile entry to this popup.
private  int addUnit(java.awt.Container menu, Unit unit, boolean enabled, boolean indent)
          Adds a unit entry to this popup.
private  void debugAddGoodsToUnit(Game serverGame, Unit unit)
          Debug action to add goods to a unit.
private  void debugAddNewUnitToTile(Game serverGame, Tile tile)
          Debug action to add a new unit to a tile.
private  void debugResetUnitsMoves(Game serverGame, java.util.List<Unit> units)
          Debug action to reset the moves left of the units on a tile.
private  void debugSetRumourType(Game serverGame, Tile tile)
          Debug action to set the lost city rumour type on a tile.
private  java.lang.String debugSummarizeSettlement(Game serverGame, IndianSettlement sis)
          Debug action to summarize information about a native settlement that is normally hidden.
 boolean hasItem()
          Returns true if this popup has at least one menuitem so that we know that we can show it to the user.
 
Methods inherited from class javax.swing.JPopupMenu
add, add, add, addMenuKeyListener, addPopupMenuListener, addSeparator, createActionChangeListener, createActionComponent, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, getAccessibleContext, getComponent, getComponentAtIndex, getComponentIndex, getDefaultLightWeightPopupEnabled, getInvoker, getLabel, getMargin, getMenuKeyListeners, getPopupMenuListeners, getSelectionModel, getSubElements, getUI, getUIClassID, insert, insert, isBorderPainted, isLightWeightPopupEnabled, isPopupTrigger, isVisible, menuSelectionChanged, pack, paintBorder, paramString, processFocusEvent, processKeyEvent, processKeyEvent, processMouseEvent, remove, removeMenuKeyListener, removePopupMenuListener, setBorderPainted, setDefaultLightWeightPopupEnabled, setInvoker, setLabel, setLightWeightPopupEnabled, setLocation, setPopupSize, setPopupSize, setSelected, setSelectionModel, setUI, setVisible, show, 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, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, 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, 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, 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, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, 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, 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

UNIT_LINES_IN_FIRST_MENU

public static final int UNIT_LINES_IN_FIRST_MENU
See Also:
Constant Field Values

UNIT_LINES_IN_OTHER_MENUS

public static final int UNIT_LINES_IN_OTHER_MENUS
See Also:
Constant Field Values

freeColClient

private final FreeColClient freeColClient

gui

private final GUI gui

mapViewer

private final MapViewer mapViewer

hasAnItem

private boolean hasAnItem
Constructor Detail

TilePopup

public TilePopup(FreeColClient freeColClient,
                 GUI gui,
                 Tile tile)
The constructor that will insert the MenuItems.

Parameters:
freeColClient - The main controller object for the client.
tile - The Tile to create a popup for. The popup menu also appears near this Tile.
gui - The GUI frontend.
gui - An object with methods used for making the popup.
Method Detail

addUnit

private int addUnit(java.awt.Container menu,
                    Unit unit,
                    boolean enabled,
                    boolean indent)
Adds a unit entry to this popup.

Parameters:
menu - a Container value
unit - The unit that will be represented on the popup.
enabled - The initial state for the menu item.
indent - Should be true if the text should be indented on the menu.
Returns:
an int value

addColony

private void addColony(Colony colony)
Adds a colony entry to this popup.

Parameters:
colony - The colony that will be represented on the popup.

addIndianSettlement

private void addIndianSettlement(IndianSettlement settlement)
Adds an indian settlement entry to this popup.

Parameters:
settlement - The Indian settlement that will be represented on the popup.

addTile

private void addTile(Tile tile)
Adds a tile entry to this popup.

Parameters:
tile - The tile that will be represented on the popup.

hasItem

public boolean hasItem()
Returns true if this popup has at least one menuitem so that we know that we can show it to the user. Returns false if there are no menuitems.

Returns:
True if this popup has at least one menuitem, false otherwise.

debugSetRumourType

private void debugSetRumourType(Game serverGame,
                                Tile tile)
Debug action to set the lost city rumour type on a tile.

Parameters:
serverGame - The server Game containing the tile.
tile - The Tile to operate on.

debugAddNewUnitToTile

private void debugAddNewUnitToTile(Game serverGame,
                                   Tile tile)
Debug action to add a new unit to a tile.

Parameters:
serverGame - The server Game containing the tile.
tile - The Tile to add to.

debugResetUnitsMoves

private void debugResetUnitsMoves(Game serverGame,
                                  java.util.List<Unit> units)
Debug action to reset the moves left of the units on a tile.

Parameters:
serverGame - The server Game containing the tile.
units - The Units to reactivate.

debugAddGoodsToUnit

private void debugAddGoodsToUnit(Game serverGame,
                                 Unit unit)
Debug action to add goods to a unit.

Parameters:
serverGame - The server Game containing the tile.
tile - The Unit to add to.

debugSummarizeSettlement

private java.lang.String debugSummarizeSettlement(Game serverGame,
                                                  IndianSettlement sis)
Debug action to summarize information about a native settlement that is normally hidden.

Parameters:
serverGame - The server Game containing the settlement.
sis - The server version of the IndianSettlement to summarize.
Returns:
A string summarizing the settlement.