From: Erik V. <ev...@us...> - 2010-01-01 16:40:57
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25483/rails/ui/swing Modified Files: GameStatus.java Log Message: Fix row visibility Index: GameStatus.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/GameStatus.java,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** GameStatus.java 1 Jan 2010 14:03:32 -0000 1.32 --- GameStatus.java 1 Jan 2010 16:40:42 -0000 1.33 *************** *** 15,19 **** import rails.game.action.*; import rails.game.model.ModelObject; - import rails.game.model.ViewUpdate; import rails.game.state.BooleanState; import rails.ui.swing.elements.*; --- 15,18 ---- *************** *** 259,317 **** addField(new Caption(LocalText.getText("COMPANY")), 0, 0, 1, 2, ! WIDE_RIGHT + WIDE_BOTTOM); addField(new Caption(LocalText.getText("PLAYERS")), ! certPerPlayerXOffset, 0, np, 1, 0); for (int i = 0; i < np; i++) { playerIndex.put(players[i], new Integer(i)); f = upperPlayerCaption[i] = new Caption(players[i].getNameAndPriority()); ! addField(f, certPerPlayerXOffset + i, 1, 1, 1, WIDE_BOTTOM); } addField(new Caption(LocalText.getText("BANK_SHARES")), ! certInIPOXOffset, 0, 2, 1, WIDE_LEFT + WIDE_RIGHT); addField(new Caption(LocalText.getText("IPO")), certInIPOXOffset, 1, 1, ! 1, WIDE_LEFT + WIDE_BOTTOM); addField(new Caption(LocalText.getText("POOL")), certInPoolXOffset, 1, ! 1, 1, WIDE_RIGHT + WIDE_BOTTOM); if (compCanHoldOwnShares) { addField(treasurySharesCaption = new Caption(LocalText.getText("TREASURY_SHARES")), ! certInTreasuryXOffset, 0, 1, 2, WIDE_RIGHT + WIDE_BOTTOM); } if (this.hasParPrices) { addField(new Caption(LocalText.getText("PRICES")), parPriceXOffset, ! 0, 2, 1, WIDE_RIGHT); addField(new Caption(LocalText.getText("PAR")), parPriceXOffset, 1, ! 1, 1, WIDE_BOTTOM); addField(new Caption(LocalText.getText("CURRENT")), ! currPriceXOffset, 1, 1, 1, WIDE_RIGHT + WIDE_BOTTOM); } else { addField(new Caption(LocalText.getText("CURRENT_PRICE")), ! currPriceXOffset, 0, 1, 2, WIDE_RIGHT + WIDE_BOTTOM); } addField(new Caption(LocalText.getText("COMPANY_DETAILS")), compCashXOffset, 0, 4 + (compCanBuyPrivates ? 1 : 0) ! + (hasCompanyLoans ? 1 : 0), 1, 0); addField(new Caption(LocalText.getText("CASH")), compCashXOffset, 1, 1, ! 1, WIDE_BOTTOM); addField(new Caption(LocalText.getText("REVENUE")), compRevenueXOffset, ! 1, 1, 1, WIDE_BOTTOM); addField(new Caption(LocalText.getText("TRAINS")), compTrainsXOffset, ! 1, 1, 1, WIDE_BOTTOM); addField(new Caption(LocalText.getText("TOKENS")), compTokensXOffset, ! 1, 1, 1, WIDE_BOTTOM); if (compCanBuyPrivates) { addField(new Caption(LocalText.getText("PRIVATES")), ! compPrivatesXOffset, 1, 1, 1, WIDE_BOTTOM); } if (hasCompanyLoans) { addField (new Caption (LocalText.getText("LOANS")), ! compLoansXOffset, 1, 1, 1, WIDE_BOTTOM); } addField(new Caption(LocalText.getText("COMPANY")), ! rightCompCaptionXOffset, 0, 1, 2, WIDE_LEFT + WIDE_BOTTOM); for (int i = 0; i < nc; i++) { --- 258,316 ---- addField(new Caption(LocalText.getText("COMPANY")), 0, 0, 1, 2, ! WIDE_RIGHT + WIDE_BOTTOM, true); addField(new Caption(LocalText.getText("PLAYERS")), ! certPerPlayerXOffset, 0, np, 1, 0, true); for (int i = 0; i < np; i++) { playerIndex.put(players[i], new Integer(i)); f = upperPlayerCaption[i] = new Caption(players[i].getNameAndPriority()); ! addField(f, certPerPlayerXOffset + i, 1, 1, 1, WIDE_BOTTOM, true); } addField(new Caption(LocalText.getText("BANK_SHARES")), ! certInIPOXOffset, 0, 2, 1, WIDE_LEFT + WIDE_RIGHT, true); addField(new Caption(LocalText.getText("IPO")), certInIPOXOffset, 1, 1, ! 1, WIDE_LEFT + WIDE_BOTTOM, true); addField(new Caption(LocalText.getText("POOL")), certInPoolXOffset, 1, ! 1, 1, WIDE_RIGHT + WIDE_BOTTOM, true); if (compCanHoldOwnShares) { addField(treasurySharesCaption = new Caption(LocalText.getText("TREASURY_SHARES")), ! certInTreasuryXOffset, 0, 1, 2, WIDE_RIGHT + WIDE_BOTTOM, true); } if (this.hasParPrices) { addField(new Caption(LocalText.getText("PRICES")), parPriceXOffset, ! 0, 2, 1, WIDE_RIGHT, true); addField(new Caption(LocalText.getText("PAR")), parPriceXOffset, 1, ! 1, 1, WIDE_BOTTOM, true); addField(new Caption(LocalText.getText("CURRENT")), ! currPriceXOffset, 1, 1, 1, WIDE_RIGHT + WIDE_BOTTOM, true); } else { addField(new Caption(LocalText.getText("CURRENT_PRICE")), ! currPriceXOffset, 0, 1, 2, WIDE_RIGHT + WIDE_BOTTOM, true); } addField(new Caption(LocalText.getText("COMPANY_DETAILS")), compCashXOffset, 0, 4 + (compCanBuyPrivates ? 1 : 0) ! + (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, ! 1, 1, 1, WIDE_BOTTOM, true); addField(new Caption(LocalText.getText("TRAINS")), compTrainsXOffset, ! 1, 1, 1, WIDE_BOTTOM, true); addField(new Caption(LocalText.getText("TOKENS")), compTokensXOffset, ! 1, 1, 1, WIDE_BOTTOM, true); if (compCanBuyPrivates) { addField(new Caption(LocalText.getText("PRIVATES")), ! compPrivatesXOffset, 1, 1, 1, WIDE_BOTTOM, true); } if (hasCompanyLoans) { addField (new Caption (LocalText.getText("LOANS")), ! compLoansXOffset, 1, 1, 1, WIDE_BOTTOM, true); } addField(new Caption(LocalText.getText("COMPANY")), ! rightCompCaptionXOffset, 0, 1, 2, WIDE_LEFT + WIDE_BOTTOM, true); for (int i = 0; i < nc; i++) { *************** *** 320,328 **** rowVisibilityObservers[i] = new RowVisibility (certPerPlayerYOffset + i, c.getClosedModel()); f = new Caption(c.getName()); f.setForeground(c.getFgColour()); f.setBackground(c.getBgColour()); ! addField(f, 0, certPerPlayerYOffset + i, 1, 1, WIDE_RIGHT); for (int j = 0; j < np; j++) { --- 319,328 ---- rowVisibilityObservers[i] = new RowVisibility (certPerPlayerYOffset + i, c.getClosedModel()); + boolean visible = !c.isClosed(); f = new Caption(c.getName()); f.setForeground(c.getFgColour()); f.setBackground(c.getBgColour()); ! addField(f, 0, certPerPlayerYOffset + i, 1, 1, WIDE_RIGHT, visible); for (int j = 0; j < np; j++) { *************** *** 333,337 **** c)); addField(f, certPerPlayerXOffset + j, certPerPlayerYOffset + i, ! 1, 1, 0); f = certPerPlayerButton[i][j] = --- 333,337 ---- c)); addField(f, certPerPlayerXOffset + j, certPerPlayerYOffset + i, ! 1, 1, 0, visible); f = certPerPlayerButton[i][j] = *************** *** 340,347 **** this, buySellGroup); addField(f, certPerPlayerXOffset + j, certPerPlayerYOffset + i, ! 1, 1, 0); } f = certInIPO[i] = new Field(ipo.getShareModel(c)); ! addField(f, certInIPOXOffset, certInIPOYOffset + i, 1, 1, WIDE_LEFT); f = certInIPOButton[i] = --- 340,347 ---- 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] = *************** *** 351,361 **** LocalText.getText("ClickToSelectForBuying"), this, buySellGroup); ! f.setVisible(false); ! addField(f, certInIPOXOffset, certInIPOYOffset + i, 1, 1, WIDE_LEFT); certInIPO[i].setPreferredSize(certInIPOButton[i].getPreferredSize()); f = certInPool[i] = new Field(pool.getShareModel(c)); addField(f, certInPoolXOffset, certInPoolYOffset + i, 1, 1, ! WIDE_RIGHT); f = certInPoolButton[i] = --- 351,360 ---- LocalText.getText("ClickToSelectForBuying"), this, buySellGroup); ! addField(f, certInIPOXOffset, certInIPOYOffset + i, 1, 1, WIDE_LEFT, false); certInIPO[i].setPreferredSize(certInIPOButton[i].getPreferredSize()); f = certInPool[i] = new Field(pool.getShareModel(c)); addField(f, certInPoolXOffset, certInPoolYOffset + i, 1, 1, ! WIDE_RIGHT, visible); f = certInPoolButton[i] = *************** *** 365,371 **** LocalText.getText("ClickToSelectForBuying"), this, buySellGroup); - f.setVisible(false); addField(f, certInPoolXOffset, certInPoolYOffset + i, 1, 1, ! WIDE_RIGHT); certInPool[i].setPreferredSize(certInIPOButton[i].getPreferredSize());/* sic */ --- 364,369 ---- LocalText.getText("ClickToSelectForBuying"), this, buySellGroup); addField(f, certInPoolXOffset, certInPoolYOffset + i, 1, 1, ! WIDE_RIGHT, false); certInPool[i].setPreferredSize(certInIPOButton[i].getPreferredSize());/* sic */ *************** *** 375,379 **** new Field(c.getPortfolio().getShareModel(c)); addField(f, certInTreasuryXOffset, certInTreasuryYOffset + i, ! 1, 1, WIDE_RIGHT); f = certInTreasuryButton[i] = --- 373,377 ---- new Field(c.getPortfolio().getShareModel(c)); addField(f, certInTreasuryXOffset, certInTreasuryYOffset + i, ! 1, 1, WIDE_RIGHT, visible); f = certInTreasuryButton[i] = *************** *** 383,389 **** LocalText.getText("ClickToSelectForBuying"), this, buySellGroup); - f.setVisible(false); addField(f, certInTreasuryXOffset, certInTreasuryYOffset + i, ! 1, 1, WIDE_RIGHT); certInTreasury[i].setPreferredSize(certInTreasuryButton[i].getPreferredSize());/* sic */ } --- 381,386 ---- LocalText.getText("ClickToSelectForBuying"), this, buySellGroup); addField(f, certInTreasuryXOffset, certInTreasuryYOffset + i, ! 1, 1, WIDE_RIGHT, false); certInTreasury[i].setPreferredSize(certInTreasuryButton[i].getPreferredSize());/* sic */ } *************** *** 391,412 **** if (this.hasParPrices) { f = parPrice[i] = new Field(c.getParPriceModel()); ! addField(f, parPriceXOffset, parPriceYOffset + i, 1, 1, 0); } f = currPrice[i] = new Field(c.getCurrentPriceModel()); addField(f, currPriceXOffset, currPriceYOffset + i, 1, 1, ! WIDE_RIGHT); f = compCash[i] = new Field(c.getCashModel()); ! addField(f, compCashXOffset, compCashYOffset + i, 1, 1, 0); f = compRevenue[i] = new Field(c.getLastRevenueModel()); ! addField(f, compRevenueXOffset, compRevenueYOffset + i, 1, 1, 0); f = compTrains[i] = new Field(c.getPortfolio().getTrainsModel()); ! addField(f, compTrainsXOffset, compTrainsYOffset + i, 1, 1, 0); f = compTokens[i] = new Field(c.getBaseTokensModel()); ! addField(f, compTokensXOffset, compTokensYOffset + i, 1, 1, 0); if (this.compCanBuyPrivates) { --- 388,409 ---- if (this.hasParPrices) { f = parPrice[i] = new Field(c.getParPriceModel()); ! addField(f, parPriceXOffset, parPriceYOffset + i, 1, 1, 0, visible); } f = currPrice[i] = new Field(c.getCurrentPriceModel()); addField(f, currPriceXOffset, currPriceYOffset + i, 1, 1, ! WIDE_RIGHT, visible); f = compCash[i] = new Field(c.getCashModel()); ! addField(f, compCashXOffset, compCashYOffset + i, 1, 1, 0, visible); f = compRevenue[i] = new Field(c.getLastRevenueModel()); ! addField(f, compRevenueXOffset, compRevenueYOffset + i, 1, 1, 0, visible); f = compTrains[i] = new Field(c.getPortfolio().getTrainsModel()); ! addField(f, compTrainsXOffset, compTrainsYOffset + i, 1, 1, 0, visible); f = compTokens[i] = new Field(c.getBaseTokensModel()); ! addField(f, compTokensXOffset, compTokensYOffset + i, 1, 1, 0, visible); if (this.compCanBuyPrivates) { *************** *** 416,420 **** c.getPortfolio().getPrivatesOwnedModel()); addField(f, compPrivatesXOffset, compPrivatesYOffset + i, 1, 1, ! 0); } if (hasCompanyLoans) { --- 413,417 ---- c.getPortfolio().getPrivatesOwnedModel()); addField(f, compPrivatesXOffset, compPrivatesYOffset + i, 1, 1, ! 0, visible); } if (hasCompanyLoans) { *************** *** 424,428 **** f = compLoans[i] = new Field (""); } ! addField (f, compLoansXOffset, compLoansYOffset+i, 1, 1, 0); } --- 421,425 ---- f = compLoans[i] = new Field (""); } ! addField (f, compLoansXOffset, compLoansYOffset+i, 1, 1, 0, visible); } *************** *** 431,448 **** f.setBackground(c.getBgColour()); addField(f, rightCompCaptionXOffset, certPerPlayerYOffset + i, 1, ! 1, WIDE_LEFT); } // Player possessions addField(new Caption(LocalText.getText("CASH")), 0, playerCashYOffset, ! 1, 1, WIDE_TOP + WIDE_RIGHT); for (int i = 0; i < np; i++) { f = playerCash[i] = new Field(players[i].getCashModel()); addField(f, playerCashXOffset + i, playerCashYOffset, 1, 1, ! WIDE_TOP); } addField(new Caption("Privates"), 0, playerPrivatesYOffset, 1, 1, ! WIDE_RIGHT); for (int i = 0; i < np; i++) { f = --- 428,445 ---- f.setBackground(c.getBgColour()); addField(f, rightCompCaptionXOffset, certPerPlayerYOffset + i, 1, ! 1, WIDE_LEFT, visible); } // Player possessions addField(new Caption(LocalText.getText("CASH")), 0, playerCashYOffset, ! 1, 1, WIDE_TOP + WIDE_RIGHT, true); for (int i = 0; i < np; i++) { f = playerCash[i] = new Field(players[i].getCashModel()); addField(f, playerCashXOffset + i, playerCashYOffset, 1, 1, ! WIDE_TOP, true); } addField(new Caption("Privates"), 0, playerPrivatesYOffset, 1, 1, ! WIDE_RIGHT, true); for (int i = 0; i < np; i++) { f = *************** *** 451,469 **** players[i].getPortfolio().getPrivatesOwnedModel()); addField(f, playerPrivatesXOffset + i, playerPrivatesYOffset, 1, 1, ! 0); } addField(new Caption(LocalText.getText("WORTH")), 0, ! playerWorthYOffset, 1, 1, WIDE_RIGHT); for (int i = 0; i < np; i++) { ! f = playerWorth[i] = new Field(players[i].getWorthModel()/* ! * , ! * true ! */); ! addField(f, playerWorthXOffset + i, playerWorthYOffset, 1, 1, 0); } addField(new Caption("Certs"), 0, playerCertCountYOffset, 1, 1, ! WIDE_RIGHT + WIDE_TOP); for (int i = 0; i < np; i++) { f = --- 448,463 ---- players[i].getPortfolio().getPrivatesOwnedModel()); addField(f, playerPrivatesXOffset + i, playerPrivatesYOffset, 1, 1, ! 0, true); } addField(new Caption(LocalText.getText("WORTH")), 0, ! playerWorthYOffset, 1, 1, WIDE_RIGHT, true); for (int i = 0; i < np; i++) { ! f = playerWorth[i] = new Field(players[i].getWorthModel()); ! addField(f, playerWorthXOffset + i, playerWorthYOffset, 1, 1, 0, true); } addField(new Caption("Certs"), 0, playerCertCountYOffset, 1, 1, ! WIDE_RIGHT + WIDE_TOP, true); for (int i = 0; i < np; i++) { f = *************** *** 471,511 **** new Field(players[i].getCertCountModel(), true); addField(f, playerCertCountXOffset + i, playerCertCountYOffset, 1, ! 1, WIDE_TOP); } for (int i = 0; i < np; i++) { f = lowerPlayerCaption[i] = new Caption(players[i].getName()); ! addField(f, i + 1, playerCertCountYOffset + 1, 1, 1, WIDE_TOP); } // Certificate Limit addField(new Caption(LocalText.getText("LIMIT")), certLimitXOffset - 1, ! certLimitYOffset, 1, 1, WIDE_TOP + WIDE_LEFT); addField(new Field(gameUIManager.getGameManager().getPlayerCertificateLimitModel()), certLimitXOffset, ! certLimitYOffset, 1, 1, WIDE_TOP); // Bank addField(new Caption(LocalText.getText("BANK")), bankCashXOffset - 1, ! bankCashYOffset - 1, 1, 2, WIDE_TOP + WIDE_LEFT); addField(new Caption(LocalText.getText("CASH")), bankCashXOffset, ! bankCashYOffset - 1, 1, 1, WIDE_TOP); bankCash = new Field(bank.getCashModel()); ! addField(bankCash, bankCashXOffset, bankCashYOffset, 1, 1, 0); // Trains addField(new Caption(LocalText.getText("TRAINS")), poolTrainsXOffset - 1, poolTrainsYOffset - 1, 1, 2, WIDE_TOP ! + WIDE_LEFT); addField(new Caption(LocalText.getText("USED")), poolTrainsXOffset, ! poolTrainsYOffset - 1, 1, 1, WIDE_TOP); poolTrains = new Field(pool.getTrainsModel()); ! addField(poolTrains, poolTrainsXOffset, poolTrainsYOffset, 1, 1, 0); // New trains addField(new Caption(LocalText.getText("NEW")), newTrainsXOffset, ! newTrainsYOffset - 1, 1, 1, WIDE_TOP); newTrains = new Field(ipo.getTrainsModel()); ! addField(newTrains, newTrainsXOffset, newTrainsYOffset, 1, 1, 0); dummyButton = new ClickField("", "", "", this, buySellGroup); --- 465,505 ---- new Field(players[i].getCertCountModel(), true); addField(f, playerCertCountXOffset + i, playerCertCountYOffset, 1, ! 1, WIDE_TOP, true); } for (int i = 0; i < np; i++) { f = lowerPlayerCaption[i] = new Caption(players[i].getName()); ! addField(f, i + 1, playerCertCountYOffset + 1, 1, 1, WIDE_TOP, true); } // Certificate Limit addField(new Caption(LocalText.getText("LIMIT")), certLimitXOffset - 1, ! certLimitYOffset, 1, 1, WIDE_TOP + WIDE_LEFT, true); addField(new Field(gameUIManager.getGameManager().getPlayerCertificateLimitModel()), certLimitXOffset, ! certLimitYOffset, 1, 1, WIDE_TOP, true); // Bank addField(new Caption(LocalText.getText("BANK")), bankCashXOffset - 1, ! bankCashYOffset - 1, 1, 2, WIDE_TOP + WIDE_LEFT, true); addField(new Caption(LocalText.getText("CASH")), bankCashXOffset, ! bankCashYOffset - 1, 1, 1, WIDE_TOP, true); bankCash = new Field(bank.getCashModel()); ! addField(bankCash, bankCashXOffset, bankCashYOffset, 1, 1, 0, true); // Trains addField(new Caption(LocalText.getText("TRAINS")), poolTrainsXOffset - 1, poolTrainsYOffset - 1, 1, 2, WIDE_TOP ! + WIDE_LEFT, true); addField(new Caption(LocalText.getText("USED")), poolTrainsXOffset, ! poolTrainsYOffset - 1, 1, 1, WIDE_TOP, true); poolTrains = new Field(pool.getTrainsModel()); ! addField(poolTrains, poolTrainsXOffset, poolTrainsYOffset, 1, 1, 0, true); // New trains addField(new Caption(LocalText.getText("NEW")), newTrainsXOffset, ! newTrainsYOffset - 1, 1, 1, WIDE_TOP, true); newTrains = new Field(ipo.getTrainsModel()); ! addField(newTrains, newTrainsXOffset, newTrainsYOffset, 1, 1, 0, true); dummyButton = new ClickField("", "", "", this, buySellGroup); *************** *** 513,525 **** // Future trains addField(new Caption(LocalText.getText("Future")), futureTrainsXOffset, ! futureTrainsYOffset - 1, futureTrainsWidth, 1, WIDE_TOP); futureTrains = new Field(bank.getUnavailable().getTrainsModel()); addField(futureTrains, futureTrainsXOffset, futureTrainsYOffset, ! futureTrainsWidth, 1, 0); // Train cost overview String text = gameUIManager.getGameManager().getTrainManager().getTrainCostOverview(); addField (new Caption(text), poolTrainsXOffset, newTrainsYOffset + 1, ! futureTrainsWidth + 2, 1, 0); dummyButton = new ClickField("", "", "", this, buySellGroup); --- 507,519 ---- // Future trains addField(new Caption(LocalText.getText("Future")), futureTrainsXOffset, ! futureTrainsYOffset - 1, futureTrainsWidth, 1, WIDE_TOP, true); futureTrains = new Field(bank.getUnavailable().getTrainsModel()); addField(futureTrains, futureTrainsXOffset, futureTrainsYOffset, ! futureTrainsWidth, 1, 0, true); // Train cost overview String text = gameUIManager.getGameManager().getTrainManager().getTrainCostOverview(); addField (new Caption(text), poolTrainsXOffset, newTrainsYOffset + 1, ! futureTrainsWidth + 2, 1, 0, true); dummyButton = new ClickField("", "", "", this, buySellGroup); *************** *** 528,532 **** private void addField(JComponent comp, int x, int y, int width, int height, ! int wideGapPositions) { int padTop, padLeft, padBottom, padRight; --- 522,526 ---- private void addField(JComponent comp, int x, int y, int width, int height, ! int wideGapPositions, boolean visible) { int padTop, padLeft, padBottom, padRight; *************** *** 547,550 **** --- 541,545 ---- if (fields[x][y] == null) fields[x][y] = comp; + comp.setVisible(visible); } *************** *** 766,772 **** lowerPlayerCaption[j].setHighlight(false); for (i = 0; i < nc; i++) { ! if (rowVisibilityObservers[i].lastValue()) { ! setPlayerCertButton(i, j, false); ! } } } else if (j == -1 && compCanHoldOwnShares) { --- 761,765 ---- lowerPlayerCaption[j].setHighlight(false); for (i = 0; i < nc; i++) { ! setPlayerCertButton(i, j, false); } } else if (j == -1 && compCanHoldOwnShares) { *************** *** 774,783 **** } for (i = 0; i < nc; i++) { ! if (rowVisibilityObservers[i].lastValue) { ! setIPOCertButton(i, false); ! setPoolCertButton(i, false); ! setPlayerCertButton (i, actorIndex, false); ! if (compCanHoldOwnShares) setTreasuryCertButton(i, false); ! } } --- 767,774 ---- } for (i = 0; i < nc; i++) { ! setIPOCertButton(i, false); ! setPoolCertButton(i, false); ! setPlayerCertButton (i, actorIndex, false); ! if (compCanHoldOwnShares) setTreasuryCertButton(i, false); } *************** *** 876,879 **** --- 867,872 ---- protected void setPlayerCertButton(int i, int j, boolean clickable) { if (j < 0) return; + boolean visible = rowVisibilityObservers[i].lastValue(); + if (clickable) { certPerPlayerButton[i][j].setText(certPerPlayer[i][j].getText()); *************** *** 881,886 **** certPerPlayerButton[i][j].clearPossibleActions(); } ! certPerPlayer[i][j].setVisible(!clickable); ! certPerPlayerButton[i][j].setVisible(clickable); } --- 874,879 ---- certPerPlayerButton[i][j].clearPossibleActions(); } ! certPerPlayer[i][j].setVisible(visible && !clickable); ! certPerPlayerButton[i][j].setVisible(visible && clickable); } *************** *** 895,898 **** --- 888,892 ---- private void setIPOCertButton(int i, boolean clickable) { + boolean visible = rowVisibilityObservers[i].lastValue(); if (clickable) { certInIPOButton[i].setText(certInIPO[i].getText()); *************** *** 900,905 **** certInIPOButton[i].clearPossibleActions(); } ! certInIPO[i].setVisible(!clickable); ! certInIPOButton[i].setVisible(clickable); } --- 894,899 ---- certInIPOButton[i].clearPossibleActions(); } ! certInIPO[i].setVisible(visible && !clickable); ! certInIPOButton[i].setVisible(visible && clickable); } *************** *** 914,917 **** --- 908,912 ---- private void setPoolCertButton(int i, boolean clickable) { + boolean visible = rowVisibilityObservers[i].lastValue(); if (clickable) { certInPoolButton[i].setText(certInPool[i].getText()); *************** *** 919,924 **** certInPoolButton[i].clearPossibleActions(); } ! certInPool[i].setVisible(!clickable); ! certInPoolButton[i].setVisible(clickable); } --- 914,919 ---- certInPoolButton[i].clearPossibleActions(); } ! certInPool[i].setVisible(visible && !clickable); ! certInPoolButton[i].setVisible(visible && clickable); } *************** *** 933,936 **** --- 928,932 ---- private void setTreasuryCertButton(int i, boolean clickable) { + boolean visible = rowVisibilityObservers[i].lastValue(); if (clickable) { certInTreasuryButton[i].setText(certInTreasury[i].getText()); *************** *** 938,942 **** certInTreasuryButton[i].clearPossibleActions(); } ! certInTreasury[i].setVisible(!clickable); certInTreasuryButton[i].setVisible(clickable); } --- 934,938 ---- certInTreasuryButton[i].clearPossibleActions(); } ! certInTreasury[i].setVisible(visible && !clickable); certInTreasuryButton[i].setVisible(clickable); } |