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);
+ }
+
+
}
|