jfreerails.client.view
Class StationBuildModel

java.lang.Object
  extended by jfreerails.client.view.StationBuildModel

public class StationBuildModel
extends java.lang.Object

This class provides the UI model for building a station. The mode of operation is as follows:

  1. Select a station to build by calling ActionPerformed() on the choose Action.
  2. Set the position to build.
  3. call actionPerformed on the build Action
  4. alternatively, call actionPerformed on the cancel Action

Author:
rob

Nested Class Summary
 class StationBuildModel.StationBuildAction
          This action builds the station.
private  class StationBuildModel.StationCancelAction
           
private  class StationBuildModel.StationChooseAction
           
 
Field Summary
private  java.util.HashMap<java.lang.Integer,javax.swing.Action> id2Action
           
private  ModelRoot modelRoot
           
private  boolean positionFollowsMouse
          Whether the station's position can should change when the mouse moves.
private  StationBuildModel.StationBuildAction stationBuildAction
           
private  StationBuilder stationBuilder
           
private  StationBuildModel.StationCancelAction stationCancelAction
           
private  java.util.Vector<javax.swing.Action> stationChooseActions
          Vector of StationBuildAction.
private static int trackTemplate
           
 
Constructor Summary
StationBuildModel(StationBuilder sb, RenderersRoot rr, ModelRoot mr)
           
 
Method Summary
 boolean canBuildStationHere()
           
 StationBuildModel.StationBuildAction getStationBuildAction()
           
 javax.swing.Action getStationCancelAction()
           
 javax.swing.Action getStationChooseAction(java.lang.Integer ruleID)
           
 javax.swing.Action[] getStationChooseActions()
           
 boolean isPositionFollowsMouse()
           
 void setPositionFollowsMouse(boolean positionFollowsMouse)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

trackTemplate

private static final int trackTemplate

stationChooseActions

private final java.util.Vector<javax.swing.Action> stationChooseActions
Vector of StationBuildAction. Actions which represent stations which can be built


positionFollowsMouse

private boolean positionFollowsMouse
Whether the station's position can should change when the mouse moves.


stationBuildAction

private final StationBuildModel.StationBuildAction stationBuildAction

stationCancelAction

private final StationBuildModel.StationCancelAction stationCancelAction

stationBuilder

private final StationBuilder stationBuilder

modelRoot

private final ModelRoot modelRoot

id2Action

private final java.util.HashMap<java.lang.Integer,javax.swing.Action> id2Action
Constructor Detail

StationBuildModel

public StationBuildModel(StationBuilder sb,
                         RenderersRoot rr,
                         ModelRoot mr)
Method Detail

getStationChooseAction

public javax.swing.Action getStationChooseAction(java.lang.Integer ruleID)

getStationChooseActions

public javax.swing.Action[] getStationChooseActions()

canBuildStationHere

public boolean canBuildStationHere()

getStationCancelAction

public javax.swing.Action getStationCancelAction()

getStationBuildAction

public StationBuildModel.StationBuildAction getStationBuildAction()

isPositionFollowsMouse

public boolean isPositionFollowsMouse()

setPositionFollowsMouse

public void setPositionFollowsMouse(boolean positionFollowsMouse)