From: Erik V. <ev...@us...> - 2010-01-18 18:49:54
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv21858/rails/ui/swing Modified Files: StatusWindow.java Log Message: Initial implementation of Autopass and RequestTurn Index: StatusWindow.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/StatusWindow.java,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** StatusWindow.java 14 Jan 2010 20:50:08 -0000 1.34 --- StatusWindow.java 18 Jan 2010 18:49:05 -0000 1.35 *************** *** 51,54 **** --- 51,55 ---- protected static final String PASS_CMD = "Pass"; + protected static final String AUTOPASS_CMD = "Autopass"; protected JPanel buttonPanel; *************** *** 57,60 **** --- 58,62 ---- protected ActionButton passButton; + protected ActionButton autopassButton; protected GameUIManager gameUIManager; *************** *** 78,84 **** private ActionMenuItem undoItem, forcedUndoItem, redoItem, redoItem2; - private List<ActionMenuItem> specialActionItems = - new ArrayList<ActionMenuItem>(); - protected static Logger log = Logger.getLogger(StatusWindow.class.getPackage().getName()); --- 80,83 ---- *************** *** 229,241 **** passButton = new ActionButton(LocalText.getText("PASS")); - passButton.setMnemonic(KeyEvent.VK_P); - buttonPanel.add(passButton); - passButton.setActionCommand(DONE_CMD); - passButton.addActionListener(this); setSize(800, 300); setLocation(25, 450); --- 228,242 ---- passButton = new ActionButton(LocalText.getText("PASS")); passButton.setMnemonic(KeyEvent.VK_P); buttonPanel.add(passButton); passButton.setActionCommand(DONE_CMD); passButton.addActionListener(this); + autopassButton = new ActionButton(LocalText.getText("Autopass")); + autopassButton.setMnemonic(KeyEvent.VK_A); + buttonPanel.add(autopassButton); + autopassButton.setActionCommand(AUTOPASS_CMD); + autopassButton.addActionListener(this); + setSize(800, 300); setLocation(25, 450); *************** *** 385,388 **** --- 386,393 ---- // New special action handling + List<ActionMenuItem> specialActionItems = + new ArrayList<ActionMenuItem>(); + + // Special properties List<UseSpecialProperty> sps = possibleActions.getType(UseSpecialProperty.class); *************** *** 401,404 **** --- 406,424 ---- specialMenu.add(item); } + + // Request turn + if (possibleActions.contains(RequestTurn.class)) { + for (RequestTurn action : possibleActions.getType(RequestTurn.class)) { + ActionMenuItem item = new ActionMenuItem(action.toString()); + item.addActionListener(this); + item.setEnabled(false); + item.addPossibleAction(action); + item.setEnabled(true); + specialActionItems.add(item); + specialMenu.add(item); + } + } + + // Must Special menu be enabled? boolean enabled = specialActionItems.size() > 0; specialMenu.setOpaque(enabled); *************** *** 407,410 **** --- 427,431 ---- passButton.setEnabled(false); + autopassButton.setEnabled(false); List<NullAction> inactiveItems = *************** *** 428,431 **** --- 449,456 ---- passButton.setPossibleAction(na); break; + case NullAction.AUTOPASS: + autopassButton.setEnabled(true); + autopassButton.setPossibleAction(na); + break; } } *************** *** 481,485 **** } else if (command.equals(SELL_CMD)) { process(executedAction); ! } else if (command.equals(DONE_CMD) || command.equals(PASS_CMD)) { if (gameUIManager.isGameOver()) { System.exit(0); --- 506,511 ---- } else if (command.equals(SELL_CMD)) { process(executedAction); ! } else if (command.equals(DONE_CMD) || command.equals(PASS_CMD) ! || command.equals(AUTOPASS_CMD)) { if (gameUIManager.isGameOver()) { System.exit(0); *************** *** 487,491 **** process(executedAction); ! } else if (executedAction instanceof UseSpecialProperty) { process(executedAction); --- 513,518 ---- process(executedAction); ! } else if (executedAction instanceof UseSpecialProperty ! || executedAction instanceof RequestTurn) { process(executedAction); |