From 12a01788e61a99597a48420b3eff7e0060e3b009 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 26 Mar 2013 17:18:43 +0100 Subject: [PATCH] Added a new column to the table list showing the number of wins for matches and number of used / total seats for tournaments. --- .../java/mage/client/table/TablesPanel.java | 28 ++++++++++--------- Mage.Common/src/mage/view/TableView.java | 8 ++++++ Mage/src/mage/game/Table.java | 4 +++ 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java index c16870aead8..ab79a17aa71 100644 --- a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java +++ b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java @@ -121,10 +121,10 @@ public class TablesPanel extends javax.swing.JPanel { public void actionPerformed(ActionEvent e) { int modelRow = Integer.valueOf( e.getActionCommand() ); - UUID tableId = (UUID)tableModel.getValueAt(modelRow, 9); - UUID gameId = (UUID)tableModel.getValueAt(modelRow, 8); - String state = (String)tableModel.getValueAt(modelRow, 6); - boolean isTournament = (Boolean)tableModel.getValueAt(modelRow, 7); + UUID tableId = (UUID)tableModel.getValueAt(modelRow, 10); + UUID gameId = (UUID)tableModel.getValueAt(modelRow, 9); + String state = (String)tableModel.getValueAt(modelRow, 7); + boolean isTournament = (Boolean)tableModel.getValueAt(modelRow, 8); String owner = (String)tableModel.getValueAt(modelRow, 1); if (state.equals("Join")) { @@ -178,7 +178,7 @@ public class TablesPanel extends javax.swing.JPanel { public void actionPerformed(ActionEvent e) { int modelRow = Integer.valueOf( e.getActionCommand() ); - List games = (List)matchesModel.getValueAt(modelRow, 6); + List games = (List)matchesModel.getValueAt(modelRow, 7); if (games.size() == 1) { session.replayGame(games.get(0)); } @@ -190,7 +190,7 @@ public class TablesPanel extends javax.swing.JPanel { // adds buttons (don't delete this) - new ButtonColumn(tableTables, joinTable, 6); + new ButtonColumn(tableTables, joinTable, 7); new ButtonColumn(tableCompleted, replayMatch, 5); } @@ -598,7 +598,7 @@ private void chkShowCompletedActionPerformed(java.awt.event.ActionEvent evt) {// } class TableTableModel extends AbstractTableModel { - private String[] columnNames = new String[]{"Match Name", "Owner", "Game Type", "Deck Type", "Status", "Created", "Action"}; + private String[] columnNames = new String[]{"Match Name", "Owner", "Game Type", "Deck Type", "Info", "Status", "Created", "Action"}; private TableView[] tables = new TableView[0]; private static final DateFormat timeFormatter = SimpleDateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); @@ -635,10 +635,12 @@ class TableTableModel extends AbstractTableModel { case 3: return tables[arg0].getDeckType().toString(); case 4: - return tables[arg0].getTableState().toString(); + return tables[arg0].getAdditionalInfo().toString(); case 5: - return timeFormatter.format(tables[arg0].getCreateTime()); + return tables[arg0].getTableState().toString(); case 6: + return timeFormatter.format(tables[arg0].getCreateTime()); + case 7: switch (tables[arg0].getTableState()) { case WAITING: String owner = tables[arg0].getControllerName(); @@ -661,14 +663,14 @@ class TableTableModel extends AbstractTableModel { default: return ""; } - case 7: - return tables[arg0].isTournament(); case 8: + return tables[arg0].isTournament(); + case 9: if (!tables[arg0].getGames().isEmpty()) { return tables[arg0].getGames().get(0); } return null; - case 9: + case 10: return tables[arg0].getTableId(); } return ""; @@ -692,7 +694,7 @@ class TableTableModel extends AbstractTableModel { @Override public boolean isCellEditable(int rowIndex, int columnIndex) { - if (columnIndex != 6) { + if (columnIndex != 7) { return false; } return true; diff --git a/Mage.Common/src/mage/view/TableView.java b/Mage.Common/src/mage/view/TableView.java index e63ea8ca8f3..192ac2bacf9 100644 --- a/Mage.Common/src/mage/view/TableView.java +++ b/Mage.Common/src/mage/view/TableView.java @@ -50,6 +50,7 @@ public class TableView implements Serializable { private String deckType; private String tableName; private String controllerName; + private String additionalInfo; private Date createTime; private TableState tableState; private boolean isTournament; @@ -69,10 +70,14 @@ public class TableView implements Serializable { seats.add(new SeatView(seat)); } if (!table.isTournament()) { + this.additionalInfo = new StringBuilder("Wins: ").append(table.getMatch().getWinsNeeded()).toString(); for (Game game: table.getMatch().getGames()) { games.add(game.getId()); } + } else { + this.additionalInfo = new StringBuilder("Seats: ").append(table.getTournament().getPlayers().size()).append("/").append(table.getNumberOfSeats()).toString(); } + } public UUID getTableId() { @@ -114,5 +119,8 @@ public class TableView implements Serializable { public boolean isTournament() { return this.isTournament; } + public String getAdditionalInfo() { + return this.additionalInfo; + } } diff --git a/Mage/src/mage/game/Table.java b/Mage/src/mage/game/Table.java index 0873c6695e4..bfe37b6c9b6 100644 --- a/Mage/src/mage/game/Table.java +++ b/Mage/src/mage/game/Table.java @@ -162,6 +162,10 @@ public class Table implements Serializable { return seats; } + public int getNumberOfSeats() { + return numSeats; + } + public Seat getNextAvailableSeat(String playerType) { for (int i = 0; i < numSeats; i++ ) { if (seats[i].getPlayer() == null && seats[i].getPlayerType().equals(playerType))