jfreerails.client.view
Class TrainListCellRenderer

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 jfreerails.client.view.TrainListCellRenderer
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.ListCellRenderer, View, WorldListListener

public class TrainListCellRenderer
extends javax.swing.JPanel
implements View, javax.swing.ListCellRenderer, WorldListListener

This JPanel displays an engine and a number of wagons.

Author:
Luke Lindsay
See Also:
Serialized Form

Nested Class Summary
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  java.awt.Color backgoundColor
           
private  boolean centerTrain
          If true, the train is drawn in the center to the JPanel; if false, the train is drawn left aligned.
private  int height
           
private  java.awt.Image[] images
           
private  FreerailsPrincipal principal
           
private  int scheduleID
           
private  int scheduleOrderNumber
           
private  boolean selected
           
private  java.awt.Color selectedColor
           
private  java.awt.Color selectedColorNotFocused
           
private static long serialVersionUID
           
private  boolean showingOrder
          Whether this JPanel should one of the trains orders from the schedule instead of the trains current formation.
private  int trainNumber
           
private  int trainWidth
           
private  RenderersRoot vl
           
private  ReadOnlyWorld w
           
 
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
TrainListCellRenderer()
           
TrainListCellRenderer(ModelRoot mr, RenderersRoot vl)
           
 
Method Summary
 void display(int newTrainNumber)
           
private  void display(int engine, ImInts wagons)
           
 void display(int newTrainNumber, int newScheduleOrderID)
           
 int getHeight()
           
 java.awt.Component getListCellRendererComponent(javax.swing.JList list, java.lang.Object value, int index, boolean isSelected, boolean cellHasFocus)
           
 void itemAdded(KEY key, int index, FreerailsPrincipal p)
           
 void itemRemoved(KEY key, int index, FreerailsPrincipal p)
           
 void listUpdated(KEY key, int index, FreerailsPrincipal p)
           
protected  void paintComponent(java.awt.Graphics g)
           
private  void resetPreferredSize()
           
 void setCenterTrain(boolean b)
           
 void setHeight(int i)
           
 void setup(ModelRoot mr, RenderersRoot vl, javax.swing.Action closeAction)
           
 
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, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, 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, 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

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

w

private ReadOnlyWorld w

vl

private RenderersRoot vl

trainNumber

private int trainNumber

scheduleOrderNumber

private int scheduleOrderNumber

scheduleID

private int scheduleID

height

private int height

principal

private FreerailsPrincipal principal

images

private java.awt.Image[] images

showingOrder

private boolean showingOrder
Whether this JPanel should one of the trains orders from the schedule instead of the trains current formation.


centerTrain

private boolean centerTrain
If true, the train is drawn in the center to the JPanel; if false, the train is drawn left aligned.


trainWidth

private int trainWidth

selected

private boolean selected

backgoundColor

private final java.awt.Color backgoundColor

selectedColor

private final java.awt.Color selectedColor

selectedColorNotFocused

private final java.awt.Color selectedColorNotFocused
Constructor Detail

TrainListCellRenderer

public TrainListCellRenderer()

TrainListCellRenderer

public TrainListCellRenderer(ModelRoot mr,
                             RenderersRoot vl)
Method Detail

setCenterTrain

public void setCenterTrain(boolean b)

display

public void display(int newTrainNumber)

display

private void display(int engine,
                     ImInts wagons)

display

public void display(int newTrainNumber,
                    int newScheduleOrderID)

resetPreferredSize

private void resetPreferredSize()

setup

public void setup(ModelRoot mr,
                  RenderersRoot vl,
                  javax.swing.Action closeAction)
Specified by:
setup in interface View

getListCellRendererComponent

public java.awt.Component getListCellRendererComponent(javax.swing.JList list,
                                                       java.lang.Object value,
                                                       int index,
                                                       boolean isSelected,
                                                       boolean cellHasFocus)
Specified by:
getListCellRendererComponent in interface javax.swing.ListCellRenderer

getHeight

public int getHeight()
Overrides:
getHeight in class javax.swing.JComponent

setHeight

public void setHeight(int i)

paintComponent

protected void paintComponent(java.awt.Graphics g)
Overrides:
paintComponent in class javax.swing.JComponent

listUpdated

public void listUpdated(KEY key,
                        int index,
                        FreerailsPrincipal p)
Specified by:
listUpdated in interface WorldListListener

itemAdded

public void itemAdded(KEY key,
                      int index,
                      FreerailsPrincipal p)
Specified by:
itemAdded in interface WorldListListener

itemRemoved

public void itemRemoved(KEY key,
                        int index,
                        FreerailsPrincipal p)
Specified by:
itemRemoved in interface WorldListListener