mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
Discovering backwards incompatibility of JRE 1.7.
Mistakes fixed.
This commit is contained in:
6
.gitattributes
vendored
6
.gitattributes
vendored
@@ -11218,8 +11218,6 @@ src/main/java/forge/control/home/ControlQuest.java -text
|
||||
src/main/java/forge/control/home/ControlSealed.java -text
|
||||
src/main/java/forge/control/home/ControlSettings.java -text
|
||||
src/main/java/forge/control/home/ControlUtilities.java -text
|
||||
src/main/java/forge/control/home/constructed/ControlSubmenuColors.java -text
|
||||
src/main/java/forge/control/home/constructed/ControlSubmenuCustom.java -text
|
||||
src/main/java/forge/control/home/package-info.java -text svneol=native#text/plain
|
||||
src/main/java/forge/control/input/Input.java svneol=native#text/plain
|
||||
src/main/java/forge/control/input/InputAttack.java svneol=native#text/plain
|
||||
@@ -11339,6 +11337,8 @@ src/main/java/forge/gui/home/constructed/VSubmenuColors.java -text
|
||||
src/main/java/forge/gui/home/constructed/VSubmenuCustom.java -text
|
||||
src/main/java/forge/gui/home/constructed/VSubmenuQuestEvents.java -text
|
||||
src/main/java/forge/gui/home/constructed/VSubmenuThemes.java -text
|
||||
src/main/java/forge/gui/home/quest/CSubmenuDuels.java -text
|
||||
src/main/java/forge/gui/home/quest/VSubmenuDuels.java -text
|
||||
src/main/java/forge/gui/package-info.java svneol=native#text/plain
|
||||
src/main/java/forge/item/BoosterPack.java -text
|
||||
src/main/java/forge/item/CardDb.java -text
|
||||
@@ -11439,8 +11439,6 @@ src/main/java/forge/view/home/ViewQuest.java -text
|
||||
src/main/java/forge/view/home/ViewSealed.java -text
|
||||
src/main/java/forge/view/home/ViewSettings.java -text
|
||||
src/main/java/forge/view/home/ViewUtilities.java -text
|
||||
src/main/java/forge/view/home/constructed/ViewSubmenuColors.java -text
|
||||
src/main/java/forge/view/home/constructed/ViewSubmenuCustom.java -text
|
||||
src/main/java/forge/view/home/package-info.java svneol=native#text/plain
|
||||
src/main/java/forge/view/match/QuestWinLoseCardViewer.java -text
|
||||
src/main/java/forge/view/match/QuestWinLoseHandler.java -text
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
package forge.control.home.constructed;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.swing.JList;
|
||||
|
||||
import forge.Command;
|
||||
import forge.control.home.IControlSubmenu;
|
||||
import forge.view.home.constructed.ViewSubmenuColors;
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
public enum ControlSubmenuColors implements IControlSubmenu {
|
||||
/** */
|
||||
SINGLETON_INSTANCE;
|
||||
|
||||
private final Map<String, String> colorVals = new HashMap<String, String>();
|
||||
|
||||
private ControlSubmenuColors() {
|
||||
colorVals.clear();
|
||||
colorVals.put("Random 1", "AI");
|
||||
colorVals.put("Random 2", "AI");
|
||||
colorVals.put("Random 3", "AI");
|
||||
colorVals.put("Random 4", "AI");
|
||||
colorVals.put("Black", "black");
|
||||
colorVals.put("Blue", "blue");
|
||||
colorVals.put("Green", "green");
|
||||
colorVals.put("Red", "red");
|
||||
colorVals.put("White", "white");
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.control.home.IControlSubmenu#update()
|
||||
*/
|
||||
@Override
|
||||
public void initialize() {
|
||||
ViewSubmenuColors.SINGLETON_INSTANCE.populate();
|
||||
ControlSubmenuColors.SINGLETON_INSTANCE.update();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.control.home.IControlSubmenu#getCommand()
|
||||
*/
|
||||
@Override
|
||||
public Command getMenuCommand() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.control.home.IControlSubmenu#update()
|
||||
*/
|
||||
@Override
|
||||
public void update() {
|
||||
for (JList lst : ViewSubmenuColors.SINGLETON_INSTANCE.getLists()) {
|
||||
lst.setListData(new String[] {"Random 1", "Random 2", "Random 3",
|
||||
"Random 4", "Black", "Blue", "Green", "Red", "White"});
|
||||
}
|
||||
}
|
||||
|
||||
/** */
|
||||
public void randomSelect() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
package forge.control.home.constructed;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.swing.JList;
|
||||
|
||||
import forge.Command;
|
||||
import forge.Singletons;
|
||||
import forge.control.FControl;
|
||||
import forge.control.home.IControlSubmenu;
|
||||
import forge.deck.Deck;
|
||||
import forge.util.IFolderMap;
|
||||
import forge.view.home.constructed.ViewSubmenuCustom;
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
public enum ControlSubmenuCustom implements IControlSubmenu {
|
||||
/** */
|
||||
SINGLETON_INSTANCE;
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.control.home.IControlSubmenu#getMenuCommand()
|
||||
*/
|
||||
@Override
|
||||
public Command getMenuCommand() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.control.home.IControlSubmenu#initialize()
|
||||
*/
|
||||
@Override
|
||||
public void initialize() {
|
||||
ViewSubmenuCustom.SINGLETON_INSTANCE.populate();
|
||||
ControlSubmenuCustom.SINGLETON_INSTANCE.update();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.control.home.IControlSubmenu#update()
|
||||
*/
|
||||
@Override
|
||||
public void update() {
|
||||
final List<String> customNames = new ArrayList<String>();
|
||||
final IFolderMap<Deck> allDecks = Singletons.getModel().getDecks().getConstructed();
|
||||
for (final Deck d : allDecks) { customNames.add(d.getName()); }
|
||||
|
||||
for (JList lst : ViewSubmenuCustom.SINGLETON_INSTANCE.getLists()) {
|
||||
lst.setListData(FControl.oa2sa(customNames.toArray()));
|
||||
}
|
||||
}
|
||||
|
||||
/** */
|
||||
public void randomSelect() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -192,7 +192,7 @@ public class SubmenuConstructedUtil {
|
||||
/** Generates deck from current list selection(s). */
|
||||
private static Deck generateDeck(final JList lst0, final PlayerType player0) {
|
||||
CardList cards = null;
|
||||
final String[] selection = oa2sa(lst0.getSelectedValuesList().toArray());
|
||||
final String[] selection = oa2sa(lst0.getSelectedValues());
|
||||
final Deck deck;
|
||||
|
||||
// Color deck
|
||||
|
||||
57
src/main/java/forge/gui/home/quest/CSubmenuDuels.java
Normal file
57
src/main/java/forge/gui/home/quest/CSubmenuDuels.java
Normal file
@@ -0,0 +1,57 @@
|
||||
package forge.gui.home.quest;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import forge.AllZone;
|
||||
import forge.Command;
|
||||
import forge.Singletons;
|
||||
import forge.gui.home.ICSubmenu;
|
||||
import forge.properties.ForgeProps;
|
||||
import forge.properties.NewConstants;
|
||||
import forge.quest.data.QuestData;
|
||||
import forge.quest.data.QuestDataIO;
|
||||
import forge.quest.data.QuestPreferences.QPref;
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
public enum CSubmenuDuels implements ICSubmenu {
|
||||
/** */
|
||||
SINGLETON_INSTANCE;
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.control.home.IControlSubmenu#getMenuCommand()
|
||||
*/
|
||||
@Override
|
||||
public Command getMenuCommand() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.control.home.IControlSubmenu#initialize()
|
||||
*/
|
||||
@Override
|
||||
public void initialize() {
|
||||
VSubmenuDuels.SINGLETON_INSTANCE.populate();
|
||||
CSubmenuDuels.SINGLETON_INSTANCE.update();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.control.home.IControlSubmenu#update()
|
||||
*/
|
||||
@Override
|
||||
public void update() {
|
||||
QuestData qData = AllZone.getQuestData();
|
||||
if (qData == null) {
|
||||
final String questname = Singletons.getModel()
|
||||
.getQuestPreferences().getPreference(QPref.CURRENT_QUEST);
|
||||
|
||||
qData = QuestDataIO.loadData(new File(
|
||||
ForgeProps.getFile(NewConstants.Quest.DATA_DIR) + questname + ".dat"));
|
||||
System.out.println("asdf current quest data and credits: " + questname + " " + qData.getCredits());
|
||||
}
|
||||
|
||||
//lblTitle.setText("Duels: " + control.getRankString());
|
||||
}
|
||||
}
|
||||
203
src/main/java/forge/gui/home/quest/VSubmenuDuels.java
Normal file
203
src/main/java/forge/gui/home/quest/VSubmenuDuels.java
Normal file
@@ -0,0 +1,203 @@
|
||||
package forge.gui.home.quest;
|
||||
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JCheckBox;
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.SwingConstants;
|
||||
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
import forge.gui.home.EMenuGroup;
|
||||
import forge.gui.home.IVSubmenu;
|
||||
import forge.view.home.StartButton;
|
||||
import forge.view.toolbox.FCheckBox;
|
||||
import forge.view.toolbox.FLabel;
|
||||
import forge.view.toolbox.FPanel;
|
||||
import forge.view.toolbox.FScrollPane;
|
||||
import forge.view.toolbox.FSkin;
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
public enum VSubmenuDuels implements IVSubmenu {
|
||||
/** */
|
||||
SINGLETON_INSTANCE;
|
||||
|
||||
//========== INSTANTIATION
|
||||
private final JPanel pnl = new JPanel();
|
||||
private final JPanel pnlDuels = new JPanel();
|
||||
private final JButton btnStart = new StartButton();
|
||||
private final JComboBox cbxPet = new JComboBox();
|
||||
private final JCheckBox cbPlant = new FCheckBox("Summon Plant");
|
||||
private final JCheckBox cbZep = new FCheckBox("Launch Zeppelin");
|
||||
|
||||
private final FLabel lblLife = new FLabel.Builder()
|
||||
.icon(FSkin.getIcon(FSkin.QuestIcons.ICO_LIFE)).build();
|
||||
private final FLabel lblCredits = new FLabel.Builder()
|
||||
.icon(FSkin.getIcon(FSkin.QuestIcons.ICO_COINSTACK)).build();
|
||||
private final FLabel lblWins = new FLabel.Builder()
|
||||
.icon(FSkin.getIcon(FSkin.QuestIcons.ICO_PLUS)).build();
|
||||
private final FLabel lblLosses = new FLabel.Builder()
|
||||
.icon(FSkin.getIcon(FSkin.QuestIcons.ICO_MINUS)).build();
|
||||
private final FLabel lblNextChallengeInWins = new FLabel.Builder()
|
||||
.text("No challenges available.").build();
|
||||
private final FLabel lblWinStreak = new FLabel.Builder()
|
||||
.build();
|
||||
private final FLabel lblTitle = new FLabel.Builder()
|
||||
.text("Title Hasn't Been Set Yet").fontAlign(SwingConstants.CENTER)
|
||||
.fontScaleAuto(false).fontSize(15).build();
|
||||
private final FLabel btnCurrentDeck = new FLabel.Builder()
|
||||
.opaque(true).hoverable(true).build();
|
||||
private final FLabel btnBazaar = new FLabel.Builder()
|
||||
.selectable(true).opaque(true).hoverable(true).text("Bazaar")
|
||||
.fontScaleAuto(false).fontSize(14).tooltip("Peruse the Bazaar").build();
|
||||
private final FLabel btnSpellShop = new FLabel.Builder()
|
||||
.opaque(true).hoverable(true).text("Spell Shop")
|
||||
.fontScaleAuto(false).fontSize(14).tooltip("Travel to the Spell Shop").build();
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.view.home.IViewSubmenu#getPanel()
|
||||
*/
|
||||
@Override
|
||||
public JPanel getPanel() {
|
||||
return pnl;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.view.home.IViewSubmenu#getGroup()
|
||||
*/
|
||||
@Override
|
||||
public EMenuGroup getGroup() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.view.home.IViewSubmenu#populate()
|
||||
*/
|
||||
@Override
|
||||
public void populate() {
|
||||
final FPanel pnlTitle = new FPanel();
|
||||
pnlTitle.setLayout(new MigLayout("insets 0, gap 0"));
|
||||
pnlTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2));
|
||||
pnlTitle.add(lblTitle, "w 100%, h 100%, gap 0 0 0 0");
|
||||
|
||||
final JPanel pnlStats = new JPanel();
|
||||
pnlStats.setOpaque(false);
|
||||
populateStats(pnlStats);
|
||||
|
||||
final FScrollPane scrDuels = new FScrollPane(pnlDuels,
|
||||
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
|
||||
pnlDuels.setOpaque(false);
|
||||
pnlDuels.setLayout(new MigLayout("insets 0, gap 0, wrap"));
|
||||
|
||||
pnl.setOpaque(false);
|
||||
pnl.setLayout(new MigLayout("insets 0, gap 0, wrap"));
|
||||
pnl.add(pnlTitle, "w 94%!, h 30px!, gap 3% 0 20px 20px");
|
||||
pnl.add(pnlStats, "w 94%!, gap 3% 0 0 20px");
|
||||
pnl.add(scrDuels, "w 94%!, h 50%!, gap 3% 0 0 10px");
|
||||
pnl.add(cbxPet, "ax center, gap 3% 0 5px 0");
|
||||
pnl.add(cbPlant, "ax center, gap 3% 0 5px 0");
|
||||
pnl.add(cbZep, "ax center, gap 3% 0 5px 0");
|
||||
pnl.add(btnStart, "ax center, gap 3% 0 5px 10px");
|
||||
}
|
||||
|
||||
/** @return {@link javax.swing.JLabel} */
|
||||
public JLabel getLblTitle() {
|
||||
return lblTitle;
|
||||
}
|
||||
/** @return {@link javax.swing.FLabel} */
|
||||
public FLabel getLblLife() {
|
||||
return lblLife;
|
||||
}
|
||||
|
||||
/** @return {@link javax.swing.FLabel} */
|
||||
public FLabel getLblCredits() {
|
||||
return lblCredits;
|
||||
}
|
||||
|
||||
/** @return {@link javax.swing.FLabel} */
|
||||
public FLabel getLblWins() {
|
||||
return lblWins;
|
||||
}
|
||||
|
||||
/** @return {@link javax.swing.FLabel} */
|
||||
public FLabel getLblLosses() {
|
||||
return lblLosses;
|
||||
}
|
||||
|
||||
/** @return {@link javax.swing.FLabel} */
|
||||
public FLabel getLblNextChallengeInWins() {
|
||||
return lblNextChallengeInWins;
|
||||
}
|
||||
|
||||
/** @return {@link javax.swing.FLabel} */
|
||||
public FLabel getLblWinStreak() {
|
||||
return lblWinStreak;
|
||||
}
|
||||
|
||||
/** @return {@link forge.view.toolbox.FLabel} */
|
||||
public FLabel getBtnCurrentDeck() {
|
||||
return btnCurrentDeck;
|
||||
}
|
||||
|
||||
/** @return {@link forge.view.toolbox.FLabel} */
|
||||
public FLabel getBtnBazaar() {
|
||||
return btnBazaar;
|
||||
}
|
||||
|
||||
/** @return {@link forge.view.toolbox.FLabel} */
|
||||
public FLabel getBtnSpellShop() {
|
||||
return btnSpellShop;
|
||||
}
|
||||
|
||||
/** @return {@link javax.swing.JCheckBox} */
|
||||
public JCheckBox getCbPlant() {
|
||||
return cbPlant;
|
||||
}
|
||||
|
||||
/** @return {@link javax.swing.JCheckBox} */
|
||||
public JCheckBox getCbZep() {
|
||||
return cbZep;
|
||||
}
|
||||
|
||||
/** @return {@link javax.swing.JComboBox} */
|
||||
public JComboBox getCbxPet() {
|
||||
return cbxPet;
|
||||
}
|
||||
|
||||
/** @return {@link javax.swing.JButton} */
|
||||
public JButton getBtnStart() {
|
||||
return btnStart;
|
||||
}
|
||||
|
||||
/** Stats panel has different layout depending on classic/fantasy quest. */
|
||||
private void populateStats(final JPanel pnl0) {
|
||||
pnl0.removeAll();
|
||||
|
||||
if (true) { //(AllZone.getQuestData().isFantasy()) {
|
||||
pnl0.setLayout(new MigLayout("insets 0, gap 0"));
|
||||
pnl0.add(btnBazaar, "w 15%!, h 70px!, gap 0 4% 10px 10px, span 1 2");
|
||||
pnl0.add(lblWins, "w 30%!, h 25px!, gap 0 2% 12px 0");
|
||||
pnl0.add(lblLosses, "w 30%!, h 25px!, gap 0 4% 12px 0");
|
||||
pnl0.add(btnSpellShop, "w 14.5%!, h 70px!, gap 0 0 10px 10px, span 1 2, wrap");
|
||||
pnl0.add(lblCredits, "w 30%!, h 25px!, gap 0 2% 0 0");
|
||||
pnl0.add(lblLife, "w 30%!, h 25px!, gap 0 4% 0 0 0, wrap");
|
||||
pnl0.add(lblWinStreak, "h 20px!, align center, span 4 1, wrap");
|
||||
pnl0.add(lblNextChallengeInWins, "h 20px!, align center, span 4 1, wrap");
|
||||
pnl0.add(btnCurrentDeck, "w 40%!, h 26px!, align center, span 4 1, gap 0 0 0 5px");
|
||||
}
|
||||
else {
|
||||
pnl0.setLayout(new MigLayout("insets 0, gap 0, align center"));
|
||||
pnl0.add(lblWins, "w 150px!, h 25px!, gap 0 50px 5px 5px, align center");
|
||||
pnl0.add(lblCredits, "w 150px!, h 25px!, gap 0 0 5px 5px, align center, wrap");
|
||||
pnl0.add(lblLosses, "w 150px!, h 25px!, gap 0 50px 0 5px, align center");
|
||||
pnl0.add(btnSpellShop, "w 150px!, h 25px!, gap 0 0 0 5px, align center, wrap");
|
||||
pnl0.add(lblWinStreak, "h 20px!, align center, span 4 1, wrap");
|
||||
pnl0.add(lblNextChallengeInWins, "h 20px!, align center, span 4 1, gap 0 0 10px 5px, wrap");
|
||||
pnl0.add(btnCurrentDeck, "w 40%!, h 26px!, align center, span 4 1, gap 0 0 0 5px");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,111 +0,0 @@
|
||||
package forge.view.home.constructed;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.swing.JList;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.ListSelectionModel;
|
||||
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
import forge.AllZone;
|
||||
import forge.Command;
|
||||
import forge.Player;
|
||||
import forge.control.home.IControlSubmenu;
|
||||
import forge.control.home.constructed.ControlSubmenuColors;
|
||||
import forge.model.home.MenuGroup;
|
||||
import forge.view.home.IViewSubmenu;
|
||||
import forge.view.home.StartButton;
|
||||
import forge.view.toolbox.FLabel;
|
||||
import forge.view.toolbox.FList;
|
||||
import forge.view.toolbox.FScrollPane;
|
||||
|
||||
/**
|
||||
* Singleton instance of "Colors" submenu in "Constructed" group.
|
||||
*
|
||||
*/
|
||||
public enum ViewSubmenuColors implements IViewSubmenu {
|
||||
/** */
|
||||
SINGLETON_INSTANCE;
|
||||
|
||||
/** */
|
||||
private final JPanel pnl = new JPanel();
|
||||
private final StartButton btnStart = new StartButton();
|
||||
private final List<JList> allLists = new ArrayList<JList>();
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.view.home.IViewSubmenu#populate()
|
||||
*/
|
||||
@Override
|
||||
public void populate() {
|
||||
final String lstConstraints = "w 41%!, h 300px!, gap 6% 0 4% 2%";
|
||||
final String btnConstraints = "newline, ax center, gap 6% 0 0 0, span 2 1";
|
||||
final List<Player> players = AllZone.getPlayersInGame();
|
||||
|
||||
allLists.clear();
|
||||
pnl.removeAll();
|
||||
|
||||
pnl.setOpaque(false);
|
||||
pnl.setLayout(new MigLayout("insets 0, gap 0"));
|
||||
|
||||
for (int i = 0; i < players.size(); i++) {
|
||||
if (i % 2 == 1) {
|
||||
pnl.add(new ColorSelectPanel(players.get(i)), lstConstraints + ", wrap");
|
||||
}
|
||||
else {
|
||||
pnl.add(new ColorSelectPanel(players.get(i)), lstConstraints);
|
||||
}
|
||||
}
|
||||
|
||||
pnl.add(btnStart, btnConstraints);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.view.home.IViewSubmenu#getControl()
|
||||
*/
|
||||
@Override
|
||||
public IControlSubmenu getControl() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.view.home.IViewSubmenu#getGroup()
|
||||
*/
|
||||
@Override
|
||||
public MenuGroup getGroup() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.view.home.IViewSubmenu#getPanel()
|
||||
*/
|
||||
@Override
|
||||
public JPanel getPanel() {
|
||||
return pnl;
|
||||
}
|
||||
|
||||
/** @return {@link java.util.List}<{@link javax.swing.JList}> */
|
||||
public List<JList> getLists() {
|
||||
return allLists;
|
||||
}
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
private class ColorSelectPanel extends JPanel {
|
||||
public ColorSelectPanel(final Player p0) {
|
||||
final Command cmdRandom = new Command() { @Override
|
||||
public void execute() { ControlSubmenuColors.SINGLETON_INSTANCE.randomSelect(); } };
|
||||
allLists.add(new FList());
|
||||
allLists.get(allLists.size() - 1).setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
|
||||
|
||||
this.setOpaque(false);
|
||||
this.setLayout(new MigLayout("insets 0, gap 0, wrap"));
|
||||
this.add(new FLabel.Builder().text(p0.getName()).fontSize(14)
|
||||
.fontScaleAuto(false).build(),
|
||||
"w 100%!, h 25px!, gap 0 0 0 8px");
|
||||
this.add(new FScrollPane(allLists.get(allLists.size() - 1)), "w 100%!, pushy, growy");
|
||||
this.add(new FLabel.Builder().text("Random").fontSize(14).opaque(true)
|
||||
.hoverable(true).cmdClick(cmdRandom).fontScaleAuto(false).build(),
|
||||
"w 100%!, h 25px!, gap 0 0 8px 0");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,115 +0,0 @@
|
||||
package forge.view.home.constructed;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.swing.JList;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.ListSelectionModel;
|
||||
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
import forge.AllZone;
|
||||
import forge.Command;
|
||||
import forge.Player;
|
||||
import forge.control.home.IControlSubmenu;
|
||||
import forge.control.home.constructed.ControlSubmenuCustom;
|
||||
import forge.model.home.MenuGroup;
|
||||
import forge.view.home.IViewSubmenu;
|
||||
import forge.view.home.StartButton;
|
||||
import forge.view.toolbox.FLabel;
|
||||
import forge.view.toolbox.FList;
|
||||
import forge.view.toolbox.FScrollPane;
|
||||
|
||||
/**
|
||||
* Singleton instance of "Colors" submenu in "Constructed" group.
|
||||
*
|
||||
*/
|
||||
public enum ViewSubmenuCustom implements IViewSubmenu {
|
||||
/** */
|
||||
SINGLETON_INSTANCE;
|
||||
|
||||
/** */
|
||||
private final JPanel pnl = new JPanel();
|
||||
private final StartButton btnStart = new StartButton();
|
||||
private final List<JList> allLists = new ArrayList<JList>();
|
||||
|
||||
private ViewSubmenuCustom() {
|
||||
populate();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.view.home.IViewSubmenu#populate()
|
||||
*/
|
||||
@Override
|
||||
public void populate() {
|
||||
final String lstConstraints = "w 41%!, h 32%, gap 6% 0 4% 2%";
|
||||
final String btnConstraints = "newline, ax center, gap 6% 0 0 0, span 2 1";
|
||||
final List<Player> players = AllZone.getPlayersInGame();
|
||||
|
||||
allLists.clear();
|
||||
pnl.removeAll();
|
||||
|
||||
pnl.setOpaque(false);
|
||||
pnl.setLayout(new MigLayout("insets 0, gap 0"));
|
||||
|
||||
for (int i = 0; i < players.size(); i++) {
|
||||
if (i % 2 == 1) {
|
||||
pnl.add(new CustomSelectPanel(players.get(i)), lstConstraints + ", wrap");
|
||||
}
|
||||
else {
|
||||
pnl.add(new CustomSelectPanel(players.get(i)), lstConstraints);
|
||||
}
|
||||
}
|
||||
|
||||
pnl.add(btnStart, btnConstraints);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.view.home.IViewSubmenu#getControl()
|
||||
*/
|
||||
@Override
|
||||
public IControlSubmenu getControl() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.view.home.IViewSubmenu#getGroup()
|
||||
*/
|
||||
@Override
|
||||
public MenuGroup getGroup() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.view.home.IViewSubmenu#getPanel()
|
||||
*/
|
||||
@Override
|
||||
public JPanel getPanel() {
|
||||
return pnl;
|
||||
}
|
||||
|
||||
/** @return {@link java.util.List}<{@link javax.swing.JList}> */
|
||||
public List<JList> getLists() {
|
||||
return allLists;
|
||||
}
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
private class CustomSelectPanel extends JPanel {
|
||||
public CustomSelectPanel(final Player p0) {
|
||||
final Command cmdRandom = new Command() { @Override
|
||||
public void execute() { ControlSubmenuCustom.SINGLETON_INSTANCE.randomSelect(); } };
|
||||
allLists.add(new FList());
|
||||
allLists.get(allLists.size() - 1).setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
|
||||
|
||||
this.setOpaque(false);
|
||||
this.setLayout(new MigLayout("insets 0, gap 0, wrap"));
|
||||
this.add(new FLabel.Builder().text(p0.getName()).fontSize(14)
|
||||
.fontScaleAuto(false).build(),
|
||||
"w 100%!, h 25px!, gap 0 0 0 8px");
|
||||
this.add(new FScrollPane(allLists.get(allLists.size() - 1)), "w 100%!, pushy, growy");
|
||||
this.add(new FLabel.Builder().text("Random").fontSize(14).opaque(true)
|
||||
.hoverable(true).cmdClick(cmdRandom).fontScaleAuto(false).build(),
|
||||
"w 100%!, h 25px!, gap 0 0 8px 0");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user