From: Erik V. <ev...@us...> - 2010-01-18 18:48:34
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv21549/rails/ui/swing Modified Files: ORPanel.java Log Message: Added phase and train info to the status window Index: ORPanel.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/ORPanel.java,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** ORPanel.java 16 Jan 2010 21:16:30 -0000 1.41 --- ORPanel.java 18 Jan 2010 18:47:29 -0000 1.42 *************** *** 47,50 **** --- 47,52 ---- private JMenuItem remainingTilesMenuItem; private JMenu privatesInfoMenu; + private JMenu trainsInfoMenu; + private JMenu phasesInfoMenu; private JMenu specialMenu; private JMenu loansMenu; *************** *** 157,161 **** addPrivatesInfo(); ! specialMenu = new JMenu(LocalText.getText("SPECIAL")); specialMenu.setBackground(Color.YELLOW); --- 159,165 ---- addPrivatesInfo(); ! addTrainsInfo(); ! addPhasesInfo(); ! specialMenu = new JMenu(LocalText.getText("SPECIAL")); specialMenu.setBackground(Color.YELLOW); *************** *** 464,499 **** } ! protected void addPrivatesInfo () { ! List<PrivateCompanyI> privates = orWindow.gameUIManager.getGameManager().getAllPrivateCompanies(); if (privates == null || privates.isEmpty()) return; ! privatesInfoMenu = new JMenu(LocalText.getText("PRIVATES")); privatesInfoMenu.setEnabled(true); infoMenu.add(privatesInfoMenu); ! JMenu item; List<SpecialPropertyI> sps; ! StringBuffer b; String info; for (PrivateCompanyI p : privates) { sps = p.getSpecialProperties(); ! b = new StringBuffer("<html>"); if (Util.hasValue(p.getLongName())) { ! b.append(p.getLongName()); } info = p.getInfoText(); if (Util.hasValue(info)) { ! if (b.length() > 6) b.append("<br>"); ! b.append(info); } else if (sps == null || sps.isEmpty()) { ! if (b.length() > 6) b.append("<br>"); ! b.append(LocalText.getText("NoSpecialProperty")); } else { for (SpecialPropertyI sp : sps) { ! if (b.length() > 6) b.append("<br>"); ! b.append(sp.toString()); } } --- 468,500 ---- } ! protected void addPrivatesInfo () { ! List<PrivateCompanyI> privates = orWindow.gameUIManager.getGameManager().getAllPrivateCompanies(); if (privates == null || privates.isEmpty()) return; ! privatesInfoMenu = new JMenu(LocalText.getText("PRIVATES")); privatesInfoMenu.setEnabled(true); infoMenu.add(privatesInfoMenu); ! JMenu item; List<SpecialPropertyI> sps; ! StringBuffer b = new StringBuffer("<html>"); String info; for (PrivateCompanyI p : privates) { sps = p.getSpecialProperties(); ! b.setLength(6); if (Util.hasValue(p.getLongName())) { ! appendInfoText (b, p.getLongName()); } info = p.getInfoText(); if (Util.hasValue(info)) { ! appendInfoText(b, info); } else if (sps == null || sps.isEmpty()) { ! appendInfoText(b, LocalText.getText("NoSpecialProperty")); } else { for (SpecialPropertyI sp : sps) { ! appendInfoText(b, sp.toString()); } } *************** *** 505,508 **** --- 506,569 ---- } + protected void addTrainsInfo() { + + TrainManager tm = orWindow.getGameUIManager().getGameManager().getTrainManager(); + List<TrainTypeI> types = tm.getTrainTypes(); + JMenu item; + StringBuffer b = new StringBuffer("<html>"); + + trainsInfoMenu = new JMenu(LocalText.getText("TRAINS")); + trainsInfoMenu.setEnabled(true); + infoMenu.add(trainsInfoMenu); + + for (TrainTypeI type : types) { + b.setLength(6); + if (Util.hasValue(type.getStartedPhaseName())) { + appendInfoText(b, LocalText.getText("StartsPhase", type.getStartedPhaseName())); + } + if (type.getRustedTrainType() != null) { + appendInfoText(b, LocalText.getText("RustsTrains", type.getRustedTrainType().getName())); + } + if (type.getReleasedTrainType() != null) { + appendInfoText(b, LocalText.getText("ReleasesTrains", type.getReleasedTrainType().getName())); + } + if (b.length() == 6) b.append(LocalText.getText("None")); + + item = new JMenu (LocalText.getText("N_Train", type.getName())); + item.setEnabled(true); + item.add(new JMenuItem(b.toString())); + trainsInfoMenu.add(item); + } + } + + protected void addPhasesInfo() { + + PhaseManager pm = orWindow.getGameUIManager().getGameManager().getPhaseManager(); + List<Phase> phases = pm.getPhases(); + JMenu item; + StringBuffer b = new StringBuffer("<html>"); + + phasesInfoMenu = new JMenu(LocalText.getText("Phases")); + phasesInfoMenu.setEnabled(true); + infoMenu.add(phasesInfoMenu); + + for (Phase phase : phases) { + b.setLength(6); + appendInfoText(b, LocalText.getText("PhaseTileColours", phase.getTileColoursString())); + appendInfoText(b, LocalText.getText("PhaseNumberOfORs", phase.getNumberOfOperatingRounds())); + appendInfoText(b, LocalText.getText("PhaseOffBoardStep", phase.getOffBoardRevenueStep())); + item = new JMenu (LocalText.getText("PhaseX", phase.getName())); + item.setEnabled(true); + item.add(new JMenuItem(b.toString())); + phasesInfoMenu.add(item); + } + } + + private void appendInfoText (StringBuffer b, String text) { + if (text == null || text.length() == 0) return; + if (b.length() > 6) b.append("<br>"); + b.append(text); + } + public void finish() { |