From: Erik V. <ev...@us...> - 2010-01-08 21:28:26
|
Update of /cvsroot/rails/18xx/rails/ui/swing/gamespecific/_1856 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23981/rails/ui/swing/gamespecific/_1856 Modified Files: StatusWindow_1856.java Log Message: Added nonmodal RadioButtonDialog2 and apply to Repay Loans Index: StatusWindow_1856.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/gamespecific/_1856/StatusWindow_1856.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** StatusWindow_1856.java 11 Sep 2009 19:26:44 -0000 1.3 --- StatusWindow_1856.java 8 Jan 2010 21:27:46 -0000 1.4 *************** *** 1,8 **** package rails.ui.swing.gamespecific._1856; ! import java.util.ArrayList; ! import java.util.List; ! ! import javax.swing.JOptionPane; import rails.game.*; --- 1,5 ---- package rails.ui.swing.gamespecific._1856; ! import javax.swing.JDialog; import rails.game.*; *************** *** 10,14 **** --- 7,13 ---- import rails.game.specific._1856.CGRFormationRound; import rails.ui.swing.StatusWindow; + import rails.ui.swing.elements.RadioButtonDialog2; import rails.util.LocalText; + import rails.util.Util; public class StatusWindow_1856 extends StatusWindow { *************** *** 37,40 **** --- 36,40 ---- } + @Override public boolean processImmediateAction() { *************** *** 74,96 **** int maxNumber = action.getMaxNumber(); int loanAmount = action.getPrice(); - int numberRepaid = 0; ! List<String> options = new ArrayList<String>(); for (int i=minNumber; i<=maxNumber; i++) { if (i == 0) { ! options.add(LocalText.getText("None")); } else { ! options.add(LocalText.getText("RepayLoan", i, Bank.format(loanAmount), ! Bank.format(i * loanAmount))); } } ! int displayBufSize = DisplayBuffer.getSize(); ! String[] message = new String[displayBufSize+1]; ! System.arraycopy (DisplayBuffer.get(),0,message,0,displayBufSize); ! message[displayBufSize] = LocalText.getText("SelectLoansToRepay", action.getCompanyName()); Object choice = JOptionPane.showInputDialog(this, message, --- 74,99 ---- int maxNumber = action.getMaxNumber(); int loanAmount = action.getPrice(); ! String[] options = new String[maxNumber-minNumber+1]; for (int i=minNumber; i<=maxNumber; i++) { if (i == 0) { ! options[i] = LocalText.getText("None"); } else { ! options[i] = LocalText.getText("RepayLoan", i, Bank.format(loanAmount), ! Bank.format(i * loanAmount)); } } ! ! String message = LocalText.getText("SelectLoansToRepay", action.getCompanyName()); + String[] waitingMessages = DisplayBuffer.get(); + if (waitingMessages != null) { + message = "<html>" + Util.joinWithDelimiter(waitingMessages, "<br>") + + "<br>" + message; + } + /* Object choice = JOptionPane.showInputDialog(this, message, *************** *** 105,108 **** --- 108,140 ---- action.setNumberTaken(numberRepaid); process (action); + */ + RadioButtonDialog2 currentDialog = new RadioButtonDialog2 (this, + LocalText.getText("Select"), + message, + options, + 0); + setCurrentDialog (currentDialog, action); } + + @Override + public void dialogActionPerformed () { + + JDialog currentDialog = getCurrentDialog(); + PossibleAction currentDialogAction = getCurrentDialogAction(); + + if (currentDialog instanceof RadioButtonDialog2 + && currentDialogAction instanceof RepayLoans) { + + RadioButtonDialog2 dialog = (RadioButtonDialog2) currentDialog; + RepayLoans action = (RepayLoans) currentDialogAction; + int selected = dialog.getSelectedOption(); + action.setNumberTaken(selected); + } else { + return; + } + + gameUIManager.processOnServer(currentDialogAction); + } + + } |