Added junit test that starts Mage.Client and starts 10 games in a row. Minor fixes. Client is maximized now.

This commit is contained in:
magenoxx 2010-11-28 10:13:54 +00:00
parent 9c3ff863e8
commit 8b77a67574
9 changed files with 46 additions and 10 deletions

View file

@ -62,6 +62,13 @@
<artifactId>jetlang</artifactId> <artifactId>jetlang</artifactId>
<version>0.2.4</version> <version>0.2.4</version>
</dependency> </dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<type>jar</type>
<scope>test</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>

View file

@ -35,10 +35,13 @@
package mage.client; package mage.client;
import java.awt.Color; import java.awt.Color;
import java.awt.Component;
import java.awt.Cursor; import java.awt.Cursor;
import java.awt.event.WindowAdapter; import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; import java.awt.event.WindowEvent;
import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.logging.Level; import java.util.logging.Level;
@ -48,6 +51,7 @@ import java.util.prefs.Preferences;
import javax.swing.Box; import javax.swing.Box;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JDesktopPane; import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JLayeredPane; import javax.swing.JLayeredPane;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
@ -58,6 +62,7 @@ import javax.swing.plaf.synth.SynthLookAndFeel;
import mage.cards.Card; import mage.cards.Card;
import mage.cards.ExpansionSet; import mage.cards.ExpansionSet;
import mage.client.components.MageComponents;
import mage.client.components.MageSynthStyleFactory; import mage.client.components.MageSynthStyleFactory;
import mage.client.dialog.AboutDialog; import mage.client.dialog.AboutDialog;
import mage.client.dialog.CombatDialog; import mage.client.dialog.CombatDialog;
@ -115,8 +120,8 @@ public class MageFrame extends javax.swing.JFrame {
try { try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
MageSynthStyleFactory f = new MageSynthStyleFactory(SynthLookAndFeel.getStyleFactory()); //MageSynthStyleFactory f = new MageSynthStyleFactory(SynthLookAndFeel.getStyleFactory());
SynthLookAndFeel.setStyleFactory(f); //SynthLookAndFeel.setStyleFactory(f);
} catch (Exception ex) { } catch (Exception ex) {
logger.log(Level.SEVERE, null, ex); logger.log(Level.SEVERE, null, ex);
} }
@ -124,6 +129,8 @@ public class MageFrame extends javax.swing.JFrame {
Plugins.getInstance().loadPlugins(); Plugins.getInstance().loadPlugins();
initComponents(); initComponents();
setSize(1024,768);
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
session = new Session(this); session = new Session(this);
connectDialog = new ConnectDialog(); connectDialog = new ConnectDialog();
@ -179,6 +186,8 @@ public class MageFrame extends javax.swing.JFrame {
label.setForeground(Color.white); label.setForeground(Color.white);
label.setBounds(0, 0, 180, 30); label.setBounds(0, 0, 180, 30);
} }
session.getUI().addButton(MageComponents.TABLES_MENU_BUTTON, btnGames);
} }
private void btnImagesActionPerformed(java.awt.event.ActionEvent evt) { private void btnImagesActionPerformed(java.awt.event.ActionEvent evt) {
@ -268,7 +277,7 @@ public class MageFrame extends javax.swing.JFrame {
lblStatus = new javax.swing.JLabel(); lblStatus = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setMinimumSize(new java.awt.Dimension(1024, 768)); //setMinimumSize(new java.awt.Dimension(1024, 768));
desktopPane.setBackground(new java.awt.Color(204, 204, 204)); desktopPane.setBackground(new java.awt.Color(204, 204, 204));
tablesPane.setBounds(20, 10, 560, 440); tablesPane.setBounds(20, 10, 560, 440);
@ -417,7 +426,7 @@ public class MageFrame extends javax.swing.JFrame {
aboutDialog.showDialog(); aboutDialog.showDialog();
}//GEN-LAST:event_btnAboutActionPerformed }//GEN-LAST:event_btnAboutActionPerformed
private void exitApp() { public void exitApp() {
session.disconnect(); session.disconnect();
Plugins.getInstance().shutdown(); Plugins.getInstance().shutdown();
dispose(); dispose();

View file

@ -48,6 +48,7 @@ import javax.swing.SpinnerNumberModel;
import mage.Constants.MultiplayerAttackOption; import mage.Constants.MultiplayerAttackOption;
import mage.Constants.RangeOfInfluence; import mage.Constants.RangeOfInfluence;
import mage.cards.decks.DeckCardLists; import mage.cards.decks.DeckCardLists;
import mage.client.components.MageComponents;
import mage.client.remote.Session; import mage.client.remote.Session;
import mage.client.table.TablePlayerPanel; import mage.client.table.TablePlayerPanel;
import mage.client.util.Event; import mage.client.util.Event;
@ -371,6 +372,7 @@ public class NewTableDialog extends MageDialog {
public void showDialog(UUID roomId) { public void showDialog(UUID roomId) {
session = MageFrame.getSession(); session = MageFrame.getSession();
session.getUI().addButton(MageComponents.NEW_TABLE_OK_BUTTON, btnOK);
this.player1Panel.setPlayerName(session.getUserName()); this.player1Panel.setPlayerName(session.getUserName());
cbGameType.setModel(new DefaultComboBoxModel(session.getGameTypes().toArray())); cbGameType.setModel(new DefaultComboBoxModel(session.getGameTypes().toArray()));
cbDeckType.setModel(new DefaultComboBoxModel(session.getDeckTypes())); cbDeckType.setModel(new DefaultComboBoxModel(session.getDeckTypes()));
@ -380,7 +382,7 @@ public class NewTableDialog extends MageDialog {
this.setModal(true); this.setModal(true);
setGameOptions(); setGameOptions();
this.setLocation(150, 100); this.setLocation(150, 100);
this.setVisible(true); this.setVisible(true);
} }
public TableView getTable() { public TableView getTable() {

View file

@ -44,6 +44,7 @@ import java.util.logging.Logger;
import javax.swing.Timer; import javax.swing.Timer;
import javax.swing.table.AbstractTableModel; import javax.swing.table.AbstractTableModel;
import mage.Constants.TableState; import mage.Constants.TableState;
import mage.client.components.MageComponents;
import mage.client.remote.Session; import mage.client.remote.Session;
import mage.util.Logging; import mage.util.Logging;
import mage.view.SeatView; import mage.view.SeatView;
@ -72,6 +73,7 @@ public class TableWaitingDialog extends MageDialog implements Observer {
initComponents(); initComponents();
tableSeats.createDefaultColumnsFromModel(); tableSeats.createDefaultColumnsFromModel();
session.getUI().addButton(MageComponents.TABLE_WAITING_START_BUTTON, btnStart);
} }
@Override @Override

View file

@ -280,15 +280,20 @@ public class GamePanel extends javax.swing.JPanel {
this.txtPriority.setText(game.getPriorityPlayerName()); this.txtPriority.setText(game.getPriorityPlayerName());
this.txtTurn.setText(Integer.toString(game.getTurn())); this.txtTurn.setText(Integer.toString(game.getTurn()));
for (PlayerView player: game.getPlayers()) { for (PlayerView player: game.getPlayers()) {
if (player != null) { //if (player != null) {
if (players.containsKey(player.getPlayerId())) { if (players.containsKey(player.getPlayerId())) {
players.get(player.getPlayerId()).update(player); players.get(player.getPlayerId()).update(player);
} else { } else {
logger.warning("Couldn't find player."); logger.warning("Couldn't find player.");
logger.warning(" uuid:" + player.getPlayerId());
logger.warning(" players:");
for (PlayAreaPanel p : players.values()) {
logger.warning(""+p);
}
} }
} else { //} else {
logger.warning("Player object is null."); //logger.warning("Player object is null.");
} //}
} }
this.stack.loadCards(game.getStack(), bigCard, gameId); this.stack.loadCards(game.getStack(), bigCard, gameId);

View file

@ -68,11 +68,13 @@ public class Plugins implements MagePlugins {
@Override @Override
public void updateGamePanel(Map<String, JComponent> ui) { public void updateGamePanel(Map<String, JComponent> ui) {
if (themePlugin == null) return;
themePlugin.applyInGame(ui); themePlugin.applyInGame(ui);
} }
@Override @Override
public JComponent updateTablePanel(Map<String, JComponent> ui) { public JComponent updateTablePanel(Map<String, JComponent> ui) {
if (themePlugin == null) return null;
return themePlugin.updateTable(ui); return themePlugin.updateTable(ui);
} }

View file

@ -28,6 +28,7 @@
package mage.client.remote; package mage.client.remote;
import java.awt.Component;
import java.rmi.NotBoundException; import java.rmi.NotBoundException;
import java.rmi.RemoteException; import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry; import java.rmi.registry.LocateRegistry;
@ -45,6 +46,8 @@ import mage.Constants.RangeOfInfluence;
import mage.cards.decks.DeckCardLists; import mage.cards.decks.DeckCardLists;
import mage.client.MageFrame; import mage.client.MageFrame;
import mage.client.chat.ChatPanel; import mage.client.chat.ChatPanel;
import mage.client.components.MageComponents;
import mage.client.components.MageUI;
import mage.client.game.GamePanel; import mage.client.game.GamePanel;
import mage.client.util.Config; import mage.client.util.Config;
import mage.game.GameException; import mage.game.GameException;
@ -73,6 +76,7 @@ public class Session {
private Map<UUID, ChatPanel> chats = new HashMap<UUID, ChatPanel>(); private Map<UUID, ChatPanel> chats = new HashMap<UUID, ChatPanel>();
private GamePanel game; private GamePanel game;
private CallbackClientDaemon callbackDaemon; private CallbackClientDaemon callbackDaemon;
private MageUI ui = new MageUI();
public Session(MageFrame frame) { public Session(MageFrame frame) {
this.frame = frame; this.frame = frame;
@ -551,4 +555,7 @@ public class Session {
return userName; return userName;
} }
public MageUI getUI() {
return ui;
}
} }

View file

@ -67,7 +67,6 @@ public class TablesPane extends MagePane {
if (container != null) { if (container != null) {
initComponents(container); initComponents(container);
container.add(tablesPanel); container.add(tablesPanel);
//ui.get("jScrollPane1ViewPort").setBackground(new Color(20,20,20,50));
container.setOpaque(false); container.setOpaque(false);
initialized = true; initialized = true;
} }

View file

@ -34,6 +34,7 @@
package mage.client.table; package mage.client.table;
import mage.client.components.MageComponents;
import mage.client.dialog.NewTableDialog; import mage.client.dialog.NewTableDialog;
import mage.client.dialog.JoinTableDialog; import mage.client.dialog.JoinTableDialog;
import mage.client.dialog.TableWaitingDialog; import mage.client.dialog.TableWaitingDialog;
@ -184,6 +185,8 @@ public class TablesPanel extends javax.swing.JPanel implements Observer {
else { else {
hideTables(); hideTables();
} }
session.getUI().addButton(MageComponents.NEW_GAME_BUTTON, btnNewTable);
} }
public void hideTables() { public void hideTables() {