mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 03:38:01 +00:00
Phase inidicators arranged into a separate control
Moved special and more complex control like DeckChooser aside from the simpliest ones (like FButton or FLabel)
This commit is contained in:
9
.gitattributes
vendored
9
.gitattributes
vendored
@@ -14790,11 +14790,8 @@ src/main/java/forge/gui/match/views/VStack.java -text
|
|||||||
src/main/java/forge/gui/match/views/package-info.java svneol=native#text/plain
|
src/main/java/forge/gui/match/views/package-info.java svneol=native#text/plain
|
||||||
src/main/java/forge/gui/package-info.java svneol=native#text/plain
|
src/main/java/forge/gui/package-info.java svneol=native#text/plain
|
||||||
src/main/java/forge/gui/toolbox/CardFaceSymbols.java svneol=native#text/plain
|
src/main/java/forge/gui/toolbox/CardFaceSymbols.java svneol=native#text/plain
|
||||||
src/main/java/forge/gui/toolbox/CardViewer.java -text
|
|
||||||
src/main/java/forge/gui/toolbox/DeckLister.java -text
|
|
||||||
src/main/java/forge/gui/toolbox/FButton.java -text
|
src/main/java/forge/gui/toolbox/FButton.java -text
|
||||||
src/main/java/forge/gui/toolbox/FCheckBox.java -text
|
src/main/java/forge/gui/toolbox/FCheckBox.java -text
|
||||||
src/main/java/forge/gui/toolbox/FDeckChooser.java -text
|
|
||||||
src/main/java/forge/gui/toolbox/FLabel.java -text
|
src/main/java/forge/gui/toolbox/FLabel.java -text
|
||||||
src/main/java/forge/gui/toolbox/FList.java -text
|
src/main/java/forge/gui/toolbox/FList.java -text
|
||||||
src/main/java/forge/gui/toolbox/FOverlay.java -text
|
src/main/java/forge/gui/toolbox/FOverlay.java -text
|
||||||
@@ -14808,6 +14805,12 @@ src/main/java/forge/gui/toolbox/FTextArea.java -text
|
|||||||
src/main/java/forge/gui/toolbox/FTextField.java -text
|
src/main/java/forge/gui/toolbox/FTextField.java -text
|
||||||
src/main/java/forge/gui/toolbox/SaveOpenDialog.java -text
|
src/main/java/forge/gui/toolbox/SaveOpenDialog.java -text
|
||||||
src/main/java/forge/gui/toolbox/package-info.java svneol=native#text/plain
|
src/main/java/forge/gui/toolbox/package-info.java svneol=native#text/plain
|
||||||
|
src/main/java/forge/gui/toolbox/special/CardViewer.java -text
|
||||||
|
src/main/java/forge/gui/toolbox/special/DeckLister.java -text
|
||||||
|
src/main/java/forge/gui/toolbox/special/FDeckChooser.java -text
|
||||||
|
src/main/java/forge/gui/toolbox/special/PhaseIndicator.java -text
|
||||||
|
src/main/java/forge/gui/toolbox/special/PhaseLabel.java -text
|
||||||
|
src/main/java/forge/gui/toolbox/special/package-info.java -text
|
||||||
src/main/java/forge/item/BoosterPack.java -text
|
src/main/java/forge/item/BoosterPack.java -text
|
||||||
src/main/java/forge/item/FatPack.java -text
|
src/main/java/forge/item/FatPack.java -text
|
||||||
src/main/java/forge/item/IPaperCard.java -text
|
src/main/java/forge/item/IPaperCard.java -text
|
||||||
|
|||||||
@@ -62,7 +62,6 @@ import forge.gui.match.controllers.CMessage;
|
|||||||
import forge.gui.match.controllers.CStack;
|
import forge.gui.match.controllers.CStack;
|
||||||
import forge.gui.match.nonsingleton.VField;
|
import forge.gui.match.nonsingleton.VField;
|
||||||
import forge.gui.match.views.VAntes;
|
import forge.gui.match.views.VAntes;
|
||||||
import forge.gui.toolbox.CardFaceSymbols;
|
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.gui.toolbox.FSkin;
|
||||||
import forge.net.NetServer;
|
import forge.net.NetServer;
|
||||||
import forge.properties.NewConstants;
|
import forge.properties.NewConstants;
|
||||||
@@ -172,9 +171,6 @@ public enum FControl {
|
|||||||
UIManager.put("TabbedPane.contentOpaque", FSkin.getColor(FSkin.Colors.CLR_THEME));
|
UIManager.put("TabbedPane.contentOpaque", FSkin.getColor(FSkin.Colors.CLR_THEME));
|
||||||
UIManager.put("TabbedPane.unselectedBackground", FSkin.getColor(FSkin.Colors.CLR_THEME2));
|
UIManager.put("TabbedPane.unselectedBackground", FSkin.getColor(FSkin.Colors.CLR_THEME2));
|
||||||
|
|
||||||
// Does not use progress bar, due to be deprecated with battlefield refactoring.
|
|
||||||
CardFaceSymbols.loadImages();
|
|
||||||
|
|
||||||
this.shortcuts = KeyboardShortcuts.attachKeyboardShortcuts();
|
this.shortcuts = KeyboardShortcuts.attachKeyboardShortcuts();
|
||||||
this.display = FView.SINGLETON_INSTANCE.getLpnDocument();
|
this.display = FView.SINGLETON_INSTANCE.getLpnDocument();
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ import forge.gui.match.ViewWinLose;
|
|||||||
import forge.gui.match.controllers.CMessage;
|
import forge.gui.match.controllers.CMessage;
|
||||||
import forge.gui.match.controllers.CStack;
|
import forge.gui.match.controllers.CStack;
|
||||||
import forge.gui.match.nonsingleton.VHand;
|
import forge.gui.match.nonsingleton.VHand;
|
||||||
import forge.gui.match.nonsingleton.VField.PhaseLabel;
|
import forge.gui.toolbox.special.PhaseLabel;
|
||||||
|
|
||||||
public class FControlGameEventHandler extends IGameEventVisitor.Base<Void> {
|
public class FControlGameEventHandler extends IGameEventVisitor.Base<Void> {
|
||||||
private final FControl fc;
|
private final FControl fc;
|
||||||
@@ -56,7 +56,7 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base<Void> {
|
|||||||
phaseUpdPlanned.set(false);
|
phaseUpdPlanned.set(false);
|
||||||
|
|
||||||
final CMatchUI matchUi = CMatchUI.SINGLETON_INSTANCE;
|
final CMatchUI matchUi = CMatchUI.SINGLETON_INSTANCE;
|
||||||
PhaseLabel lbl = matchUi.getFieldViewFor(p).getLabelFor(ph);
|
PhaseLabel lbl = matchUi.getFieldViewFor(p).getPhaseInidicator().getLabelFor(ph);
|
||||||
|
|
||||||
matchUi.resetAllPhaseButtons();
|
matchUi.resetAllPhaseButtons();
|
||||||
if (lbl != null) lbl.setActive(true);
|
if (lbl != null) lbl.setActive(true);
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import forge.gui.framework.DragCell;
|
|||||||
import forge.gui.framework.DragTab;
|
import forge.gui.framework.DragTab;
|
||||||
import forge.gui.framework.EDocID;
|
import forge.gui.framework.EDocID;
|
||||||
import forge.gui.framework.IVDoc;
|
import forge.gui.framework.IVDoc;
|
||||||
import forge.gui.toolbox.DeckLister;
|
import forge.gui.toolbox.special.DeckLister;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assembles Swing components of all deck viewer in deck editor.
|
* Assembles Swing components of all deck viewer in deck editor.
|
||||||
|
|||||||
@@ -19,12 +19,12 @@ import forge.gui.framework.EDocID;
|
|||||||
import forge.gui.home.EMenuGroup;
|
import forge.gui.home.EMenuGroup;
|
||||||
import forge.gui.home.IVSubmenu;
|
import forge.gui.home.IVSubmenu;
|
||||||
import forge.gui.home.VHomeUI;
|
import forge.gui.home.VHomeUI;
|
||||||
import forge.gui.toolbox.FDeckChooser;
|
|
||||||
import forge.gui.toolbox.FLabel;
|
import forge.gui.toolbox.FLabel;
|
||||||
import forge.gui.toolbox.FList;
|
import forge.gui.toolbox.FList;
|
||||||
import forge.gui.toolbox.FScrollPane;
|
import forge.gui.toolbox.FScrollPane;
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.gui.toolbox.FSkin;
|
||||||
import forge.gui.toolbox.FTextField;
|
import forge.gui.toolbox.FTextField;
|
||||||
|
import forge.gui.toolbox.special.FDeckChooser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assembles Swing components of "build gauntlet" submenu singleton.
|
* Assembles Swing components of "build gauntlet" submenu singleton.
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ import forge.gui.home.EMenuGroup;
|
|||||||
import forge.gui.home.IVSubmenu;
|
import forge.gui.home.IVSubmenu;
|
||||||
import forge.gui.home.StartButton;
|
import forge.gui.home.StartButton;
|
||||||
import forge.gui.home.VHomeUI;
|
import forge.gui.home.VHomeUI;
|
||||||
import forge.gui.toolbox.FDeckChooser;
|
|
||||||
import forge.gui.toolbox.FLabel;
|
import forge.gui.toolbox.FLabel;
|
||||||
import forge.gui.toolbox.FScrollPane;
|
import forge.gui.toolbox.FScrollPane;
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.gui.toolbox.FSkin;
|
||||||
|
import forge.gui.toolbox.special.FDeckChooser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assembles Swing components of "build gauntlet" submenu singleton.
|
* Assembles Swing components of "build gauntlet" submenu singleton.
|
||||||
|
|||||||
@@ -19,10 +19,10 @@ import forge.gui.home.IVSubmenu;
|
|||||||
import forge.gui.home.StartButton;
|
import forge.gui.home.StartButton;
|
||||||
import forge.gui.home.VHomeUI;
|
import forge.gui.home.VHomeUI;
|
||||||
import forge.gui.toolbox.FCheckBox;
|
import forge.gui.toolbox.FCheckBox;
|
||||||
import forge.gui.toolbox.FDeckChooser;
|
|
||||||
import forge.gui.toolbox.FLabel;
|
import forge.gui.toolbox.FLabel;
|
||||||
import forge.gui.toolbox.FPanel;
|
import forge.gui.toolbox.FPanel;
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.gui.toolbox.FSkin;
|
||||||
|
import forge.gui.toolbox.special.FDeckChooser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assembles Swing components of "quick gauntlet" submenu singleton.
|
* Assembles Swing components of "quick gauntlet" submenu singleton.
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ import forge.gui.framework.EDocID;
|
|||||||
import forge.gui.home.EMenuGroup;
|
import forge.gui.home.EMenuGroup;
|
||||||
import forge.gui.home.IVSubmenu;
|
import forge.gui.home.IVSubmenu;
|
||||||
import forge.gui.home.VHomeUI;
|
import forge.gui.home.VHomeUI;
|
||||||
import forge.gui.toolbox.DeckLister;
|
|
||||||
import forge.gui.toolbox.FLabel;
|
import forge.gui.toolbox.FLabel;
|
||||||
import forge.gui.toolbox.FScrollPane;
|
import forge.gui.toolbox.FScrollPane;
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.gui.toolbox.FSkin;
|
||||||
|
import forge.gui.toolbox.special.DeckLister;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assembles Swing components of quest decks submenu singleton.
|
* Assembles Swing components of quest decks submenu singleton.
|
||||||
@@ -90,7 +90,7 @@ public enum VSubmenuQuestDecks implements IVSubmenu<CSubmenuQuestDecks> {
|
|||||||
return EDocID.HOME_QUESTDECKS;
|
return EDocID.HOME_QUESTDECKS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return {@link forge.gui.toolbox.DeckLister} */
|
/** @return {@link forge.gui.toolbox.special.DeckLister} */
|
||||||
public DeckLister getLstDecks() {
|
public DeckLister getLstDecks() {
|
||||||
return this.lstDecks;
|
return this.lstDecks;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ import forge.gui.home.LblHeader;
|
|||||||
import forge.gui.home.StartButton;
|
import forge.gui.home.StartButton;
|
||||||
import forge.gui.home.VHomeUI;
|
import forge.gui.home.VHomeUI;
|
||||||
import forge.gui.toolbox.FCheckBox;
|
import forge.gui.toolbox.FCheckBox;
|
||||||
import forge.gui.toolbox.FDeckChooser;
|
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.gui.toolbox.FSkin;
|
||||||
|
import forge.gui.toolbox.special.FDeckChooser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assembles Swing components of constructed submenu singleton.
|
* Assembles Swing components of constructed submenu singleton.
|
||||||
|
|||||||
@@ -20,13 +20,13 @@ import forge.gui.home.IVSubmenu;
|
|||||||
import forge.gui.home.LblHeader;
|
import forge.gui.home.LblHeader;
|
||||||
import forge.gui.home.StartButton;
|
import forge.gui.home.StartButton;
|
||||||
import forge.gui.home.VHomeUI;
|
import forge.gui.home.VHomeUI;
|
||||||
import forge.gui.toolbox.DeckLister;
|
|
||||||
import forge.gui.toolbox.FLabel;
|
import forge.gui.toolbox.FLabel;
|
||||||
import forge.gui.toolbox.FList;
|
import forge.gui.toolbox.FList;
|
||||||
import forge.gui.toolbox.FRadioButton;
|
import forge.gui.toolbox.FRadioButton;
|
||||||
import forge.gui.toolbox.FScrollPane;
|
import forge.gui.toolbox.FScrollPane;
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.gui.toolbox.FSkin;
|
||||||
import forge.gui.toolbox.JXButtonPanel;
|
import forge.gui.toolbox.JXButtonPanel;
|
||||||
|
import forge.gui.toolbox.special.DeckLister;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assembles Swing components of draft submenu singleton.
|
* Assembles Swing components of draft submenu singleton.
|
||||||
@@ -131,7 +131,7 @@ public enum VSubmenuDraft implements IVSubmenu<CSubmenuDraft> {
|
|||||||
return radSingle.isSelected();
|
return radSingle.isSelected();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return {@link forge.gui.toolbox.DeckLister} */
|
/** @return {@link forge.gui.toolbox.special.DeckLister} */
|
||||||
public DeckLister getLstDecks() {
|
public DeckLister getLstDecks() {
|
||||||
return lstDecks;
|
return lstDecks;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,12 +25,12 @@ import forge.gui.home.IVSubmenu;
|
|||||||
import forge.gui.home.LblHeader;
|
import forge.gui.home.LblHeader;
|
||||||
import forge.gui.home.StartButton;
|
import forge.gui.home.StartButton;
|
||||||
import forge.gui.home.VHomeUI;
|
import forge.gui.home.VHomeUI;
|
||||||
import forge.gui.toolbox.DeckLister;
|
|
||||||
import forge.gui.toolbox.FButton;
|
import forge.gui.toolbox.FButton;
|
||||||
import forge.gui.toolbox.FLabel;
|
import forge.gui.toolbox.FLabel;
|
||||||
import forge.gui.toolbox.FPanel;
|
import forge.gui.toolbox.FPanel;
|
||||||
import forge.gui.toolbox.FScrollPane;
|
import forge.gui.toolbox.FScrollPane;
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.gui.toolbox.FSkin;
|
||||||
|
import forge.gui.toolbox.special.DeckLister;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assembles Swing components of sealed submenu singleton.
|
* Assembles Swing components of sealed submenu singleton.
|
||||||
@@ -143,7 +143,7 @@ public enum VSubmenuSealed implements IVSubmenu<CSubmenuSealed> {
|
|||||||
return this.btnStart;
|
return this.btnStart;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return {@link forge.gui.toolbox.DeckLister} */
|
/** @return {@link forge.gui.toolbox.special.DeckLister} */
|
||||||
public DeckLister getLstDecks() {
|
public DeckLister getLstDecks() {
|
||||||
return lstDecks;
|
return lstDecks;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ import forge.gui.deckeditor.CDeckEditorUI;
|
|||||||
import forge.gui.deckeditor.controllers.CEditorVariant;
|
import forge.gui.deckeditor.controllers.CEditorVariant;
|
||||||
import forge.gui.framework.EDocID;
|
import forge.gui.framework.EDocID;
|
||||||
import forge.gui.framework.ICDoc;
|
import forge.gui.framework.ICDoc;
|
||||||
import forge.gui.toolbox.FDeckChooser;
|
|
||||||
import forge.gui.toolbox.FList;
|
import forge.gui.toolbox.FList;
|
||||||
|
import forge.gui.toolbox.special.FDeckChooser;
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ import forge.gui.deckeditor.CDeckEditorUI;
|
|||||||
import forge.gui.deckeditor.controllers.CEditorVariant;
|
import forge.gui.deckeditor.controllers.CEditorVariant;
|
||||||
import forge.gui.framework.EDocID;
|
import forge.gui.framework.EDocID;
|
||||||
import forge.gui.framework.ICDoc;
|
import forge.gui.framework.ICDoc;
|
||||||
import forge.gui.toolbox.FDeckChooser;
|
|
||||||
import forge.gui.toolbox.FList;
|
import forge.gui.toolbox.FList;
|
||||||
|
import forge.gui.toolbox.special.FDeckChooser;
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import forge.game.player.LobbyPlayer;
|
|||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.framework.ICDoc;
|
import forge.gui.framework.ICDoc;
|
||||||
import forge.gui.toolbox.FDeckChooser;
|
import forge.gui.toolbox.special.FDeckChooser;
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import forge.gui.home.LblHeader;
|
|||||||
import forge.gui.home.StartButton;
|
import forge.gui.home.StartButton;
|
||||||
import forge.gui.home.VHomeUI;
|
import forge.gui.home.VHomeUI;
|
||||||
import forge.gui.toolbox.FCheckBox;
|
import forge.gui.toolbox.FCheckBox;
|
||||||
import forge.gui.toolbox.FDeckChooser;
|
|
||||||
import forge.gui.toolbox.FLabel;
|
import forge.gui.toolbox.FLabel;
|
||||||
import forge.gui.toolbox.FList;
|
import forge.gui.toolbox.FList;
|
||||||
import forge.gui.toolbox.FPanel;
|
import forge.gui.toolbox.FPanel;
|
||||||
@@ -33,6 +32,7 @@ import forge.gui.toolbox.FScrollPane;
|
|||||||
import forge.gui.toolbox.FSkin;
|
import forge.gui.toolbox.FSkin;
|
||||||
import forge.gui.toolbox.FTabbedPane;
|
import forge.gui.toolbox.FTabbedPane;
|
||||||
import forge.gui.toolbox.JXButtonPanel;
|
import forge.gui.toolbox.JXButtonPanel;
|
||||||
|
import forge.gui.toolbox.special.FDeckChooser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assembles Swing components of constructed submenu singleton.
|
* Assembles Swing components of constructed submenu singleton.
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import forge.gui.home.LblHeader;
|
|||||||
import forge.gui.home.StartButton;
|
import forge.gui.home.StartButton;
|
||||||
import forge.gui.home.VHomeUI;
|
import forge.gui.home.VHomeUI;
|
||||||
import forge.gui.toolbox.FCheckBox;
|
import forge.gui.toolbox.FCheckBox;
|
||||||
import forge.gui.toolbox.FDeckChooser;
|
|
||||||
import forge.gui.toolbox.FLabel;
|
import forge.gui.toolbox.FLabel;
|
||||||
import forge.gui.toolbox.FList;
|
import forge.gui.toolbox.FList;
|
||||||
import forge.gui.toolbox.FPanel;
|
import forge.gui.toolbox.FPanel;
|
||||||
@@ -32,6 +31,7 @@ import forge.gui.toolbox.FRadioButton;
|
|||||||
import forge.gui.toolbox.FScrollPane;
|
import forge.gui.toolbox.FScrollPane;
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.gui.toolbox.FSkin;
|
||||||
import forge.gui.toolbox.FTabbedPane;
|
import forge.gui.toolbox.FTabbedPane;
|
||||||
|
import forge.gui.toolbox.special.FDeckChooser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assembles Swing components of constructed submenu singleton.
|
* Assembles Swing components of constructed submenu singleton.
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ import forge.gui.home.LblHeader;
|
|||||||
import forge.gui.home.StartButton;
|
import forge.gui.home.StartButton;
|
||||||
import forge.gui.home.VHomeUI;
|
import forge.gui.home.VHomeUI;
|
||||||
import forge.gui.toolbox.FCheckBox;
|
import forge.gui.toolbox.FCheckBox;
|
||||||
import forge.gui.toolbox.FDeckChooser;
|
|
||||||
import forge.gui.toolbox.FLabel;
|
import forge.gui.toolbox.FLabel;
|
||||||
import forge.gui.toolbox.FList;
|
import forge.gui.toolbox.FList;
|
||||||
import forge.gui.toolbox.FPanel;
|
import forge.gui.toolbox.FPanel;
|
||||||
@@ -36,6 +35,7 @@ import forge.gui.toolbox.FRadioButton;
|
|||||||
import forge.gui.toolbox.FScrollPane;
|
import forge.gui.toolbox.FScrollPane;
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.gui.toolbox.FSkin;
|
||||||
import forge.gui.toolbox.FTabbedPane;
|
import forge.gui.toolbox.FTabbedPane;
|
||||||
|
import forge.gui.toolbox.special.FDeckChooser;
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
import forge.item.IPaperCard;
|
import forge.item.IPaperCard;
|
||||||
|
|
||||||
|
|||||||
@@ -45,10 +45,10 @@ import forge.gui.match.controllers.CMessage;
|
|||||||
import forge.gui.match.controllers.CPicture;
|
import forge.gui.match.controllers.CPicture;
|
||||||
import forge.gui.match.nonsingleton.VCommand;
|
import forge.gui.match.nonsingleton.VCommand;
|
||||||
import forge.gui.match.nonsingleton.VField;
|
import forge.gui.match.nonsingleton.VField;
|
||||||
import forge.gui.match.nonsingleton.VField.PhaseLabel;
|
|
||||||
import forge.gui.match.nonsingleton.VHand;
|
import forge.gui.match.nonsingleton.VHand;
|
||||||
import forge.gui.match.views.VPlayers;
|
import forge.gui.match.views.VPlayers;
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.gui.toolbox.FSkin;
|
||||||
|
import forge.gui.toolbox.special.PhaseLabel;
|
||||||
import forge.item.InventoryItem;
|
import forge.item.InventoryItem;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
|
|
||||||
@@ -179,7 +179,7 @@ public enum CMatchUI {
|
|||||||
// (not just one).
|
// (not just one).
|
||||||
public void resetAllPhaseButtons() {
|
public void resetAllPhaseButtons() {
|
||||||
for (final VField v : view.getFieldViews()) {
|
for (final VField v : view.getFieldViews()) {
|
||||||
v.resetPhaseButtons();
|
v.getPhaseInidicator().resetPhaseButtons();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,7 +237,7 @@ public enum CMatchUI {
|
|||||||
*/
|
*/
|
||||||
public final boolean stopAtPhase(final Player turn, final PhaseType phase) {
|
public final boolean stopAtPhase(final Player turn, final PhaseType phase) {
|
||||||
VField vf = getFieldViewFor(turn);
|
VField vf = getFieldViewFor(turn);
|
||||||
PhaseLabel label = vf.getLabelFor(phase);
|
PhaseLabel label = vf.getPhaseInidicator().getLabelFor(phase);
|
||||||
return label == null || label.getEnabled();
|
return label == null || label.getEnabled();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,9 +18,7 @@
|
|||||||
package forge.gui.match.nonsingleton;
|
package forge.gui.match.nonsingleton;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.awt.Graphics;
|
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -40,7 +38,6 @@ import net.miginfocom.swing.MigLayout;
|
|||||||
import forge.card.MagicColor;
|
import forge.card.MagicColor;
|
||||||
import forge.card.cardfactory.CardFactoryUtil;
|
import forge.card.cardfactory.CardFactoryUtil;
|
||||||
import forge.card.mana.ManaPool;
|
import forge.card.mana.ManaPool;
|
||||||
import forge.game.phase.PhaseType;
|
|
||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
@@ -52,6 +49,7 @@ import forge.gui.match.controllers.CPlayers;
|
|||||||
import forge.gui.toolbox.FLabel;
|
import forge.gui.toolbox.FLabel;
|
||||||
import forge.gui.toolbox.FSkin;
|
import forge.gui.toolbox.FSkin;
|
||||||
import forge.gui.toolbox.FSkin.SkinProp;
|
import forge.gui.toolbox.FSkin.SkinProp;
|
||||||
|
import forge.gui.toolbox.special.PhaseIndicator;
|
||||||
import forge.view.arcane.PlayArea;
|
import forge.view.arcane.PlayArea;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -73,14 +71,12 @@ public class VField implements IVDoc<CField> {
|
|||||||
private final JScrollPane scroller = new JScrollPane();
|
private final JScrollPane scroller = new JScrollPane();
|
||||||
private final PlayArea tabletop;
|
private final PlayArea tabletop;
|
||||||
private final JPanel avatarArea = new JPanel();
|
private final JPanel avatarArea = new JPanel();
|
||||||
private final JPanel phaseArea = new JPanel();
|
|
||||||
private final JPanel pnlDetails = new JPanel();
|
private final JPanel pnlDetails = new JPanel();
|
||||||
|
|
||||||
// Avatar area
|
// Avatar area
|
||||||
private final FLabel lblAvatar = new FLabel.Builder().fontAlign(SwingConstants.CENTER)
|
private final FLabel lblAvatar = new FLabel.Builder().fontAlign(SwingConstants.CENTER).iconScaleFactor(1.0f).build();
|
||||||
.iconScaleFactor(1.0f).build();
|
private final FLabel lblLife = new FLabel.Builder().fontAlign(SwingConstants.CENTER).fontStyle(Font.BOLD).build();
|
||||||
private final FLabel lblLife = new FLabel.Builder().fontAlign(SwingConstants.CENTER)
|
|
||||||
.fontStyle(Font.BOLD).build();
|
|
||||||
|
|
||||||
// Info labels
|
// Info labels
|
||||||
private FLabel lblHand = getBuiltFLabel(FSkin.ZoneImages.ICO_HAND, "99", "Cards in hand");
|
private FLabel lblHand = getBuiltFLabel(FSkin.ZoneImages.ICO_HAND, "99", "Cards in hand");
|
||||||
@@ -91,19 +87,7 @@ public class VField implements IVDoc<CField> {
|
|||||||
private FLabel lblPoison = getBuiltFLabel(FSkin.ZoneImages.ICO_POISON, "99", "Poison counters");
|
private FLabel lblPoison = getBuiltFLabel(FSkin.ZoneImages.ICO_POISON, "99", "Poison counters");
|
||||||
private final List<Pair<FLabel, Byte>> manaLabels = new ArrayList<Pair<FLabel,Byte>>();
|
private final List<Pair<FLabel, Byte>> manaLabels = new ArrayList<Pair<FLabel,Byte>>();
|
||||||
|
|
||||||
// Phase labels
|
private final PhaseIndicator phaseInidicator = new PhaseIndicator();
|
||||||
private PhaseLabel lblUpkeep = new PhaseLabel("UP");
|
|
||||||
private PhaseLabel lblDraw = new PhaseLabel("DR");
|
|
||||||
private PhaseLabel lblMain1 = new PhaseLabel("M1");
|
|
||||||
private PhaseLabel lblBeginCombat = new PhaseLabel("BC");
|
|
||||||
private PhaseLabel lblDeclareAttackers = new PhaseLabel("DA");
|
|
||||||
private PhaseLabel lblDeclareBlockers = new PhaseLabel("DB");
|
|
||||||
private PhaseLabel lblFirstStrike = new PhaseLabel("FS");
|
|
||||||
private PhaseLabel lblCombatDamage = new PhaseLabel("CD");
|
|
||||||
private PhaseLabel lblEndCombat = new PhaseLabel("EC");
|
|
||||||
private PhaseLabel lblMain2 = new PhaseLabel("M2");
|
|
||||||
private PhaseLabel lblEndTurn = new PhaseLabel("ET");
|
|
||||||
private PhaseLabel lblCleanup = new PhaseLabel("CL");
|
|
||||||
|
|
||||||
private final Border borderAvatarSimple = new LineBorder(new Color(0, 0, 0, 0), 1);
|
private final Border borderAvatarSimple = new LineBorder(new Color(0, 0, 0, 0), 1);
|
||||||
private final Border borderAvatarHover = new LineBorder(FSkin.getColor(FSkin.Colors.CLR_BORDERS), 1);
|
private final Border borderAvatarHover = new LineBorder(FSkin.getColor(FSkin.Colors.CLR_BORDERS), 1);
|
||||||
@@ -161,10 +145,6 @@ public class VField implements IVDoc<CField> {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
phaseArea.setOpaque(false);
|
|
||||||
phaseArea.setLayout(new MigLayout("insets 0 0 1% 0, gap 0, wrap"));
|
|
||||||
populatePhase();
|
|
||||||
|
|
||||||
tabletop.setBorder(new MatteBorder(0, 1, 0, 0,
|
tabletop.setBorder(new MatteBorder(0, 1, 0, 0,
|
||||||
FSkin.getColor(FSkin.Colors.CLR_BORDERS)));
|
FSkin.getColor(FSkin.Colors.CLR_BORDERS)));
|
||||||
tabletop.setOpaque(false);
|
tabletop.setOpaque(false);
|
||||||
@@ -190,7 +170,7 @@ public class VField implements IVDoc<CField> {
|
|||||||
pnl.setLayout(new MigLayout("insets 0, gap 0"));
|
pnl.setLayout(new MigLayout("insets 0, gap 0"));
|
||||||
|
|
||||||
pnl.add(avatarArea, "w 10%!, h 30%!");
|
pnl.add(avatarArea, "w 10%!, h 30%!");
|
||||||
pnl.add(phaseArea, "w 5%!, h 100%!, span 1 2");
|
pnl.add(phaseInidicator, "w 5%!, h 100%!, span 1 2");
|
||||||
pnl.add(scroller, "w 85%!, h 100%!, span 1 2, wrap");
|
pnl.add(scroller, "w 85%!, h 100%!, span 1 2, wrap");
|
||||||
pnl.add(pnlDetails, "w 10%!, h 69%!, gapleft 1px");
|
pnl.add(pnlDetails, "w 10%!, h 69%!, gapleft 1px");
|
||||||
}
|
}
|
||||||
@@ -237,47 +217,7 @@ public class VField implements IVDoc<CField> {
|
|||||||
|
|
||||||
//========= Populate helper methods
|
//========= Populate helper methods
|
||||||
|
|
||||||
/** Adds phase indicator labels to phase area JPanel container. */
|
|
||||||
private void populatePhase() {
|
|
||||||
// Constraints string, set once
|
|
||||||
final String constraints = "w 94%!, h 7.2%, gaptop 1%, gapleft 3%";
|
|
||||||
|
|
||||||
VField.this.lblUpkeep.setToolTipText("<html>Phase: Upkeep<br>Click to toggle.</html>");
|
|
||||||
phaseArea.add(VField.this.lblUpkeep, constraints);
|
|
||||||
|
|
||||||
VField.this.lblDraw.setToolTipText("<html>Phase: Draw<br>Click to toggle.</html>");
|
|
||||||
phaseArea.add(VField.this.lblDraw, constraints);
|
|
||||||
|
|
||||||
VField.this.lblMain1.setToolTipText("<html>Phase: Main 1<br>Click to toggle.</html>");
|
|
||||||
phaseArea.add(VField.this.lblMain1, constraints);
|
|
||||||
|
|
||||||
VField.this.lblBeginCombat.setToolTipText("<html>Phase: Begin Combat<br>Click to toggle.</html>");
|
|
||||||
phaseArea.add(VField.this.lblBeginCombat, constraints);
|
|
||||||
|
|
||||||
VField.this.lblDeclareAttackers.setToolTipText("<html>Phase: Declare Attackers<br>Click to toggle.</html>");
|
|
||||||
phaseArea.add(VField.this.lblDeclareAttackers, constraints);
|
|
||||||
|
|
||||||
VField.this.lblDeclareBlockers.setToolTipText("<html>Phase: Declare Blockers<br>Click to toggle.</html>");
|
|
||||||
phaseArea.add(VField.this.lblDeclareBlockers, constraints);
|
|
||||||
|
|
||||||
VField.this.lblFirstStrike.setToolTipText("<html>Phase: First Strike Damage<br>Click to toggle.</html>");
|
|
||||||
phaseArea.add(VField.this.lblFirstStrike, constraints);
|
|
||||||
|
|
||||||
VField.this.lblCombatDamage.setToolTipText("<html>Phase: Combat Damage<br>Click to toggle.</html>");
|
|
||||||
phaseArea.add(VField.this.lblCombatDamage, constraints);
|
|
||||||
|
|
||||||
VField.this.lblEndCombat.setToolTipText("<html>Phase: End Combat<br>Click to toggle.</html>");
|
|
||||||
phaseArea.add(VField.this.lblEndCombat, constraints);
|
|
||||||
|
|
||||||
VField.this.lblMain2.setToolTipText("<html>Phase: Main 2<br>Click to toggle.</html>");
|
|
||||||
phaseArea.add(VField.this.lblMain2, constraints);
|
|
||||||
|
|
||||||
VField.this.lblEndTurn.setToolTipText("<html>Phase: End Turn<br>Click to toggle.</html>");
|
|
||||||
phaseArea.add(VField.this.lblEndTurn, constraints);
|
|
||||||
|
|
||||||
VField.this.lblCleanup.setToolTipText("<html>Phase: Cleanup<br>Click to toggle.</html>");
|
|
||||||
phaseArea.add(VField.this.lblCleanup, constraints);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Adds various labels to pool area JPanel container. */
|
/** Adds various labels to pool area JPanel container. */
|
||||||
private void populateDetails() {
|
private void populateDetails() {
|
||||||
@@ -458,242 +398,13 @@ public class VField implements IVDoc<CField> {
|
|||||||
return this.lblPoison;
|
return this.lblPoison;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Phases
|
|
||||||
/** @return {@link javax.swing.JLabel} */
|
|
||||||
public PhaseLabel getLblUpkeep() {
|
|
||||||
return this.lblUpkeep;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @return {@link javax.swing.JLabel} */
|
|
||||||
public PhaseLabel getLblDraw() {
|
|
||||||
return this.lblDraw;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @return {@link javax.swing.JLabel} */
|
|
||||||
public PhaseLabel getLblMain1() {
|
|
||||||
return this.lblMain1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @return {@link javax.swing.JLabel} */
|
|
||||||
public PhaseLabel getLblBeginCombat() {
|
|
||||||
return this.lblBeginCombat;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @return {@link javax.swing.JLabel} */
|
|
||||||
public PhaseLabel getLblDeclareAttackers() {
|
|
||||||
return this.lblDeclareAttackers;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @return {@link javax.swing.JLabel} */
|
|
||||||
public PhaseLabel getLblDeclareBlockers() {
|
|
||||||
return this.lblDeclareBlockers;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @return {@link javax.swing.JLabel} */
|
|
||||||
public PhaseLabel getLblCombatDamage() {
|
|
||||||
return this.lblCombatDamage;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @return {@link javax.swing.JLabel} */
|
|
||||||
public PhaseLabel getLblFirstStrike() {
|
|
||||||
return this.lblFirstStrike;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @return {@link javax.swing.JLabel} */
|
|
||||||
public PhaseLabel getLblEndCombat() {
|
|
||||||
return this.lblEndCombat;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @return {@link javax.swing.JLabel} */
|
|
||||||
public PhaseLabel getLblMain2() {
|
|
||||||
return this.lblMain2;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @return {@link javax.swing.JLabel} */
|
|
||||||
public PhaseLabel getLblEndTurn() {
|
|
||||||
return this.lblEndTurn;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @return {@link javax.swing.JLabel} */
|
|
||||||
public PhaseLabel getLblCleanup() {
|
|
||||||
return this.lblCleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
//========== Custom class handling
|
|
||||||
|
|
||||||
public PhaseLabel getLabelFor(final PhaseType s) {
|
|
||||||
switch (s) {
|
|
||||||
case UPKEEP:
|
|
||||||
return this.getLblUpkeep();
|
|
||||||
case DRAW:
|
|
||||||
return this.getLblDraw();
|
|
||||||
case MAIN1:
|
|
||||||
return this.getLblMain1();
|
|
||||||
case COMBAT_BEGIN:
|
|
||||||
return this.getLblBeginCombat();
|
|
||||||
case COMBAT_DECLARE_ATTACKERS:
|
|
||||||
return this.getLblDeclareAttackers();
|
|
||||||
case COMBAT_DECLARE_BLOCKERS:
|
|
||||||
return this.getLblDeclareBlockers();
|
|
||||||
case COMBAT_DAMAGE:
|
|
||||||
return this.getLblCombatDamage();
|
|
||||||
case COMBAT_FIRST_STRIKE_DAMAGE:
|
|
||||||
return this.getLblFirstStrike();
|
|
||||||
case COMBAT_END:
|
|
||||||
return this.getLblEndCombat();
|
|
||||||
case MAIN2:
|
|
||||||
return this.getLblMain2();
|
|
||||||
case END_OF_TURN:
|
|
||||||
return this.getLblEndTurn();
|
|
||||||
case CLEANUP:
|
|
||||||
return this.getLblCleanup();
|
|
||||||
default:
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resets all phase buttons to "inactive", so highlight won't be drawn on
|
* TODO: Write javadoc for this method.
|
||||||
* them. "Enabled" state remains the same.
|
* @return
|
||||||
*/
|
*/
|
||||||
public void resetPhaseButtons() {
|
public PhaseIndicator getPhaseInidicator() {
|
||||||
getLblUpkeep().setActive(false);
|
return phaseInidicator;
|
||||||
getLblDraw().setActive(false);
|
|
||||||
getLblMain1().setActive(false);
|
|
||||||
getLblBeginCombat().setActive(false);
|
|
||||||
getLblDeclareAttackers().setActive(false);
|
|
||||||
getLblDeclareBlockers().setActive(false);
|
|
||||||
getLblFirstStrike().setActive(false);
|
|
||||||
getLblCombatDamage().setActive(false);
|
|
||||||
getLblEndCombat().setActive(false);
|
|
||||||
getLblMain2().setActive(false);
|
|
||||||
getLblEndTurn().setActive(false);
|
|
||||||
getLblCleanup().setActive(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Shows phase labels, handles repainting and on/off states. A PhaseLabel
|
|
||||||
* has "skip" and "active" states, meaning "this phase is (not) skipped" and
|
|
||||||
* "this is the current phase".
|
|
||||||
*/
|
|
||||||
@SuppressWarnings("serial")
|
|
||||||
public class PhaseLabel extends JLabel {
|
|
||||||
private boolean enabled = true;
|
|
||||||
private boolean active = false;
|
|
||||||
private boolean hover = false;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shows phase labels, handles repainting and on/off states. A
|
|
||||||
* PhaseLabel has "skip" and "active" states, meaning
|
|
||||||
* "this phase is (not) skipped" and "this is the current phase".
|
|
||||||
*
|
|
||||||
* @param txt
|
|
||||||
*   Label text
|
|
||||||
*/
|
|
||||||
public PhaseLabel(final String txt) {
|
|
||||||
super(txt);
|
|
||||||
this.setHorizontalTextPosition(SwingConstants.CENTER);
|
|
||||||
this.setHorizontalAlignment(SwingConstants.CENTER);
|
|
||||||
|
|
||||||
this.addMouseListener(new MouseAdapter() {
|
|
||||||
@Override
|
|
||||||
public void mousePressed(final MouseEvent e) {
|
|
||||||
if (PhaseLabel.this.enabled) {
|
|
||||||
PhaseLabel.this.enabled = false;
|
|
||||||
} else {
|
|
||||||
PhaseLabel.this.enabled = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void mouseEntered(final MouseEvent e) {
|
|
||||||
PhaseLabel.this.hover = true;
|
|
||||||
PhaseLabel.this.repaintOnlyThisLabel();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void mouseExited(final MouseEvent e) {
|
|
||||||
PhaseLabel.this.hover = false;
|
|
||||||
PhaseLabel.this.repaintOnlyThisLabel();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determines whether play pauses at this phase or not.
|
|
||||||
*
|
|
||||||
* @param b
|
|
||||||
*   boolean, true if play pauses
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void setEnabled(final boolean b) {
|
|
||||||
this.enabled = b;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determines whether play pauses at this phase or not.
|
|
||||||
*
|
|
||||||
* @return boolean
|
|
||||||
*/
|
|
||||||
public boolean getEnabled() {
|
|
||||||
return this.enabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes this phase the current phase (or not).
|
|
||||||
*
|
|
||||||
* @param b
|
|
||||||
*   boolean, true if phase is current
|
|
||||||
*/
|
|
||||||
public void setActive(final boolean b) {
|
|
||||||
this.active = b;
|
|
||||||
this.repaintOnlyThisLabel();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determines if this phase is the current phase (or not).
|
|
||||||
*
|
|
||||||
* @return boolean
|
|
||||||
*/
|
|
||||||
public boolean getActive() {
|
|
||||||
return this.active;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Prevent label from repainting the whole screen. */
|
|
||||||
public void repaintOnlyThisLabel() {
|
|
||||||
final Dimension d = PhaseLabel.this.getSize();
|
|
||||||
repaint(0, 0, d.width, d.height);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see javax.swing.JComponent#paintComponent(java.awt.Graphics)
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void paintComponent(final Graphics g) {
|
|
||||||
final int w = this.getWidth();
|
|
||||||
final int h = this.getHeight();
|
|
||||||
Color c;
|
|
||||||
|
|
||||||
// Set color according to skip or active or hover state of label
|
|
||||||
if (this.hover) {
|
|
||||||
c = FSkin.getColor(FSkin.Colors.CLR_HOVER);
|
|
||||||
} else if (this.active && this.enabled) {
|
|
||||||
c = FSkin.getColor(FSkin.Colors.CLR_PHASE_ACTIVE_ENABLED);
|
|
||||||
} else if (!this.active && this.enabled) {
|
|
||||||
c = FSkin.getColor(FSkin.Colors.CLR_PHASE_INACTIVE_ENABLED);
|
|
||||||
} else if (this.active && !this.enabled) {
|
|
||||||
c = FSkin.getColor(FSkin.Colors.CLR_PHASE_ACTIVE_DISABLED);
|
|
||||||
} else {
|
|
||||||
c = FSkin.getColor(FSkin.Colors.CLR_PHASE_INACTIVE_DISABLED);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Center vertically and horizontally. Show border if active.
|
|
||||||
g.setColor(c);
|
|
||||||
g.fillRoundRect(1, 1, w - 2, h - 2, 5, 5);
|
|
||||||
super.paintComponent(g);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.gui.toolbox;
|
package forge.gui.toolbox.special;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -17,7 +17,7 @@ ram is free software: you can redistribute it and/or modify
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package forge.gui.toolbox;
|
package forge.gui.toolbox.special;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
@@ -50,6 +50,8 @@ import forge.gui.deckeditor.controllers.CEditorConstructed;
|
|||||||
import forge.gui.deckeditor.controllers.CEditorLimited;
|
import forge.gui.deckeditor.controllers.CEditorLimited;
|
||||||
import forge.gui.deckeditor.controllers.CEditorQuest;
|
import forge.gui.deckeditor.controllers.CEditorQuest;
|
||||||
import forge.gui.framework.ILocalRepaint;
|
import forge.gui.framework.ILocalRepaint;
|
||||||
|
import forge.gui.toolbox.FLabel;
|
||||||
|
import forge.gui.toolbox.FSkin;
|
||||||
import forge.item.InventoryItem;
|
import forge.item.InventoryItem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package forge.gui.toolbox;
|
package forge.gui.toolbox.special;
|
||||||
|
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
@@ -25,6 +25,11 @@ import forge.deck.Deck;
|
|||||||
import forge.deck.DeckgenUtil;
|
import forge.deck.DeckgenUtil;
|
||||||
import forge.deck.generate.GenerateThemeDeck;
|
import forge.deck.generate.GenerateThemeDeck;
|
||||||
import forge.game.RegisteredPlayer;
|
import forge.game.RegisteredPlayer;
|
||||||
|
import forge.gui.toolbox.FLabel;
|
||||||
|
import forge.gui.toolbox.FList;
|
||||||
|
import forge.gui.toolbox.FRadioButton;
|
||||||
|
import forge.gui.toolbox.FScrollPane;
|
||||||
|
import forge.gui.toolbox.JXButtonPanel;
|
||||||
import forge.item.PreconDeck;
|
import forge.item.PreconDeck;
|
||||||
import forge.quest.QuestController;
|
import forge.quest.QuestController;
|
||||||
import forge.quest.QuestEvent;
|
import forge.quest.QuestEvent;
|
||||||
191
src/main/java/forge/gui/toolbox/special/PhaseIndicator.java
Normal file
191
src/main/java/forge/gui/toolbox/special/PhaseIndicator.java
Normal file
@@ -0,0 +1,191 @@
|
|||||||
|
package forge.gui.toolbox.special;
|
||||||
|
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
|
||||||
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
|
||||||
|
import forge.game.phase.PhaseType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO: Write javadoc for this type.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class PhaseIndicator extends JPanel {
|
||||||
|
private static final long serialVersionUID = -863730022835609252L;
|
||||||
|
|
||||||
|
// Phase labels
|
||||||
|
private PhaseLabel lblUpkeep = new PhaseLabel("UP");
|
||||||
|
private PhaseLabel lblDraw = new PhaseLabel("DR");
|
||||||
|
private PhaseLabel lblMain1 = new PhaseLabel("M1");
|
||||||
|
private PhaseLabel lblBeginCombat = new PhaseLabel("BC");
|
||||||
|
private PhaseLabel lblDeclareAttackers = new PhaseLabel("DA");
|
||||||
|
private PhaseLabel lblDeclareBlockers = new PhaseLabel("DB");
|
||||||
|
private PhaseLabel lblFirstStrike = new PhaseLabel("FS");
|
||||||
|
private PhaseLabel lblCombatDamage = new PhaseLabel("CD");
|
||||||
|
private PhaseLabel lblEndCombat = new PhaseLabel("EC");
|
||||||
|
private PhaseLabel lblMain2 = new PhaseLabel("M2");
|
||||||
|
private PhaseLabel lblEndTurn = new PhaseLabel("ET");
|
||||||
|
private PhaseLabel lblCleanup = new PhaseLabel("CL");
|
||||||
|
|
||||||
|
|
||||||
|
public PhaseIndicator() {
|
||||||
|
this.setOpaque(false);
|
||||||
|
this.setLayout(new MigLayout("insets 0 0 1% 0, gap 0, wrap"));
|
||||||
|
populatePhase();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Adds phase indicator labels to phase area JPanel container. */
|
||||||
|
private void populatePhase() {
|
||||||
|
// Constraints string, set once
|
||||||
|
final String constraints = "w 94%!, h 7.2%, gaptop 1%, gapleft 3%";
|
||||||
|
|
||||||
|
lblUpkeep.setToolTipText("<html>Phase: Upkeep<br>Click to toggle.</html>");
|
||||||
|
this.add(lblUpkeep, constraints);
|
||||||
|
|
||||||
|
lblDraw.setToolTipText("<html>Phase: Draw<br>Click to toggle.</html>");
|
||||||
|
this.add(lblDraw, constraints);
|
||||||
|
|
||||||
|
lblMain1.setToolTipText("<html>Phase: Main 1<br>Click to toggle.</html>");
|
||||||
|
this.add(lblMain1, constraints);
|
||||||
|
|
||||||
|
lblBeginCombat.setToolTipText("<html>Phase: Begin Combat<br>Click to toggle.</html>");
|
||||||
|
this.add(lblBeginCombat, constraints);
|
||||||
|
|
||||||
|
lblDeclareAttackers.setToolTipText("<html>Phase: Declare Attackers<br>Click to toggle.</html>");
|
||||||
|
this.add(lblDeclareAttackers, constraints);
|
||||||
|
|
||||||
|
lblDeclareBlockers.setToolTipText("<html>Phase: Declare Blockers<br>Click to toggle.</html>");
|
||||||
|
this.add(lblDeclareBlockers, constraints);
|
||||||
|
|
||||||
|
lblFirstStrike.setToolTipText("<html>Phase: First Strike Damage<br>Click to toggle.</html>");
|
||||||
|
this.add(lblFirstStrike, constraints);
|
||||||
|
|
||||||
|
lblCombatDamage.setToolTipText("<html>Phase: Combat Damage<br>Click to toggle.</html>");
|
||||||
|
this.add(lblCombatDamage, constraints);
|
||||||
|
|
||||||
|
lblEndCombat.setToolTipText("<html>Phase: End Combat<br>Click to toggle.</html>");
|
||||||
|
this.add(lblEndCombat, constraints);
|
||||||
|
|
||||||
|
lblMain2.setToolTipText("<html>Phase: Main 2<br>Click to toggle.</html>");
|
||||||
|
this.add(lblMain2, constraints);
|
||||||
|
|
||||||
|
lblEndTurn.setToolTipText("<html>Phase: End Turn<br>Click to toggle.</html>");
|
||||||
|
this.add(lblEndTurn, constraints);
|
||||||
|
|
||||||
|
lblCleanup.setToolTipText("<html>Phase: Cleanup<br>Click to toggle.</html>");
|
||||||
|
this.add(lblCleanup, constraints);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//========== Custom class handling
|
||||||
|
public PhaseLabel getLabelFor(final PhaseType s) {
|
||||||
|
switch (s) {
|
||||||
|
case UPKEEP:
|
||||||
|
return this.getLblUpkeep();
|
||||||
|
case DRAW:
|
||||||
|
return this.getLblDraw();
|
||||||
|
case MAIN1:
|
||||||
|
return this.getLblMain1();
|
||||||
|
case COMBAT_BEGIN:
|
||||||
|
return this.getLblBeginCombat();
|
||||||
|
case COMBAT_DECLARE_ATTACKERS:
|
||||||
|
return this.getLblDeclareAttackers();
|
||||||
|
case COMBAT_DECLARE_BLOCKERS:
|
||||||
|
return this.getLblDeclareBlockers();
|
||||||
|
case COMBAT_DAMAGE:
|
||||||
|
return this.getLblCombatDamage();
|
||||||
|
case COMBAT_FIRST_STRIKE_DAMAGE:
|
||||||
|
return this.getLblFirstStrike();
|
||||||
|
case COMBAT_END:
|
||||||
|
return this.getLblEndCombat();
|
||||||
|
case MAIN2:
|
||||||
|
return this.getLblMain2();
|
||||||
|
case END_OF_TURN:
|
||||||
|
return this.getLblEndTurn();
|
||||||
|
case CLEANUP:
|
||||||
|
return this.getLblCleanup();
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resets all phase buttons to "inactive", so highlight won't be drawn on
|
||||||
|
* them. "Enabled" state remains the same.
|
||||||
|
*/
|
||||||
|
public void resetPhaseButtons() {
|
||||||
|
getLblUpkeep().setActive(false);
|
||||||
|
getLblDraw().setActive(false);
|
||||||
|
getLblMain1().setActive(false);
|
||||||
|
getLblBeginCombat().setActive(false);
|
||||||
|
getLblDeclareAttackers().setActive(false);
|
||||||
|
getLblDeclareBlockers().setActive(false);
|
||||||
|
getLblFirstStrike().setActive(false);
|
||||||
|
getLblCombatDamage().setActive(false);
|
||||||
|
getLblEndCombat().setActive(false);
|
||||||
|
getLblMain2().setActive(false);
|
||||||
|
getLblEndTurn().setActive(false);
|
||||||
|
getLblCleanup().setActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Phases
|
||||||
|
/** @return {@link javax.swing.JLabel} */
|
||||||
|
public PhaseLabel getLblUpkeep() {
|
||||||
|
return this.lblUpkeep;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {@link javax.swing.JLabel} */
|
||||||
|
public PhaseLabel getLblDraw() {
|
||||||
|
return this.lblDraw;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {@link javax.swing.JLabel} */
|
||||||
|
public PhaseLabel getLblMain1() {
|
||||||
|
return this.lblMain1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {@link javax.swing.JLabel} */
|
||||||
|
public PhaseLabel getLblBeginCombat() {
|
||||||
|
return this.lblBeginCombat;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {@link javax.swing.JLabel} */
|
||||||
|
public PhaseLabel getLblDeclareAttackers() {
|
||||||
|
return this.lblDeclareAttackers;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {@link javax.swing.JLabel} */
|
||||||
|
public PhaseLabel getLblDeclareBlockers() {
|
||||||
|
return this.lblDeclareBlockers;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {@link javax.swing.JLabel} */
|
||||||
|
public PhaseLabel getLblCombatDamage() {
|
||||||
|
return this.lblCombatDamage;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {@link javax.swing.JLabel} */
|
||||||
|
public PhaseLabel getLblFirstStrike() {
|
||||||
|
return this.lblFirstStrike;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {@link javax.swing.JLabel} */
|
||||||
|
public PhaseLabel getLblEndCombat() {
|
||||||
|
return this.lblEndCombat;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {@link javax.swing.JLabel} */
|
||||||
|
public PhaseLabel getLblMain2() {
|
||||||
|
return this.lblMain2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {@link javax.swing.JLabel} */
|
||||||
|
public PhaseLabel getLblEndTurn() {
|
||||||
|
return this.lblEndTurn;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {@link javax.swing.JLabel} */
|
||||||
|
public PhaseLabel getLblCleanup() {
|
||||||
|
return this.lblCleanup;
|
||||||
|
}
|
||||||
|
}
|
||||||
138
src/main/java/forge/gui/toolbox/special/PhaseLabel.java
Normal file
138
src/main/java/forge/gui/toolbox/special/PhaseLabel.java
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
package forge.gui.toolbox.special;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.SwingConstants;
|
||||||
|
|
||||||
|
import forge.gui.toolbox.FSkin;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shows phase labels, handles repainting and on/off states. A PhaseLabel
|
||||||
|
* has "skip" and "active" states, meaning "this phase is (not) skipped" and
|
||||||
|
* "this is the current phase".
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("serial")
|
||||||
|
public class PhaseLabel extends JLabel {
|
||||||
|
private boolean enabled = true;
|
||||||
|
private boolean active = false;
|
||||||
|
private boolean hover = false;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shows phase labels, handles repainting and on/off states. A
|
||||||
|
* PhaseLabel has "skip" and "active" states, meaning
|
||||||
|
* "this phase is (not) skipped" and "this is the current phase".
|
||||||
|
*
|
||||||
|
* @param txt
|
||||||
|
*   Label text
|
||||||
|
*/
|
||||||
|
public PhaseLabel(final String txt) {
|
||||||
|
super(txt);
|
||||||
|
this.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
|
this.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
|
||||||
|
this.addMouseListener(new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mousePressed(final MouseEvent e) {
|
||||||
|
if (PhaseLabel.this.enabled) {
|
||||||
|
PhaseLabel.this.enabled = false;
|
||||||
|
} else {
|
||||||
|
PhaseLabel.this.enabled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseEntered(final MouseEvent e) {
|
||||||
|
PhaseLabel.this.hover = true;
|
||||||
|
PhaseLabel.this.repaintOnlyThisLabel();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseExited(final MouseEvent e) {
|
||||||
|
PhaseLabel.this.hover = false;
|
||||||
|
PhaseLabel.this.repaintOnlyThisLabel();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines whether play pauses at this phase or not.
|
||||||
|
*
|
||||||
|
* @param b
|
||||||
|
*   boolean, true if play pauses
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setEnabled(final boolean b) {
|
||||||
|
this.enabled = b;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines whether play pauses at this phase or not.
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public boolean getEnabled() {
|
||||||
|
return this.enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Makes this phase the current phase (or not).
|
||||||
|
*
|
||||||
|
* @param b
|
||||||
|
*   boolean, true if phase is current
|
||||||
|
*/
|
||||||
|
public void setActive(final boolean b) {
|
||||||
|
this.active = b;
|
||||||
|
this.repaintOnlyThisLabel();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines if this phase is the current phase (or not).
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public boolean getActive() {
|
||||||
|
return this.active;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Prevent label from repainting the whole screen. */
|
||||||
|
public void repaintOnlyThisLabel() {
|
||||||
|
final Dimension d = PhaseLabel.this.getSize();
|
||||||
|
repaint(0, 0, d.width, d.height);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see javax.swing.JComponent#paintComponent(java.awt.Graphics)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void paintComponent(final Graphics g) {
|
||||||
|
final int w = this.getWidth();
|
||||||
|
final int h = this.getHeight();
|
||||||
|
Color c;
|
||||||
|
|
||||||
|
// Set color according to skip or active or hover state of label
|
||||||
|
if (this.hover) {
|
||||||
|
c = FSkin.getColor(FSkin.Colors.CLR_HOVER);
|
||||||
|
} else if (this.active && this.enabled) {
|
||||||
|
c = FSkin.getColor(FSkin.Colors.CLR_PHASE_ACTIVE_ENABLED);
|
||||||
|
} else if (!this.active && this.enabled) {
|
||||||
|
c = FSkin.getColor(FSkin.Colors.CLR_PHASE_INACTIVE_ENABLED);
|
||||||
|
} else if (this.active && !this.enabled) {
|
||||||
|
c = FSkin.getColor(FSkin.Colors.CLR_PHASE_ACTIVE_DISABLED);
|
||||||
|
} else {
|
||||||
|
c = FSkin.getColor(FSkin.Colors.CLR_PHASE_INACTIVE_DISABLED);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Center vertically and horizontally. Show border if active.
|
||||||
|
g.setColor(c);
|
||||||
|
g.fillRoundRect(1, 1, w - 2, h - 2, 5, 5);
|
||||||
|
super.paintComponent(g);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
/** Views (as in model-view-controller) for Forge. */
|
||||||
|
package forge.gui.toolbox.special;
|
||||||
|
|
||||||
@@ -26,6 +26,7 @@ import forge.gui.home.EMenuItem;
|
|||||||
import forge.gui.match.VMatchUI;
|
import forge.gui.match.VMatchUI;
|
||||||
import forge.gui.match.nonsingleton.VField;
|
import forge.gui.match.nonsingleton.VField;
|
||||||
import forge.gui.match.views.VDev;
|
import forge.gui.match.views.VDev;
|
||||||
|
import forge.gui.toolbox.special.PhaseIndicator;
|
||||||
|
|
||||||
public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
|
public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
|
||||||
/**
|
/**
|
||||||
@@ -151,7 +152,7 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
|
|||||||
final List<VField> fieldViews = VMatchUI.SINGLETON_INSTANCE.getFieldViews();
|
final List<VField> fieldViews = VMatchUI.SINGLETON_INSTANCE.getFieldViews();
|
||||||
|
|
||||||
// AI field is at index [1]
|
// AI field is at index [1]
|
||||||
VField fvAi = fieldViews.get(1);
|
PhaseIndicator fvAi = fieldViews.get(1).getPhaseInidicator();
|
||||||
this.setPref(FPref.PHASE_AI_UPKEEP, String.valueOf(fvAi.getLblUpkeep().getEnabled()));
|
this.setPref(FPref.PHASE_AI_UPKEEP, String.valueOf(fvAi.getLblUpkeep().getEnabled()));
|
||||||
this.setPref(FPref.PHASE_AI_DRAW, String.valueOf(fvAi.getLblDraw().getEnabled()));
|
this.setPref(FPref.PHASE_AI_DRAW, String.valueOf(fvAi.getLblDraw().getEnabled()));
|
||||||
this.setPref(FPref.PHASE_AI_MAIN1, String.valueOf(fvAi.getLblMain1().getEnabled()));
|
this.setPref(FPref.PHASE_AI_MAIN1, String.valueOf(fvAi.getLblMain1().getEnabled()));
|
||||||
@@ -166,7 +167,7 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
|
|||||||
this.setPref(FPref.PHASE_AI_CLEANUP, String.valueOf(fvAi.getLblCleanup().getEnabled()));
|
this.setPref(FPref.PHASE_AI_CLEANUP, String.valueOf(fvAi.getLblCleanup().getEnabled()));
|
||||||
|
|
||||||
// Human field is at index [0]
|
// Human field is at index [0]
|
||||||
VField fvHuman = fieldViews.get(0);
|
PhaseIndicator fvHuman = fieldViews.get(0).getPhaseInidicator();
|
||||||
this.setPref(FPref.PHASE_HUMAN_UPKEEP, String.valueOf(fvHuman.getLblUpkeep().getEnabled()));
|
this.setPref(FPref.PHASE_HUMAN_UPKEEP, String.valueOf(fvHuman.getLblUpkeep().getEnabled()));
|
||||||
this.setPref(FPref.PHASE_HUMAN_DRAW, String.valueOf(fvHuman.getLblDraw().getEnabled()));
|
this.setPref(FPref.PHASE_HUMAN_DRAW, String.valueOf(fvHuman.getLblDraw().getEnabled()));
|
||||||
this.setPref(FPref.PHASE_HUMAN_MAIN1, String.valueOf(fvHuman.getLblMain1().getEnabled()));
|
this.setPref(FPref.PHASE_HUMAN_MAIN1, String.valueOf(fvHuman.getLblMain1().getEnabled()));
|
||||||
@@ -197,7 +198,7 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
|
|||||||
Preferences.UPLOAD_DRAFT = Constant.Runtime.NET_CONN && this.getPrefBoolean(FPref.UI_UPLOAD_DRAFT);
|
Preferences.UPLOAD_DRAFT = Constant.Runtime.NET_CONN && this.getPrefBoolean(FPref.UI_UPLOAD_DRAFT);
|
||||||
|
|
||||||
// AI field is at index [0]
|
// AI field is at index [0]
|
||||||
VField fvAi = fieldViews.get(1);
|
PhaseIndicator fvAi = fieldViews.get(1).getPhaseInidicator();
|
||||||
fvAi.getLblUpkeep().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_UPKEEP));
|
fvAi.getLblUpkeep().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_UPKEEP));
|
||||||
fvAi.getLblDraw().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_DRAW));
|
fvAi.getLblDraw().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_DRAW));
|
||||||
fvAi.getLblMain1().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_MAIN1));
|
fvAi.getLblMain1().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_MAIN1));
|
||||||
@@ -212,7 +213,7 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
|
|||||||
fvAi.getLblCleanup().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_CLEANUP));
|
fvAi.getLblCleanup().setEnabled(this.getPrefBoolean(FPref.PHASE_AI_CLEANUP));
|
||||||
|
|
||||||
// Human field is at index [1]
|
// Human field is at index [1]
|
||||||
VField fvHuman = fieldViews.get(0);
|
PhaseIndicator fvHuman = fieldViews.get(0).getPhaseInidicator();
|
||||||
fvHuman.getLblUpkeep().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_UPKEEP));
|
fvHuman.getLblUpkeep().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_UPKEEP));
|
||||||
fvHuman.getLblDraw().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_DRAW));
|
fvHuman.getLblDraw().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_DRAW));
|
||||||
fvHuman.getLblMain1().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_MAIN1));
|
fvHuman.getLblMain1().setEnabled(this.getPrefBoolean(FPref.PHASE_HUMAN_MAIN1));
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ import forge.gui.framework.SLayoutConstants;
|
|||||||
import forge.gui.home.VHomeUI;
|
import forge.gui.home.VHomeUI;
|
||||||
import forge.gui.match.TargetingOverlay;
|
import forge.gui.match.TargetingOverlay;
|
||||||
import forge.gui.match.VMatchUI;
|
import forge.gui.match.VMatchUI;
|
||||||
|
import forge.gui.toolbox.CardFaceSymbols;
|
||||||
import forge.gui.toolbox.FButton;
|
import forge.gui.toolbox.FButton;
|
||||||
import forge.gui.toolbox.FLabel;
|
import forge.gui.toolbox.FLabel;
|
||||||
import forge.gui.toolbox.FOverlay;
|
import forge.gui.toolbox.FOverlay;
|
||||||
@@ -124,6 +125,9 @@ public enum FView {
|
|||||||
// Populate all drag tab components.
|
// Populate all drag tab components.
|
||||||
this.cacheUIStates();
|
this.cacheUIStates();
|
||||||
|
|
||||||
|
// Does not use progress bar, due to be deprecated with battlefield refactoring.
|
||||||
|
CardFaceSymbols.loadImages();
|
||||||
|
|
||||||
// Initialize actions on all drag tab components (which should
|
// Initialize actions on all drag tab components (which should
|
||||||
// be realized / populated already).
|
// be realized / populated already).
|
||||||
for (EDocID doc : EDocID.values()) {
|
for (EDocID doc : EDocID.values()) {
|
||||||
|
|||||||
@@ -75,7 +75,6 @@ public abstract class CardPanelContainer extends JPanel {
|
|||||||
private int mouseDragOffsetX, mouseDragOffsetY;
|
private int mouseDragOffsetX, mouseDragOffsetY;
|
||||||
private int intialMouseDragX = -1, intialMouseDragY;
|
private int intialMouseDragX = -1, intialMouseDragY;
|
||||||
private boolean dragEnabled;
|
private boolean dragEnabled;
|
||||||
private int zoneID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -583,28 +582,6 @@ public abstract class CardPanelContainer extends JPanel {
|
|||||||
return (null == p || p != hoveredPanel) ? null : p.getGameCard();
|
return (null == p || p != hoveredPanel) ? null : p.getGameCard();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* Getter for the field <code>zoneID</code>.
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @return a int.
|
|
||||||
*/
|
|
||||||
public final int getZoneID() {
|
|
||||||
return this.zoneID;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* Setter for the field <code>zoneID</code>.
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @param zoneID
|
|
||||||
* a int.
|
|
||||||
*/
|
|
||||||
public final void setZoneID(final int zoneID) {
|
|
||||||
this.zoneID = zoneID;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the card panels.
|
* Gets the card panels.
|
||||||
|
|||||||
Reference in New Issue
Block a user