More GUI code refactoring. Fixes all errors in forge-gui-desktop!

This commit is contained in:
elcnesh
2014-09-03 08:38:38 +00:00
parent 01c2648555
commit af494b13b0
13 changed files with 628 additions and 574 deletions

View File

@@ -536,7 +536,7 @@ public enum FControl implements KeyEventDispatcher {
}
}
CDock.SINGLETON_INSTANCE.setModel(game0, humanLobbyPlayer);
CDock.SINGLETON_INSTANCE.setModel(game0);
CStack.SINGLETON_INSTANCE.setModel(game0, localPlayer);
CPlayers.SINGLETON_INSTANCE.setModel(game0);
CLog.SINGLETON_INSTANCE.setModel(game0.getGameLog());

View File

@@ -1101,7 +1101,7 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
if (paperCard.isFoil()) {
final CardView card = CardView.getCardForUi(paperCard);
if (card.getFoilIndex() == 0) { //if foil finish not yet established, assign a random one
card.setRandomFoil();
card.card.setRandomFoil();
}
CardPanel.drawFoilEffect(g, card, bounds.x, bounds.y, bounds.width, bounds.height, borderSize);
}

View File

@@ -17,7 +17,15 @@
*/
package forge.screens.match;
import forge.game.card.Card;
import java.util.Collections;
import java.util.List;
import javax.swing.AbstractListModel;
import javax.swing.JList;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import net.miginfocom.swing.MigLayout;
import forge.gui.CardDetailPanel;
import forge.gui.CardPicturePanel;
import forge.item.PaperCard;
@@ -27,14 +35,7 @@ import forge.toolbox.FList;
import forge.toolbox.FPanel;
import forge.toolbox.FScrollPane;
import forge.toolbox.FSkin;
import net.miginfocom.swing.MigLayout;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.util.Collections;
import java.util.List;
import forge.view.CardView;
/**
* A simple JPanel that shows three columns: card list, pic, and description..
@@ -111,7 +112,7 @@ public class QuestWinLoseCardViewer extends FPanel {
// (String) jList.getSelectedValue();
if ((row >= 0) && (row < QuestWinLoseCardViewer.this.list.size())) {
final PaperCard cp = QuestWinLoseCardViewer.this.list.get(row);
QuestWinLoseCardViewer.this.detail.setCard(Card.getCardForUi(cp));
QuestWinLoseCardViewer.this.detail.setCard(CardView.getCardForUi(cp), false);
QuestWinLoseCardViewer.this.picture.setCard(cp);
}
}

View File

@@ -1,19 +1,16 @@
package forge.screens.match.controllers;
import forge.GuiBase;
import forge.UiCommand;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import forge.Singletons;
import forge.game.player.Player;
import forge.UiCommand;
import forge.gui.framework.ICDoc;
import forge.model.FModel;
import forge.properties.ForgePreferences;
import forge.properties.ForgePreferences.FPref;
import forge.screens.match.views.VDev;
import forge.util.GuiDisplayUtil;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
/**
* Controls the combat panel in the match UI.
@@ -44,13 +41,8 @@ public enum CDev implements ICDoc {
VDev.SINGLETON_INSTANCE.getLblUnlimitedLands().toggleEnabled();
boolean newValue = VDev.SINGLETON_INSTANCE.getLblUnlimitedLands().getEnabled();
FModel.getPreferences().setPref(FPref.DEV_UNLIMITED_LAND, String.valueOf(newValue));
for(Player p : Singletons.getControl().getObservedGame().getPlayers()) {
if( p.getLobbyPlayer() == GuiBase.getInterface().getGuiPlayer() )
p.canCheatPlayUnlimitedLands = newValue;
}
Singletons.getControl().getGameView().devTogglePlayManyLands(newValue);
// probably will need to call a synchronized method to have the game thread see changed value of the variable
FModel.getPreferences().save();
}
@@ -59,7 +51,7 @@ public enum CDev implements ICDoc {
generateMana(); }
};
public void generateMana() {
GuiDisplayUtil.devModeGenerateMana();
Singletons.getControl().getGameView().devGenerateMana();
}
private final MouseListener madSetup = new MouseAdapter() { @Override
@@ -67,7 +59,7 @@ public enum CDev implements ICDoc {
setupGameState(); }
};
public void setupGameState() {
GuiDisplayUtil.devSetupGameState();
Singletons.getControl().getGameView().devSetupGameState();
}
private final MouseListener madTutor = new MouseAdapter() { @Override
@@ -75,7 +67,7 @@ public enum CDev implements ICDoc {
tutorForCard(); }
};
public void tutorForCard() {
GuiDisplayUtil.devModeTutor();
Singletons.getControl().getGameView().devTutorForCard();
}
private final MouseListener madCardToHand = new MouseAdapter() { @Override
@@ -83,7 +75,7 @@ public enum CDev implements ICDoc {
addCardToHand(); }
};
public void addCardToHand() {
GuiDisplayUtil.devModeCardToHand();
Singletons.getControl().getGameView().devAddCardToHand();
}
private final MouseListener madCounter = new MouseAdapter() { @Override
@@ -91,7 +83,7 @@ public enum CDev implements ICDoc {
addCounterToPermanent(); }
};
public void addCounterToPermanent() {
GuiDisplayUtil.devModeAddCounter();
Singletons.getControl().getGameView().devAddCounterToPermanent();
}
private final MouseListener madTap = new MouseAdapter() { @Override
@@ -99,7 +91,7 @@ public enum CDev implements ICDoc {
tapPermanent(); }
};
public void tapPermanent() {
GuiDisplayUtil.devModeTapPerm();
Singletons.getControl().getGameView().devTapPermanent();
}
private final MouseListener madUntap = new MouseAdapter() { @Override
@@ -107,7 +99,7 @@ public enum CDev implements ICDoc {
untapPermanent(); }
};
public void untapPermanent() {
GuiDisplayUtil.devModeUntapPerm();
Singletons.getControl().getGameView().devUntapPermanent();
}
private final MouseListener madLife = new MouseAdapter() { @Override
@@ -115,7 +107,7 @@ public enum CDev implements ICDoc {
setPlayerLife(); }
};
public void setPlayerLife() {
GuiDisplayUtil.devModeSetLife();
Singletons.getControl().getGameView().devSetPlayerLife();
}
private final MouseListener madWinGame = new MouseAdapter() { @Override
@@ -123,15 +115,15 @@ public enum CDev implements ICDoc {
winGame(); }
};
public void winGame() {
GuiDisplayUtil.devModeWinGame();
Singletons.getControl().getGameView().devWinGame();
}
private final MouseListener madCardToBattlefield = new MouseAdapter() { @Override
public void mousePressed(final MouseEvent e) {
addCardToPlay(); }
addCardToBattlefield(); }
};
public void addCardToPlay() {
GuiDisplayUtil.devModeCardToBattlefield();
public void addCardToBattlefield() {
Singletons.getControl().getGameView().devAddCardToBattlefield();
}
private final MouseListener madRiggedRoll = new MouseAdapter() { @Override
@@ -139,7 +131,7 @@ public enum CDev implements ICDoc {
riggedPlanerRoll(); }
};
public void riggedPlanerRoll() {
GuiDisplayUtil.devModeRiggedPlanarRoll();
Singletons.getControl().getGameView().devRiggedPlanerRoll();
}
private final MouseListener madWalkToPlane = new MouseAdapter() { @Override
@@ -147,7 +139,7 @@ public enum CDev implements ICDoc {
planeswalkTo(); }
};
public void planeswalkTo() {
GuiDisplayUtil.devModePlaneswalkTo();
Singletons.getControl().getGameView().devPlaneswalkTo();
}
//========== End mouse listener inits

View File

@@ -17,22 +17,16 @@
*/
package forge.screens.match.controllers;
import java.io.File;
import forge.FThreads;
import forge.GuiBase;
import forge.LobbyPlayer;
import forge.UiCommand;
import forge.FThreads;
import forge.Singletons;
import forge.UiCommand;
import forge.assets.FSkinProp;
import forge.deckchooser.FDeckViewer;
import forge.game.card.Card;
import forge.game.card.CardLists;
import forge.game.card.CardPredicates.Presets;
import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
import forge.game.phase.PhaseType;
import forge.game.player.Player;
import forge.game.player.RegisteredPlayer;
import forge.game.zone.ZoneType;
import forge.gui.SOverlayUtils;
import forge.gui.framework.ICDoc;
import forge.gui.framework.SLayoutIO;
@@ -47,9 +41,6 @@ import forge.toolbox.SaveOpenDialog.Filetypes;
import forge.view.FView;
import forge.view.IGameView;
import java.io.File;
import java.util.List;
/**
* Controls the dock panel in the match UI.
*
@@ -62,25 +53,17 @@ public enum CDock implements ICDoc {
private int arcState;
private IGameView game;
public void setModel(IGameView game0, LobbyPlayer player0) {
public void setModel(final IGameView game0) {
game = game0;
}
public Player findAffectedPlayer() {
return Singletons.getControl().getCurrentPlayer();
}
/**
* End turn.
*/
public void endTurn() {
Player p = findAffectedPlayer();
if (p != null) {
p.getController().autoPassUntil(PhaseType.CLEANUP);
if (!CPrompt.SINGLETON_INSTANCE.getInputControl().passPriority()) {
p.getController().autoPassCancel();
}
game.autoPassUntilEndOfTurn();
if (!CPrompt.SINGLETON_INSTANCE.getInputControl().passPriority()) {
game.autoPassCancel();
}
}
@@ -178,8 +161,9 @@ public enum CDock implements ICDoc {
/** Attack with everyone. */
public void alphaStrike() {
/* TODO: rewrite this!
final Player p = this.findAffectedPlayer();
final Combat combat = game.getCombat();
final Combat combat = FControl.instance.getObservedGame().getCombat();
if (this.game.isCombatDeclareAttackers()) {
List<Player> defenders = p.getOpponents();
@@ -198,6 +182,7 @@ public enum CDock implements ICDoc {
// TODO Is this redrawing immediately?
FView.SINGLETON_INSTANCE.getFrame().repaint();
}
*/
}
/** Toggle targeting overlay painting. */

View File

@@ -31,7 +31,6 @@ public class DevModeMenu implements ActionListener {
ADD_CARD_TO_PLAY("Add card to play"),
RIGGED_PLANAR_ROLL("Rigged planar roll"),
PLANESWALK_TO("Planeswalk to"),
// LOSS_BY_MILLING("Loss by Milling"),
PLAY_MANY_LANDS("Play many lands per Turn"),
SETUP_GAME_STATE("Setup Game State"),
ADD_COUNTER("Add Counter to Permanent"),
@@ -68,7 +67,6 @@ public class DevModeMenu implements ActionListener {
menu.add(getMenuItem(DevMenuItem.RIGGED_PLANAR_ROLL));
menu.add(getMenuItem(DevMenuItem.PLANESWALK_TO));
menu.addSeparator();
// menu.add(getCheckboxMenuItem(DevMenuItem.LOSS_BY_MILLING, prefs.getPrefBoolean(FPref.DEV_MILLING_LOSS)));
menu.add(getCheckboxMenuItem(DevMenuItem.PLAY_MANY_LANDS, prefs.getPrefBoolean(FPref.DEV_UNLIMITED_LAND)));
menu.add(getMenuItem(DevMenuItem.SETUP_GAME_STATE));
menu.add(getMenuItem(DevMenuItem.ADD_COUNTER));
@@ -104,10 +102,9 @@ public class DevModeMenu implements ActionListener {
case GENERATE_MANA: { controller.generateMana(); break; }
case TUTOR_FOR_CARD: { controller.tutorForCard(); break; }
case ADD_CARD_TO_HAND: { controller.addCardToHand(); break; }
case ADD_CARD_TO_PLAY: { controller.addCardToPlay(); break; }
case ADD_CARD_TO_PLAY: { controller.addCardToBattlefield(); break; }
case RIGGED_PLANAR_ROLL:{ controller.riggedPlanerRoll(); break; }
case PLANESWALK_TO: { controller.planeswalkTo(); break; }
// case LOSS_BY_MILLING: { controller.toggleLossByMilling(); break; }
case PLAY_MANY_LANDS: { controller.togglePlayManyLandsPerTurn(); break; }
case SETUP_GAME_STATE: { controller.setupGameState(); break; }
case ADD_COUNTER: { controller.addCounterToPermanent(); break; }

View File

@@ -17,18 +17,20 @@
*/
package forge.toolbox.special;
import forge.game.card.Card;
import java.util.Collections;
import java.util.List;
import javax.swing.AbstractListModel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import forge.gui.CardDetailPanel;
import forge.gui.CardPicturePanel;
import forge.item.PaperCard;
import forge.toolbox.FScrollPane;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.util.Collections;
import java.util.List;
import forge.view.CardView;
/**
* A simple JPanel that shows three columns: card list, pic, and description..
@@ -91,7 +93,7 @@ public class CardViewer extends JPanel {
// (String) jList.getSelectedValue();
if ((row >= 0) && (row < CardViewer.this.list.size())) {
final PaperCard cp = CardViewer.this.list.get(row);
CardViewer.this.detail.setCard(Card.getCardForUi(cp));
CardViewer.this.detail.setCard(CardView.getCardForUi(cp), false);
CardViewer.this.picture.setCard(cp);
}
}