|
From: Erik V. <ev...@us...> - 2011-08-14 21:23:07
|
rails/ui/swing/GameStatus.java | 207 +++++++++++++++++++----------------------
1 file changed, 97 insertions(+), 110 deletions(-)
New commits:
commit 0a746d147813b99417ec229d39d4b32e359732f0
Author: Erik Vos <eri...@xs...>
Date: Sun Aug 14 23:21:14 2011 +0200
Fixed player highlighting in GameStatus window after a change in player
order.
diff --git a/rails/ui/swing/GameStatus.java b/rails/ui/swing/GameStatus.java
index 41389af..71a1ce4 100644
--- a/rails/ui/swing/GameStatus.java
+++ b/rails/ui/swing/GameStatus.java
@@ -113,11 +113,11 @@ public class GameStatus extends GridPanel implements ActionListener {
protected ClickField dummyButton; // To be selected if none else is.
protected Map<PublicCompanyI, Integer> companyIndex =
- new HashMap<PublicCompanyI, Integer>();
+ new HashMap<PublicCompanyI, Integer>();
protected Map<Player, Integer> playerIndex = new HashMap<Player, Integer>();
protected static Logger log =
- Logger.getLogger(GameStatus.class.getPackage().getName());
+ Logger.getLogger(GameStatus.class.getPackage().getName());
public GameStatus() {
super();
@@ -271,8 +271,8 @@ public class GameStatus extends GridPanel implements ActionListener {
if (compCanHoldOwnShares) {
addField(treasurySharesCaption =
- new Caption(LocalText.getText("TREASURY_SHARES")),
- certInTreasuryXOffset, 0, 1, 2, WIDE_RIGHT + WIDE_BOTTOM, true);
+ new Caption(LocalText.getText("TREASURY_SHARES")),
+ certInTreasuryXOffset, 0, 1, 2, WIDE_RIGHT + WIDE_BOTTOM, true);
}
if (this.hasParPrices) {
@@ -289,7 +289,7 @@ public class GameStatus extends GridPanel implements ActionListener {
}
addField(new Caption(LocalText.getText("COMPANY_DETAILS")),
compCashXOffset, 0, 4 + (compCanBuyPrivates ? 1 : 0)
- + (hasCompanyLoans ? 1 : 0), 1, 0, true);
+ + (hasCompanyLoans ? 1 : 0), 1, 0, true);
addField(new Caption(LocalText.getText("CASH")), compCashXOffset, 1, 1,
1, WIDE_BOTTOM, true);
addField(new Caption(LocalText.getText("REVENUE")), compRevenueXOffset,
@@ -318,7 +318,7 @@ public class GameStatus extends GridPanel implements ActionListener {
c = companies[i];
companyIndex.put(c, new Integer(i));
rowVisibilityObservers[i]
- = new RowVisibility (this, certPerPlayerYOffset + i, c.getInGameModel(), false);
+ = new RowVisibility (this, certPerPlayerYOffset + i, c.getInGameModel(), false);
boolean visible = rowVisibilityObservers[i].lastValue();
f = new Caption(c.getName());
@@ -328,29 +328,29 @@ public class GameStatus extends GridPanel implements ActionListener {
for (int j = 0; j < np; j++) {
f =
- certPerPlayer[i][j] =
- new Field(
- players[j].getPortfolio().getShareModel(
- c));
+ certPerPlayer[i][j] =
+ new Field(
+ players[j].getPortfolio().getShareModel(
+ c));
addField(f, certPerPlayerXOffset + j, certPerPlayerYOffset + i,
1, 1, 0, visible);
f =
- certPerPlayerButton[i][j] =
- new ClickField("", SELL_CMD,
- LocalText.getText("ClickForSell"),
- this, buySellGroup);
+ certPerPlayerButton[i][j] =
+ new ClickField("", SELL_CMD,
+ LocalText.getText("ClickForSell"),
+ this, buySellGroup);
addField(f, certPerPlayerXOffset + j, certPerPlayerYOffset + i,
1, 1, 0, false);
}
f = certInIPO[i] = new Field(ipo.getShareModel(c));
addField(f, certInIPOXOffset, certInIPOYOffset + i, 1, 1, WIDE_LEFT, visible);
f =
- certInIPOButton[i] =
- new ClickField(
- certInIPO[i].getText(),
- BUY_FROM_IPO_CMD,
- LocalText.getText("ClickToSelectForBuying"),
- this, buySellGroup);
+ certInIPOButton[i] =
+ new ClickField(
+ certInIPO[i].getText(),
+ BUY_FROM_IPO_CMD,
+ LocalText.getText("ClickToSelectForBuying"),
+ this, buySellGroup);
addField(f, certInIPOXOffset, certInIPOYOffset + i, 1, 1, WIDE_LEFT, false);
certInIPO[i].setPreferredSize(certInIPOButton[i].getPreferredSize());
@@ -358,29 +358,29 @@ public class GameStatus extends GridPanel implements ActionListener {
addField(f, certInPoolXOffset, certInPoolYOffset + i, 1, 1,
WIDE_RIGHT, visible);
f =
- certInPoolButton[i] =
- new ClickField(
- certInPool[i].getText(),
- BUY_FROM_POOL_CMD,
- LocalText.getText("ClickToSelectForBuying"),
- this, buySellGroup);
+ certInPoolButton[i] =
+ new ClickField(
+ certInPool[i].getText(),
+ BUY_FROM_POOL_CMD,
+ LocalText.getText("ClickToSelectForBuying"),
+ this, buySellGroup);
addField(f, certInPoolXOffset, certInPoolYOffset + i, 1, 1,
WIDE_RIGHT, false);
certInPool[i].setPreferredSize(certInIPOButton[i].getPreferredSize());/* sic */
if (compCanHoldOwnShares) {
f =
- certInTreasury[i] =
- new Field(c.getPortfolio().getShareModel(c));
+ certInTreasury[i] =
+ new Field(c.getPortfolio().getShareModel(c));
addField(f, certInTreasuryXOffset, certInTreasuryYOffset + i,
1, 1, WIDE_RIGHT, visible);
f =
- certInTreasuryButton[i] =
- new ClickField(
- certInTreasury[i].getText(),
- BUY_FROM_POOL_CMD,
- LocalText.getText("ClickForSell"),
- this, buySellGroup);
+ certInTreasuryButton[i] =
+ new ClickField(
+ certInTreasury[i].getText(),
+ BUY_FROM_POOL_CMD,
+ LocalText.getText("ClickForSell"),
+ this, buySellGroup);
addField(f, certInTreasuryXOffset, certInTreasuryYOffset + i,
1, 1, WIDE_RIGHT, false);
certInTreasury[i].setPreferredSize(certInTreasuryButton[i].getPreferredSize());/* sic */
@@ -399,13 +399,13 @@ public class GameStatus extends GridPanel implements ActionListener {
addField(f, compCashXOffset, compCashYOffset + i, 1, 1, 0, visible);
f =
compCashButton[i] =
- new ClickField(
- compCash[i].getText(),
- CASH_CORRECT_CMD,
- LocalText.getText("CorrectCashToolTip"),
- this, buySellGroup);
+ new ClickField(
+ compCash[i].getText(),
+ CASH_CORRECT_CMD,
+ LocalText.getText("CorrectCashToolTip"),
+ this, buySellGroup);
addField(f, compCashXOffset, compCashYOffset + i, 1, 1,
- WIDE_RIGHT, false);
+ WIDE_RIGHT, false);
f = compRevenue[i] = new Field(c.getLastRevenueModel());
addField(f, compRevenueXOffset, compRevenueYOffset + i, 1, 1, 0, visible);
@@ -418,9 +418,9 @@ public class GameStatus extends GridPanel implements ActionListener {
if (this.compCanBuyPrivates) {
f =
- compPrivates[i] =
- new Field(
- c.getPortfolio().getPrivatesOwnedModel());
+ compPrivates[i] =
+ new Field(
+ c.getPortfolio().getPrivatesOwnedModel());
addField(f, compPrivatesXOffset, compPrivatesYOffset + i, 1, 1,
0, visible);
}
@@ -432,7 +432,7 @@ public class GameStatus extends GridPanel implements ActionListener {
}
addField (f, compLoansXOffset, compLoansYOffset+i, 1, 1, 0, visible);
}
-
+
if (hasRights) {
f = rights[i] = new Field (c.getRightsModel());
addField (f, rightsXOffset, rightsYOffset + i, 1, 1, 0, visible);
@@ -455,11 +455,11 @@ public class GameStatus extends GridPanel implements ActionListener {
WIDE_TOP, true);
f =
playerCashButton[i] =
- new ClickField(
- playerCash[i].getText(),
- CASH_CORRECT_CMD,
- LocalText.getText("CorrectCashToolTip"),
- this, buySellGroup);
+ new ClickField(
+ playerCash[i].getText(),
+ CASH_CORRECT_CMD,
+ LocalText.getText("CorrectCashToolTip"),
+ this, buySellGroup);
addField(f, playerCashXOffset + i, playerCashYOffset, 1, 1,
WIDE_TOP, false);
}
@@ -468,9 +468,9 @@ public class GameStatus extends GridPanel implements ActionListener {
WIDE_RIGHT, false);
for (int i = 0; i < np; i++) {
f =
- playerPrivates[i] =
- new Field(
- players[i].getPortfolio().getPrivatesOwnedModel());
+ playerPrivates[i] =
+ new Field(
+ players[i].getPortfolio().getPrivatesOwnedModel());
addField(f, playerPrivatesXOffset + i, playerPrivatesYOffset, 1, 1,
0, true);
}
@@ -493,8 +493,8 @@ public class GameStatus extends GridPanel implements ActionListener {
WIDE_RIGHT + WIDE_TOP, true);
for (int i = 0; i < np; i++) {
f =
- playerCertCount[i] =
- new Field(players[i].getCertCountModel(), true);
+ playerCertCount[i] =
+ new Field(players[i].getCertCountModel(), true);
addField(f, playerCertCountXOffset + i, playerCertCountYOffset, 1,
1, WIDE_TOP, true);
}
@@ -529,7 +529,7 @@ public class GameStatus extends GridPanel implements ActionListener {
// Trains
addField(new Caption(LocalText.getText("TRAINS")),
poolTrainsXOffset - 1, poolTrainsYOffset - 1, 1, 2, WIDE_TOP
- + WIDE_LEFT, true);
+ + WIDE_LEFT, true);
addField(new Caption(LocalText.getText("USED")), poolTrainsXOffset,
poolTrainsYOffset - 1, 1, 1, WIDE_TOP, true);
poolTrains = new Field(pool.getTrainsModel());
@@ -586,12 +586,12 @@ public class GameStatus extends GridPanel implements ActionListener {
for (int i = 1; i <= sale.getMaximumNumber(); i++) {
options.add(LocalText.getText("SellShares",
- i,
+ i,
sale.getShare(),
i * sale.getShare(),
sale.getCompanyName(),
Bank.format(i * sale.getShareUnits()
- * sale.getPrice()) ));
+ * sale.getPrice()) ));
sellActions.add(sale);
sellAmounts.add(i);
}
@@ -600,17 +600,17 @@ public class GameStatus extends GridPanel implements ActionListener {
if (options.size() > 1) {
String message = LocalText.getText("PleaseSelect");
String sp =
- (String) JOptionPane.showInputDialog(this, message,
- message, JOptionPane.QUESTION_MESSAGE,
- null, options.toArray(new String[0]),
- options.get(0));
+ (String) JOptionPane.showInputDialog(this, message,
+ message, JOptionPane.QUESTION_MESSAGE,
+ null, options.toArray(new String[0]),
+ options.get(0));
index = options.indexOf(sp);
} else if (options.size() == 1) {
String message = LocalText.getText("PleaseConfirm");
int result =
- JOptionPane.showConfirmDialog(this, options.get(0),
- message, JOptionPane.OK_CANCEL_OPTION,
- JOptionPane.QUESTION_MESSAGE);
+ JOptionPane.showConfirmDialog(this, options.get(0),
+ message, JOptionPane.OK_CANCEL_OPTION,
+ JOptionPane.QUESTION_MESSAGE);
index = (result == JOptionPane.OK_OPTION ? 0 : -1);
}
if (index < 0) {
@@ -624,7 +624,7 @@ public class GameStatus extends GridPanel implements ActionListener {
List<String> options = new ArrayList<String>();
List<BuyCertificate> buyActions =
- new ArrayList<BuyCertificate>();
+ new ArrayList<BuyCertificate>();
List<Integer> buyAmounts = new ArrayList<Integer>();
BuyCertificate buy;
PublicCertificateI cert;
@@ -650,7 +650,7 @@ public class GameStatus extends GridPanel implements ActionListener {
int[] startPrices;
if (((StartCompany) buy).mustSelectAPrice()) {
startPrices =
- ((StartCompany) buy).getStartPrices();
+ ((StartCompany) buy).getStartPrices();
Arrays.sort(startPrices);
if (startPrices.length > 1) {
for (int i = 0; i < startPrices.length; i++) {
@@ -695,7 +695,7 @@ public class GameStatus extends GridPanel implements ActionListener {
companyName,
buy.getFromPortfolio().getName(),
Bank.format(i * sharesPerCert
- * buy.getPrice()) ));
+ * buy.getPrice()) ));
buyActions.add(buy);
buyAmounts.add(i);
}
@@ -704,34 +704,34 @@ public class GameStatus extends GridPanel implements ActionListener {
int index = 0;
if (options.size() > 1) {
if (startCompany) {
- RadioButtonDialog dialog = new RadioButtonDialog (
+ RadioButtonDialog dialog = new RadioButtonDialog (
gameUIManager,
parent,
LocalText.getText("PleaseSelect"),
LocalText.getText("WHICH_START_PRICE",
playerName,
companyName),
- options.toArray(new String[0]), -1);
+ options.toArray(new String[0]), -1);
gameUIManager.setCurrentDialog(dialog, actions.get(0));
return;
} else {
String sp =
- (String) JOptionPane.showInputDialog(this,
- LocalText.getText(startCompany
- ? "WHICH_PRICE"
- : "HOW_MANY_SHARES"),
- LocalText.getText("PleaseSelect"),
- JOptionPane.QUESTION_MESSAGE, null,
- options.toArray(new String[0]),
- options.get(0));
+ (String) JOptionPane.showInputDialog(this,
+ LocalText.getText(startCompany
+ ? "WHICH_PRICE"
+ : "HOW_MANY_SHARES"),
+ LocalText.getText("PleaseSelect"),
+ JOptionPane.QUESTION_MESSAGE, null,
+ options.toArray(new String[0]),
+ options.get(0));
index = options.indexOf(sp);
}
} else if (options.size() == 1) {
int result =
- JOptionPane.showConfirmDialog(this, options.get(0),
- LocalText.getText("PleaseConfirm"),
- JOptionPane.OK_CANCEL_OPTION,
- JOptionPane.QUESTION_MESSAGE);
+ JOptionPane.showConfirmDialog(this, options.get(0),
+ LocalText.getText("PleaseConfirm"),
+ JOptionPane.OK_CANCEL_OPTION,
+ JOptionPane.QUESTION_MESSAGE);
index = (result == JOptionPane.OK_OPTION ? 0 : -1);
}
if (index < 0) {
@@ -763,7 +763,7 @@ public class GameStatus extends GridPanel implements ActionListener {
} else {
chosenAction =
- processGameSpecificActions(actor, actions.get(0));
+ processGameSpecificActions(actor, actions.get(0));
}
} else {
@@ -789,22 +789,12 @@ public class GameStatus extends GridPanel implements ActionListener {
ActionEvent actor, PossibleAction chosenAction) {
return chosenAction;
}
-
+
public void initTurn(int actorIndex, boolean myTurn) {
int i, j;
dummyButton.setSelected(true);
- // Reset previous highlights
- if ((j = this.actorIndex) >= 0) {
- upperPlayerCaption[j].setHighlight(false);
- lowerPlayerCaption[j].setHighlight(false);
- for (i = 0; i < nc; i++) {
- setPlayerCertButton(i, j, false);
- }
- } else if (j == -1 && compCanHoldOwnShares) {
- treasurySharesCaption.setHighlight(false);
- }
for (i = 0; i < nc; i++) {
setIPOCertButton(i, false);
setPoolCertButton(i, false);
@@ -814,24 +804,21 @@ public class GameStatus extends GridPanel implements ActionListener {
this.actorIndex = actorIndex;
+ highlightCurrentPlayer(playerIndex.get(gameUIManager.getCurrentPlayer()));
+ if (treasurySharesCaption != null) treasurySharesCaption.setHighlight(actorIndex == -1);
+
// Set new highlights
if ((j = this.actorIndex) >= -1) {
- if (j >= 0) {
- upperPlayerCaption[j].setHighlight(true);
- lowerPlayerCaption[j].setHighlight(true);
- } else if (j == -1 && treasurySharesCaption != null) {
- treasurySharesCaption.setHighlight(true);
- }
-
+
if (myTurn) {
PublicCompanyI company;
Portfolio holder;
int index;
CashHolder owner;
-
+
List<BuyCertificate> buyableCerts =
- possibleActions.getType(BuyCertificate.class);
+ possibleActions.getType(BuyCertificate.class);
if (buyableCerts != null) {
for (BuyCertificate bCert : buyableCerts) {
company = bCert.getCompany();
@@ -849,9 +836,9 @@ public class GameStatus extends GridPanel implements ActionListener {
}
}
}
-
+
List<SellShares> sellableShares =
- possibleActions.getType(SellShares.class);
+ possibleActions.getType(SellShares.class);
if (sellableShares != null) {
for (SellShares share : sellableShares) {
company = share.getCompany();
@@ -863,11 +850,11 @@ public class GameStatus extends GridPanel implements ActionListener {
}
}
}
-
+
initGameSpecificActions();
-
+
List<NullAction> nullActions =
- possibleActions.getType(NullAction.class);
+ possibleActions.getType(NullAction.class);
if (nullActions != null) {
for (NullAction na : nullActions) {
(parent).setPassButton(na);
@@ -924,10 +911,10 @@ public class GameStatus extends GridPanel implements ActionListener {
for (int j = 0; j < np; j++) {
upperPlayerCaption[j].setText(players[j].getName()
- + (j == index ? " PD" : ""));
+ + (j == index ? " PD" : ""));
}
}
-
+
public void highlightCurrentPlayer (int index) {
for (int j = 0; j < np; j++) {
upperPlayerCaption[j].setHighlight(j == index);
@@ -1045,7 +1032,7 @@ public class GameStatus extends GridPanel implements ActionListener {
compCashButton[i].setText(compCash[i].getText());
} else {
compCashButton[i].clearPossibleActions();
-}
+ }
compCash[i].setVisible(visible && !clickable);
compCashButton[i].setVisible(visible && clickable);
if (action != null)
|