From c98d037e0eb36546a2f3474b3fc98d9d88d42ed3 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Thu, 1 Mar 2012 21:37:22 +0000 Subject: [PATCH] GuiUtils.getChoice renamed to clear and simple names added possibility to pass List as options (to avoid useless list -> array -> list conversions) --- .gitattributes | 2 +- src/main/java/forge/CombatUtil.java | 4 +- src/main/java/forge/EndOfTurn.java | 2 +- src/main/java/forge/GameAction.java | 18 +- src/main/java/forge/GameActionUtil.java | 10 +- src/main/java/forge/GuiDisplayUtil.java | 16 +- src/main/java/forge/HumanPlayer.java | 12 +- src/main/java/forge/MagicStack.java | 2 +- src/main/java/forge/Player.java | 2 +- src/main/java/forge/Upkeep.java | 30 +- .../abilityfactory/AbilityFactoryAttach.java | 4 +- .../AbilityFactoryChangeZone.java | 14 +- .../abilityfactory/AbilityFactoryCharm.java | 380 +++++++++--------- .../abilityfactory/AbilityFactoryChoose.java | 26 +- .../abilityfactory/AbilityFactoryClash.java | 4 +- .../abilityfactory/AbilityFactoryCopy.java | 2 +- .../AbilityFactoryCounters.java | 10 +- .../abilityfactory/AbilityFactoryMana.java | 6 +- .../AbilityFactoryPermanentState.java | 2 +- .../abilityfactory/AbilityFactoryPlay.java | 4 +- .../AbilityFactoryProtection.java | 4 +- .../abilityfactory/AbilityFactoryReveal.java | 30 +- .../AbilityFactorySacrifice.java | 4 +- .../AbilityFactoryZoneAffecting.java | 12 +- .../card/cardfactory/AbstractCardFactory.java | 14 +- .../card/cardfactory/CardFactoryAuras.java | 2 +- .../cardfactory/CardFactoryCreatures.java | 20 +- .../card/cardfactory/CardFactoryInstants.java | 16 +- .../card/cardfactory/CardFactoryLands.java | 4 +- .../cardfactory/CardFactoryPlaneswalkers.java | 2 +- .../cardfactory/CardFactorySorceries.java | 22 +- .../card/cardfactory/CardFactoryUtil.java | 10 +- src/main/java/forge/card/cost/CostExile.java | 2 +- src/main/java/forge/card/cost/CostReveal.java | 2 +- src/main/java/forge/card/cost/CostUtil.java | 4 +- src/main/java/forge/card/mana/ManaPool.java | 2 +- .../card/replacement/ReplacementHandler.java | 2 +- .../card/spellability/TargetSelection.java | 4 +- .../control/home/ControlConstructed.java | 13 +- .../java/forge/control/home/ControlDraft.java | 2 +- .../forge/control/home/ControlSealed.java | 2 +- .../control/input/InputPayManaCostUtil.java | 2 +- .../forge/control/match/ControlField.java | 4 +- .../forge/control/match/ControlWinLose.java | 2 +- .../java/forge/game/limited/BoosterDraft.java | 6 +- .../java/forge/game/limited/SealedDeck.java | 6 +- src/main/java/forge/gui/GuiUtils.java | 26 +- src/main/java/forge/gui/ListChooser.java | 52 +-- .../java/forge/gui/deckeditor/MenuBase.java | 2 +- .../forge/gui/home/limited/CSubmenuDraft.java | 2 +- .../gui/home/limited/CSubmenuSealed.java | 2 +- 51 files changed, 412 insertions(+), 415 deletions(-) diff --git a/.gitattributes b/.gitattributes index 3bb0291ce6c..09daed9eda5 100644 --- a/.gitattributes +++ b/.gitattributes @@ -11179,7 +11179,7 @@ src/main/java/forge/card/abilityfactory/AbilityFactoryAlterLife.java svneol=nati src/main/java/forge/card/abilityfactory/AbilityFactoryAnimate.java svneol=native#text/plain src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java svneol=native#text/plain src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java svneol=native#text/plain -src/main/java/forge/card/abilityfactory/AbilityFactoryCharm.java -text svneol=native#text/plain +src/main/java/forge/card/abilityfactory/AbilityFactoryCharm.java svneol=native#text/plain src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java svneol=native#text/plain src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java svneol=native#text/plain src/main/java/forge/card/abilityfactory/AbilityFactoryCleanup.java svneol=native#text/plain diff --git a/src/main/java/forge/CombatUtil.java b/src/main/java/forge/CombatUtil.java index b077ef5f7d9..9e75ca405fb 100644 --- a/src/main/java/forge/CombatUtil.java +++ b/src/main/java/forge/CombatUtil.java @@ -2759,7 +2759,7 @@ public class CombatUtil { if (lib.size() > 0) { final CardList cl = new CardList(); cl.add(lib.get(0)); - GuiUtils.getChoiceOptional("Top card", cl.toArray()); + GuiUtils.chooseOneOrNone("Top card", cl.toArray()); final Card top = lib.get(0); if (top.isCreature()) { player.gainLife(top.getBaseDefense(), c); @@ -3021,7 +3021,7 @@ public class CombatUtil { final Card crd = enchantments.get(j); target[j] = crd; } - final Object check = GuiUtils.getChoiceOptional( + final Object check = GuiUtils.chooseOneOrNone( "Select enchantment to enchant exalted creature", target); if (check != null) { enchantment = ((Card) check); diff --git a/src/main/java/forge/EndOfTurn.java b/src/main/java/forge/EndOfTurn.java index f083041b8bb..ca07b4f7e5a 100644 --- a/src/main/java/forge/EndOfTurn.java +++ b/src/main/java/forge/EndOfTurn.java @@ -215,7 +215,7 @@ public class EndOfTurn extends Phase implements java.io.Serializable { } if (player.isHuman()) { - final Object o = GuiUtils.getChoiceOptional( + final Object o = GuiUtils.chooseOneOrNone( "Select target creature for Wall of Reverence life gain", creats.toArray()); if (o != null) { final Card c = (Card) o; diff --git a/src/main/java/forge/GameAction.java b/src/main/java/forge/GameAction.java index 8c5e7bac1df..9a66017a28d 100644 --- a/src/main/java/forge/GameAction.java +++ b/src/main/java/forge/GameAction.java @@ -1123,7 +1123,7 @@ public class GameAction { crd = list.get(0); } else { if (c.getController().isHuman()) { - crd = GuiUtils.getChoiceOptional("Select totem armor to destroy", list.toArray()); + crd = GuiUtils.chooseOneOrNone("Select totem armor to destroy", list.toArray()); } else { crd = list.get(0); } @@ -1306,7 +1306,7 @@ public class GameAction { crd = list.get(0); } else { if (c.getController().isHuman()) { - crd = GuiUtils.getChoiceOptional("Select totem armor to destroy", list.toArray()); + crd = GuiUtils.chooseOneOrNone("Select totem armor to destroy", list.toArray()); } else { crd = list.get(0); } @@ -1413,7 +1413,7 @@ public class GameAction { } else if (choices.size() == 1) { choice = choices.get(0); } else { - choice = (String) GuiUtils.getChoiceOptional("Choose", choices.toArray()); + choice = (String) GuiUtils.chooseOneOrNone("Choose", choices.toArray()); } if (choice == null) { @@ -1451,7 +1451,7 @@ public class GameAction { } else if (choices.size() == 1) { sa = choices.get(0); } else { - sa = (SpellAbility) GuiUtils.getChoiceOptional("Choose", choices.toArray()); + sa = (SpellAbility) GuiUtils.chooseOneOrNone("Choose", choices.toArray()); } if (sa == null) { @@ -1592,12 +1592,12 @@ public class GameAction { if (originalCard.getController().isHuman()) { final int chosenAmount = (Integer) GuiUtils - .getChoice("Exile how many cards?", choiceList.toArray()); + .chooseOne("Exile how many cards?", choiceList.toArray()); System.out.println("Delve for " + chosenAmount); final CardList choices = AllZone.getHumanPlayer().getCardsIn(Zone.Graveyard); final CardList chosen = new CardList(); for (int i = 0; i < chosenAmount; i++) { - final Card nowChosen = GuiUtils.getChoiceOptional("Exile which card?", choices.toArray()); + final Card nowChosen = GuiUtils.chooseOneOrNone("Exile which card?", choices.toArray()); if (nowChosen == null) { // User canceled,abort delving. @@ -1674,7 +1674,7 @@ public class GameAction { ManaCost newCost = new ManaCost(originalCost.toString()); Object tapForConvoke = null; if (sa.getActivatingPlayer().isHuman()) { - tapForConvoke = GuiUtils.getChoiceOptional("Tap for Convoke? " + newCost.toString(), + tapForConvoke = GuiUtils.chooseOneOrNone("Tap for Convoke? " + newCost.toString(), choices.toArray()); } else { // TODO: AI to choose a creature to tap would go here @@ -1689,7 +1689,7 @@ public class GameAction { String chosenColor = usableColors.get(0); if (usableColors.size() > 1) { if (sa.getActivatingPlayer().isHuman()) { - chosenColor = (String) GuiUtils.getChoice("Convoke for which color?", + chosenColor = (String) GuiUtils.chooseOne("Convoke for which color?", usableColors.toArray()); } else { // TODO: AI for choosing which color to @@ -1717,7 +1717,7 @@ public class GameAction { } if (sa.getActivatingPlayer().isHuman()) { - tapForConvoke = GuiUtils.getChoiceOptional("Tap for Convoke? " + newCost.toString(), + tapForConvoke = GuiUtils.chooseOneOrNone("Tap for Convoke? " + newCost.toString(), choices.toArray()); } else { // TODO: AI to choose a creature to tap would go diff --git a/src/main/java/forge/GameActionUtil.java b/src/main/java/forge/GameActionUtil.java index 97b04487e9e..ed07c685bc0 100644 --- a/src/main/java/forge/GameActionUtil.java +++ b/src/main/java/forge/GameActionUtil.java @@ -137,7 +137,7 @@ public final class GameActionUtil { } } // while - GuiUtils.getChoiceOptional("Revealed cards:", revealed.toArray()); + GuiUtils.chooseOneOrNone("Revealed cards:", revealed.toArray()); if (cascadedCard != null) { @@ -268,7 +268,7 @@ public final class GameActionUtil { rippledCards[i] = crd; } } // for - GuiUtils.getChoiceOptional("Revealed cards:", revealed.toArray()); + GuiUtils.chooseOneOrNone("Revealed cards:", revealed.toArray()); for (int i = 0; i < rippleMax; i++) { if (rippledCards[i] != null) { @@ -463,7 +463,7 @@ public final class GameActionUtil { final boolean flip = MyRandom.getRandom().nextBoolean(); if (caller.isHuman()) { - choice = GuiUtils.getChoice(source.getName() + " - Call coin flip", choices); + choice = GuiUtils.chooseOne(source.getName() + " - Call coin flip", choices); } else { choice = choices[MyRandom.getRandom().nextInt(2)]; } @@ -505,7 +505,7 @@ public final class GameActionUtil { Object q = null; - q = GuiUtils.getChoiceOptional("Use " + c + " Landfall?", choices); + q = GuiUtils.chooseOneOrNone("Use " + c + " Landfall?", choices); return (q != null) && q.equals("Yes"); } @@ -524,7 +524,7 @@ public final class GameActionUtil { public void resolve() { String color = ""; - final Object o = GuiUtils.getChoice("Choose mana color", Constant.Color.ONLY_COLORS); + final Object o = GuiUtils.chooseOne("Choose mana color", Constant.Color.ONLY_COLORS); color = InputPayManaCostUtil.getShortColorString((String) o); final AbilityMana abMana = new AbilityMana(c, "0", color) { diff --git a/src/main/java/forge/GuiDisplayUtil.java b/src/main/java/forge/GuiDisplayUtil.java index ef165e068e6..70302b7864c 100644 --- a/src/main/java/forge/GuiDisplayUtil.java +++ b/src/main/java/forge/GuiDisplayUtil.java @@ -1469,7 +1469,7 @@ public final class GuiDisplayUtil { */ public static void devModeTutor() { final CardList lib = AllZone.getHumanPlayer().getCardsIn(Zone.Library); - final Object o = GuiUtils.getChoiceOptional("Choose a card", lib.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Choose a card", lib.toArray()); if (null == o) { return; } else { @@ -1487,12 +1487,12 @@ public final class GuiDisplayUtil { */ public static void devModeAddCounter() { final CardList play = AllZoneUtil.getCardsIn(Zone.Battlefield); - final Object o = GuiUtils.getChoiceOptional("Add counters to which card?", play.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Add counters to which card?", play.toArray()); if (null == o) { return; } else { final Card c = (Card) o; - final Counters counter = GuiUtils.getChoiceOptional("Which type of counter?", Counters.values()); + final Counters counter = GuiUtils.chooseOneOrNone("Which type of counter?", Counters.values()); if (null == counter) { return; } else { @@ -1500,7 +1500,7 @@ public final class GuiDisplayUtil { for (int j = 0; j < 99; j++) { integers[j] = Integer.valueOf(j); } - final Integer i = GuiUtils.getChoiceOptional("How many counters?", integers); + final Integer i = GuiUtils.chooseOneOrNone("How many counters?", integers); if (null == i) { return; } else { @@ -1519,7 +1519,7 @@ public final class GuiDisplayUtil { */ public static void devModeTapPerm() { final CardList play = AllZoneUtil.getCardsIn(Zone.Battlefield); - final Object o = GuiUtils.getChoiceOptional("Choose a permanent", play.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Choose a permanent", play.toArray()); if (null == o) { return; } else { @@ -1537,7 +1537,7 @@ public final class GuiDisplayUtil { */ public static void devModeUntapPerm() { final CardList play = AllZoneUtil.getCardsIn(Zone.Battlefield); - final Object o = GuiUtils.getChoiceOptional("Choose a permanent", play.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Choose a permanent", play.toArray()); if (null == o) { return; } else { @@ -1566,7 +1566,7 @@ public final class GuiDisplayUtil { */ public static void devModeSetLife() { final List players = AllZone.getPlayersInGame(); - final Object o = GuiUtils.getChoiceOptional("Set life for which player?", players.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Set life for which player?", players.toArray()); if (null == o) { return; } else { @@ -1575,7 +1575,7 @@ public final class GuiDisplayUtil { for (int j = 0; j < 99; j++) { integers[j] = Integer.valueOf(j); } - final Integer i = GuiUtils.getChoiceOptional("Set life to what?", integers); + final Integer i = GuiUtils.chooseOneOrNone("Set life to what?", integers); if (null == i) { return; } else { diff --git a/src/main/java/forge/HumanPlayer.java b/src/main/java/forge/HumanPlayer.java index a5267b88a19..0112e3d9e36 100644 --- a/src/main/java/forge/HumanPlayer.java +++ b/src/main/java/forge/HumanPlayer.java @@ -135,9 +135,9 @@ public class HumanPlayer extends Player { public final boolean dredge() { boolean dredged = false; final String[] choices = { "Yes", "No" }; - final Object o = GuiUtils.getChoice("Do you want to dredge?", choices); + final Object o = GuiUtils.chooseOne("Do you want to dredge?", choices); if (o.equals("Yes")) { - final Card c = GuiUtils.getChoice("Select card to dredge", this.getDredge().toArray()); + final Card c = GuiUtils.chooseOne("Select card to dredge", this.getDredge().toArray()); // rule 702.49a if (this.getDredgeNumber(c) <= AllZone.getHumanPlayer().getZone(Zone.Library).size()) { @@ -198,7 +198,7 @@ public class HumanPlayer extends Player { s += "s"; } - final Object o = GuiUtils.getChoice("Do you want to put the " + s + final Object o = GuiUtils.chooseOne("Do you want to put the " + s + " on the top or bottom of your library?", new Object[] { "top", "bottom" }); libPos = o.toString(); } @@ -210,7 +210,7 @@ public class HumanPlayer extends Player { protected final void doScry(final CardList topN, final int n) { int num = n; for (int i = 0; i < num; i++) { - final Object o = GuiUtils.getChoiceOptional("Put on bottom of library.", topN.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Put on bottom of library.", topN.toArray()); if (o != null) { final Card c = (Card) o; topN.remove(c); @@ -223,7 +223,7 @@ public class HumanPlayer extends Player { num = topN.size(); for (int i = 0; i < num; i++) { Object o; - o = GuiUtils.getChoice("Put on top of library.", topN.toArray()); + o = GuiUtils.chooseOne("Put on top of library.", topN.toArray()); if (o != null) { final Card c = (Card) o; topN.remove(c); @@ -246,7 +246,7 @@ public class HumanPlayer extends Player { String choice = ""; final String[] choices = { "top", "bottom" }; Singletons.getControl().getControlMatch().setCard(c); - choice = GuiUtils.getChoice(c.getName() + " - Top or bottom of Library", choices); + choice = GuiUtils.chooseOne(c.getName() + " - Top or bottom of Library", choices); if (choice.equals("bottom")) { Singletons.getModel().getGameAction().moveToBottomOfLibrary(c); diff --git a/src/main/java/forge/MagicStack.java b/src/main/java/forge/MagicStack.java index fd09adf3afb..aeb00ed2073 100644 --- a/src/main/java/forge/MagicStack.java +++ b/src/main/java/forge/MagicStack.java @@ -1384,7 +1384,7 @@ public class MagicStack extends MyObservable { } else { while (activePlayerSAs.size() > 1) { - final SpellAbility next = (SpellAbility) GuiUtils.getChoice( + final SpellAbility next = (SpellAbility) GuiUtils.chooseOne( "Choose which spell or ability to put on the stack next.", activePlayerSAs.toArray()); activePlayerSAs.remove(next); diff --git a/src/main/java/forge/Player.java b/src/main/java/forge/Player.java index a35dec0691d..436b5ed6dba 100644 --- a/src/main/java/forge/Player.java +++ b/src/main/java/forge/Player.java @@ -1276,7 +1276,7 @@ public abstract class Player extends GameEntity { } } if (reveal) { - GuiUtils.getChoice("Revealing the first card drawn", drawn.toArray()); + GuiUtils.chooseOne("Revealing the first card drawn", drawn.toArray()); } } diff --git a/src/main/java/forge/Upkeep.java b/src/main/java/forge/Upkeep.java index 3c7111c6e60..febca2367aa 100644 --- a/src/main/java/forge/Upkeep.java +++ b/src/main/java/forge/Upkeep.java @@ -837,7 +837,7 @@ public class Upkeep extends Phase implements java.io.Serializable { private void revealTopCard(final String title) { if (peek[0] != prevCardShown[0]) { - GuiUtils.getChoice(title, peek[0]); + GuiUtils.chooseOne(title, peek[0]); prevCardShown[0] = peek[0]; } } // revealTopCard() @@ -939,7 +939,7 @@ public class Upkeep extends Phase implements java.io.Serializable { private void revealTopCard(final String title) { if (peek[0] != prevCardShown[0]) { - GuiUtils.getChoice(title, peek[0]); + GuiUtils.chooseOne(title, peek[0]); prevCardShown[0] = peek[0]; } } // revealTopCard() @@ -1039,7 +1039,7 @@ public class Upkeep extends Phase implements java.io.Serializable { private void revealTopCard(final String title) { if (peek[0] != prevCardShown[0]) { - GuiUtils.getChoice(title, peek[0]); + GuiUtils.chooseOne(title, peek[0]); prevCardShown[0] = peek[0]; } } // revealTopCard() @@ -1136,7 +1136,7 @@ public class Upkeep extends Phase implements java.io.Serializable { private void revealTopCard(final String title) { if (peek[0] != prevCardShown[0]) { - GuiUtils.getChoice(title, peek[0]); + GuiUtils.chooseOne(title, peek[0]); prevCardShown[0] = peek[0]; } } // revealTopCard() @@ -1221,7 +1221,7 @@ public class Upkeep extends Phase implements java.io.Serializable { private void revealTopCard(final String title) { if (peek[0] != prevCardShown[0]) { - GuiUtils.getChoice(title, peek[0]); + GuiUtils.chooseOne(title, peek[0]); prevCardShown[0] = peek[0]; } } // revealTopCard() @@ -1320,7 +1320,7 @@ public class Upkeep extends Phase implements java.io.Serializable { private void revealTopCard(final String title) { if (peek[0] != prevCardShown[0]) { - GuiUtils.getChoice(title, peek[0]); + GuiUtils.chooseOne(title, peek[0]); prevCardShown[0] = peek[0]; } } // revealTopCard() @@ -1412,7 +1412,7 @@ public class Upkeep extends Phase implements java.io.Serializable { private void revealTopCard(final String title) { if (peek[0] != prevCardShown[0]) { - GuiUtils.getChoice(title, peek[0]); + GuiUtils.chooseOne(title, peek[0]); prevCardShown[0] = peek[0]; } } // revealTopCard() @@ -1498,7 +1498,7 @@ public class Upkeep extends Phase implements java.io.Serializable { private void revealTopCard(final String title) { if (peek[0] != prevCardShown[0]) { - GuiUtils.getChoice(title, peek[0]); + GuiUtils.chooseOne(title, peek[0]); prevCardShown[0] = peek[0]; } } // revealTopCard() @@ -1582,7 +1582,7 @@ public class Upkeep extends Phase implements java.io.Serializable { private void revealTopCard(final String title) { if (peek[0] != prevCardShown[0]) { - GuiUtils.getChoice(title, peek[0]); + GuiUtils.chooseOne(title, peek[0]); prevCardShown[0] = peek[0]; } } // revealTopCard() @@ -1687,7 +1687,7 @@ public class Upkeep extends Phase implements java.io.Serializable { private void revealTopCard(final String title) { if (peek[0] != prevCardShown[0]) { - GuiUtils.getChoice(title, peek[0]); + GuiUtils.chooseOne(title, peek[0]); prevCardShown[0] = peek[0]; } } // revealTopCard() @@ -1771,7 +1771,7 @@ public class Upkeep extends Phase implements java.io.Serializable { private void revealTopCard(final String title) { if (peek[0] != prevCardShown[0]) { - GuiUtils.getChoice(title, peek[0]); + GuiUtils.chooseOne(title, peek[0]); prevCardShown[0] = peek[0]; } } // revealTopCard() @@ -1858,7 +1858,7 @@ public class Upkeep extends Phase implements java.io.Serializable { private void revealTopCard(final String title) { if (peek[0] != prevCardShown[0]) { - GuiUtils.getChoice(title, peek[0]); + GuiUtils.chooseOne(title, peek[0]); prevCardShown[0] = peek[0]; } } // revealTopCard() @@ -2046,7 +2046,7 @@ public class Upkeep extends Phase implements java.io.Serializable { } } // for loop if (cardsToReveal.size() > 0) { - GuiUtils.getChoice("Revealed cards", cardsToReveal.toArray()); + GuiUtils.chooseOne("Revealed cards", cardsToReveal.toArray()); } } } @@ -2090,7 +2090,7 @@ public class Upkeep extends Phase implements java.io.Serializable { if (AllZoneUtil.compareTypeAmountInGraveyard(player, "Creature") > 0) { if (player.isHuman()) { - final Object o = GuiUtils.getChoiceOptional("Pick a creature to return to hand", + final Object o = GuiUtils.chooseOneOrNone("Pick a creature to return to hand", graveyardCreatures.toArray()); if (o != null) { final Card card = (Card) o; @@ -2499,7 +2499,7 @@ public class Upkeep extends Phase implements java.io.Serializable { final Card crd = enchantmentsInLibrary.get(j); target[j] = crd; } - final Object check = GuiUtils.getChoiceOptional("Select Curse to attach", target); + final Object check = GuiUtils.chooseOneOrNone("Select Curse to attach", target); if (check != null) { enchantment = ((Card) check); } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java index da0b16c1ce1..793ce77bcc3 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java @@ -1213,7 +1213,7 @@ public class AbilityFactoryAttach { } } - final Object o = GuiUtils.getChoice(source + " - Select a player to attach to.", players.toArray()); + final Object o = GuiUtils.chooseOne(source + " - Select a player to attach to.", players); if (o instanceof Player) { AbilityFactoryAttach.handleAura(source, (Player) o, false); //source.enchantEntity((Player) o); @@ -1223,7 +1223,7 @@ public class AbilityFactoryAttach { CardList list = AllZoneUtil.getCardsIn(tgt.getZone()); list = list.getValidCards(tgt.getValidTgts(), aura.getActivatingPlayer(), source); - final Object o = GuiUtils.getChoice(source + " - Select a card to attach to.", list.toArray()); + final Object o = GuiUtils.chooseOne(source + " - Select a card to attach to.", list.toArray()); if (o instanceof Card) { AbilityFactoryAttach.handleAura(source, (Card) o, gainControl); //source.enchantEntity((Card) o); diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java index aaee4c073fb..9691711719b 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java @@ -870,13 +870,13 @@ public final class AbilityFactoryChangeZone { // moving onto // choosing // a card{ - GuiUtils.getChoiceOptional(af.getHostCard().getName() + " - Looking at Library", + GuiUtils.chooseOneOrNone(af.getHostCard().getName() + " - Looking at Library", player.getCardsIn(Zone.Library).toArray()); } // Look at opponents hand before moving onto choosing a card if (origin.contains(Zone.Hand) && player.isComputer()) { - GuiUtils.getChoiceOptional(af.getHostCard().getName() + " - Looking at Opponent's Hand", player + GuiUtils.chooseOneOrNone(af.getHostCard().getName() + " - Looking at Opponent's Hand", player .getCardsIn(Zone.Hand).toArray()); } fetchList = AbilityFactory.filterListByType(fetchList, params.get("ChangeType"), sa); @@ -900,11 +900,11 @@ public final class AbilityFactoryChangeZone { if (params.containsKey("AtRandom")) { o = CardUtil.getRandom(fetchList.toArray()); } else if (params.containsKey("Mandatory")) { - o = GuiUtils.getChoice("Select a card", fetchList.toArray()); + o = GuiUtils.chooseOne("Select a card", fetchList.toArray()); } else if (params.containsKey("Defined")) { o = fetchList.get(0); } else { - o = GuiUtils.getChoiceOptional("Select a card", fetchList.toArray()); + o = GuiUtils.chooseOneOrNone("Select a card", fetchList.toArray()); } if (o != null) { @@ -916,7 +916,7 @@ public final class AbilityFactoryChangeZone { // do not shuffle the library once we have placed a fetched // card on top. if (params.containsKey("Reveal")) { - GuiUtils.getChoice(card + " - Revealed card: ", c); + GuiUtils.chooseOne(card + " - Revealed card: ", c); } if (origin.contains(Zone.Library) && (i < 1)) { player.shuffle(); @@ -1166,9 +1166,9 @@ public final class AbilityFactoryChangeZone { if (!Zone.Battlefield.equals(destination) && !"Card".equals(type) && !defined) { final String picked = af.getHostCard().getName() + " - Computer picked:"; if (fetched.size() > 0) { - GuiUtils.getChoice(picked, fetched.toArray()); + GuiUtils.chooseOne(picked, fetched.toArray()); } else { - GuiUtils.getChoice(picked, new String[] { "" }); + GuiUtils.chooseOne(picked, new String[] { "" }); } } } // end changeHiddenOriginResolveAI diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCharm.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCharm.java index 482d634477a..45326e9f8d5 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCharm.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCharm.java @@ -1,190 +1,190 @@ -/* - * Forge: Play Magic: the Gathering. - * Copyright (C) 2011 Forge Team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package forge.card.abilityfactory; - -import java.util.ArrayList; - -import forge.card.spellability.AbilityActivated; -import forge.card.spellability.AbilitySub; -import forge.card.spellability.Spell; -import forge.card.spellability.SpellAbility; -import forge.gui.GuiUtils; - -// Charm specific params: -// Choices - a ","-delimited list of SVars containing ability choices - -/** - *

- * AbilityFactory_Charm class. - *

- * - * @author Forge - */ -public final class AbilityFactoryCharm { - - private AbilityFactoryCharm() { - throw new AssertionError(); - } - - /** - *

- * createAbilityCharm. - *

- * - * @param af - * a {@link forge.card.abilityfactory.AbilityFactory} object. - * @return a {@link forge.card.spellability.SpellAbility} object. - */ - public static SpellAbility createAbilityCharm(final AbilityFactory af) { - final SpellAbility abCharm = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { - private static final long serialVersionUID = -4038591081733095021L; - - @Override - public boolean canPlayAI() { - return AbilityFactoryCharm.charmCanPlayAI(af, this); - } - - @Override - public void resolve() { - AbilityFactoryCharm.charmResolve(af, this); - } - - @Override - public String getStackDescription() { - return AbilityFactoryCharm.charmStackDescription(af, this); - } - - @Override - public boolean doTrigger(final boolean mandatory) { - return AbilityFactoryCharm.charmCanPlayAI(af, this); - } - }; // Ability_Activated - - return abCharm; - } - - /** - *

- * createSpellCharm. - *

- * - * @param af - * a {@link forge.card.abilityfactory.AbilityFactory} object. - * @return a {@link forge.card.spellability.SpellAbility} object. - */ - public static SpellAbility createSpellCharm(final AbilityFactory af) { - final SpellAbility spCharm = new Spell(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { - private static final long serialVersionUID = -7297235470289087240L; - - @Override - public boolean canPlayAI() { - return AbilityFactoryCharm.charmCanPlayAI(af, this); - } - - @Override - public void resolve() { - AbilityFactoryCharm.charmResolve(af, this); - } - - @Override - public String getStackDescription() { - return AbilityFactoryCharm.charmStackDescription(af, this); - } - }; - - return spCharm; - } - - private static String charmStackDescription(final AbilityFactory af, final SpellAbility sa) { - final StringBuilder sb = new StringBuilder(); - - if (sa instanceof AbilitySub) { - sb.append(" "); - } else { - sb.append(sa.getSourceCard()).append(" - "); - } - // end standard begin - - // nothing stack specific for Charm - - // begin standard post - final AbilitySub abSub = sa.getSubAbility(); - if (abSub != null) { - sb.append(abSub.getStackDescription()); - } - - return sb.toString(); - } - - private static boolean charmCanPlayAI(final AbilityFactory af, final SpellAbility sa) { - // TODO - enable Charms for the AI - return false; - } - - private static void charmResolve(final AbilityFactory af, final SpellAbility sa) { - // nothing to do. Ability_Subs are set up in - // GameAction.playSpellAbility(), - // and that Ability_Sub.resolve() is called from AbilityFactory - } - - /** - * Sets the up charm s as. - * - * @param sa - * the new up charm s as - */ - public static void setupCharmSAs(final SpellAbility sa) { - // make Charm choices - if (sa.isCharm()) { - final ArrayList choices = new ArrayList(); - choices.addAll(sa.getCharmChoices()); - for (int i = 0; i < choices.size(); i++) { - if (!sa.canPlay()) { - choices.remove(sa); - } - } - for (int i = 0; i < sa.getCharmNumber(); i++) { - Object o; - if (i < sa.getMinCharmNumber()) { - o = GuiUtils.getChoice("Choose a mode", choices.toArray()); - } else { - o = GuiUtils.getChoiceOptional("Choose a mode", choices.toArray()); - } - if (null == o) { - break; - } - final AbilitySub chosen = (AbilitySub) o; - sa.addCharmChoice(chosen); - choices.remove(chosen); - - // walk down the SpellAbility tree and add to the child - // Ability_Sub - SpellAbility child = sa; - while (child.getSubAbility() != null) { - child = child.getSubAbility(); - } - child.setSubAbility(chosen); - if (chosen.getActivatingPlayer() == null) { - chosen.setActivatingPlayer(child.getActivatingPlayer()); - } - chosen.setParent(child); - } - } - } - -} // end class AbilityFactory_Charm +/* + * Forge: Play Magic: the Gathering. + * Copyright (C) 2011 Forge Team + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package forge.card.abilityfactory; + +import java.util.ArrayList; + +import forge.card.spellability.AbilityActivated; +import forge.card.spellability.AbilitySub; +import forge.card.spellability.Spell; +import forge.card.spellability.SpellAbility; +import forge.gui.GuiUtils; + +// Charm specific params: +// Choices - a ","-delimited list of SVars containing ability choices + +/** + *

+ * AbilityFactory_Charm class. + *

+ * + * @author Forge + */ +public final class AbilityFactoryCharm { + + private AbilityFactoryCharm() { + throw new AssertionError(); + } + + /** + *

+ * createAbilityCharm. + *

+ * + * @param af + * a {@link forge.card.abilityfactory.AbilityFactory} object. + * @return a {@link forge.card.spellability.SpellAbility} object. + */ + public static SpellAbility createAbilityCharm(final AbilityFactory af) { + final SpellAbility abCharm = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + private static final long serialVersionUID = -4038591081733095021L; + + @Override + public boolean canPlayAI() { + return AbilityFactoryCharm.charmCanPlayAI(af, this); + } + + @Override + public void resolve() { + AbilityFactoryCharm.charmResolve(af, this); + } + + @Override + public String getStackDescription() { + return AbilityFactoryCharm.charmStackDescription(af, this); + } + + @Override + public boolean doTrigger(final boolean mandatory) { + return AbilityFactoryCharm.charmCanPlayAI(af, this); + } + }; // Ability_Activated + + return abCharm; + } + + /** + *

+ * createSpellCharm. + *

+ * + * @param af + * a {@link forge.card.abilityfactory.AbilityFactory} object. + * @return a {@link forge.card.spellability.SpellAbility} object. + */ + public static SpellAbility createSpellCharm(final AbilityFactory af) { + final SpellAbility spCharm = new Spell(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + private static final long serialVersionUID = -7297235470289087240L; + + @Override + public boolean canPlayAI() { + return AbilityFactoryCharm.charmCanPlayAI(af, this); + } + + @Override + public void resolve() { + AbilityFactoryCharm.charmResolve(af, this); + } + + @Override + public String getStackDescription() { + return AbilityFactoryCharm.charmStackDescription(af, this); + } + }; + + return spCharm; + } + + private static String charmStackDescription(final AbilityFactory af, final SpellAbility sa) { + final StringBuilder sb = new StringBuilder(); + + if (sa instanceof AbilitySub) { + sb.append(" "); + } else { + sb.append(sa.getSourceCard()).append(" - "); + } + // end standard begin + + // nothing stack specific for Charm + + // begin standard post + final AbilitySub abSub = sa.getSubAbility(); + if (abSub != null) { + sb.append(abSub.getStackDescription()); + } + + return sb.toString(); + } + + private static boolean charmCanPlayAI(final AbilityFactory af, final SpellAbility sa) { + // TODO - enable Charms for the AI + return false; + } + + private static void charmResolve(final AbilityFactory af, final SpellAbility sa) { + // nothing to do. Ability_Subs are set up in + // GameAction.playSpellAbility(), + // and that Ability_Sub.resolve() is called from AbilityFactory + } + + /** + * Sets the up charm s as. + * + * @param sa + * the new up charm s as + */ + public static void setupCharmSAs(final SpellAbility sa) { + // make Charm choices + if (sa.isCharm()) { + final ArrayList choices = new ArrayList(); + choices.addAll(sa.getCharmChoices()); + for (int i = 0; i < choices.size(); i++) { + if (!sa.canPlay()) { + choices.remove(sa); + } + } + for (int i = 0; i < sa.getCharmNumber(); i++) { + Object o; + if (i < sa.getMinCharmNumber()) { + o = GuiUtils.chooseOne("Choose a mode", choices.toArray()); + } else { + o = GuiUtils.chooseOneOrNone("Choose a mode", choices.toArray()); + } + if (null == o) { + break; + } + final AbilitySub chosen = (AbilitySub) o; + sa.addCharmChoice(chosen); + choices.remove(chosen); + + // walk down the SpellAbility tree and add to the child + // Ability_Sub + SpellAbility child = sa; + while (child.getSubAbility() != null) { + child = child.getSubAbility(); + } + child.setSubAbility(chosen); + if (chosen.getActivatingPlayer() == null) { + chosen.setActivatingPlayer(child.getActivatingPlayer()); + } + chosen.setParent(child); + } + } + } + +} // end class AbilityFactory_Charm diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java index 9225a0b3735..ae82470613d 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java @@ -309,7 +309,7 @@ public final class AbilityFactoryChoose { while (!valid) { if (sa.getActivatingPlayer().isHuman()) { final Object o = GuiUtils - .getChoice("Choose a card type", CardUtil.getCardTypes().toArray()); + .chooseOne("Choose a card type", CardUtil.getCardTypes().toArray()); if (null == o) { return; } @@ -335,7 +335,7 @@ public final class AbilityFactoryChoose { for (final String s : invalidTypes) { validChoices.remove(s); } - final Object o = GuiUtils.getChoice("Choose a creature type", validChoices.toArray()); + final Object o = GuiUtils.chooseOne("Choose a creature type", validChoices.toArray()); if (null == o) { return; } @@ -372,7 +372,7 @@ public final class AbilityFactoryChoose { if (!CardUtil.isACreatureType(chosen) || invalidTypes.contains(chosen)) { chosen = "Sliver"; } - GuiUtils.getChoice("Computer picked: ", chosen); + GuiUtils.chooseOne("Computer picked: ", chosen); chosenType = chosen; } if (CardUtil.isACreatureType(chosenType) && !invalidTypes.contains(chosenType)) { @@ -384,7 +384,7 @@ public final class AbilityFactoryChoose { boolean valid = false; while (!valid) { if (sa.getActivatingPlayer().isHuman()) { - final Object o = GuiUtils.getChoice("Choose a basic land type", CardUtil.getBasicTypes() + final Object o = GuiUtils.chooseOne("Choose a basic land type", CardUtil.getBasicTypes() .toArray()); if (null == o) { return; @@ -404,7 +404,7 @@ public final class AbilityFactoryChoose { while (!valid) { if (sa.getActivatingPlayer().isHuman()) { final Object o = GuiUtils - .getChoice("Choose a land type", CardUtil.getLandTypes().toArray()); + .chooseOne("Choose a land type", CardUtil.getLandTypes().toArray()); if (null == o) { return; } @@ -650,11 +650,11 @@ public final class AbilityFactoryChoose { if ((tgt == null) || p.canBeTargetedBy(sa)) { if (sa.getActivatingPlayer().isHuman()) { if (params.containsKey("OrColors")) { - final List o = GuiUtils.getChoices("Choose a color or colors", + final List o = GuiUtils.chooseOneOrMany("Choose a color or colors", Constant.Color.ONLY_COLORS); card.setChosenColor(new ArrayList(o)); } else { - final Object o = GuiUtils.getChoice("Choose a color", Constant.Color.ONLY_COLORS); + final Object o = GuiUtils.chooseOne("Choose a color", Constant.Color.ONLY_COLORS); if (null == o) { return; } @@ -701,7 +701,7 @@ public final class AbilityFactoryChoose { if (chosen.equals("")) { chosen = Constant.Color.GREEN; } - GuiUtils.getChoice("Computer picked: ", chosen); + GuiUtils.chooseOne("Computer picked: ", chosen); final ArrayList colorTemp = new ArrayList(); colorTemp.add(chosen); card.setChosenColor(colorTemp); @@ -942,7 +942,7 @@ public final class AbilityFactoryChoose { final String message = "Randomly chosen number: " + chosen; JOptionPane.showMessageDialog(null, message, "" + card, JOptionPane.PLAIN_MESSAGE); } else { - final Object o = GuiUtils.getChoice("Choose a number", choices); + final Object o = GuiUtils.chooseOne("Choose a number", choices); if (null == o) { return; } @@ -1176,7 +1176,7 @@ public final class AbilityFactoryChoose { for (final Player p : tgtPlayers) { if ((tgt == null) || p.canBeTargetedBy(sa)) { if (sa.getActivatingPlayer().isHuman()) { - final Object o = GuiUtils.getChoice("Choose a player", choices.toArray()); + final Object o = GuiUtils.chooseOne("Choose a player", choices.toArray()); if (null == o) { return; } @@ -1496,7 +1496,7 @@ public final class AbilityFactoryChoose { if (chosen == "") { chosen = "Morphling"; } - GuiUtils.getChoice("Computer picked: ", chosen); + GuiUtils.chooseOne("Computer picked: ", chosen); host.setNamedCard(chosen); ok = true; } @@ -1729,7 +1729,7 @@ public final class AbilityFactoryChoose { final CardList cl = land.getType(type); if (cl.size() > 0) { final String prompt = "Choose a" + (type.equals("Island") ? "n " : " ") + type; - final Object o = GuiUtils.getChoice(prompt, cl.toArray()); + final Object o = GuiUtils.chooseOne(prompt, cl.toArray()); if (null != o) { final Card c = (Card) o; chosen.add(c); @@ -1949,7 +1949,7 @@ public final class AbilityFactoryChoose { for (final Player p : tgtPlayers) { if ((tgt == null) || p.canBeTargetedBy(sa)) { - String choice = (String) GuiUtils.getChoice("Choose one", choices.values().toArray()); + String choice = (String) GuiUtils.chooseOne("Choose one", choices.values().toArray()); AbilityFactory afChoice = new AbilityFactory(); final SpellAbility chosenSA = afChoice.getAbility(host.getSVar(choices.inverse().get(choice)), host); diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java index dae0dbc582f..90805299a11 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java @@ -696,7 +696,7 @@ public final class AbilityFactoryClash { // first, separate the cards into piles if (separator.isHuman()) { - final List l = GuiUtils.getChoicesOptional("Put into pile 1 (multi-select)", pool.toArray()); + final List l = GuiUtils.chooseNoneOrMany("Put into pile 1 (multi-select)", pool.toArray()); for (final Card c : l) { pile1.add(c); } @@ -753,7 +753,7 @@ public final class AbilityFactoryClash { // make sure Pile 1 or Pile 2 is clicked on boolean chosen = false; while (!chosen) { - final Object o = GuiUtils.getChoice("Choose a pile", disp); + final Object o = GuiUtils.chooseOne("Choose a pile", disp); final Card c = (Card) o; if (c.getName().equals("Pile 1")) { chosen = true; diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java index 2529919e427..4b8d5efb5dc 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java @@ -743,7 +743,7 @@ public final class AbilityFactoryCopy { if (tgtSpells.size() == 1) { chosenSA = tgtSpells.get(0); } else if (sa.getActivatingPlayer().isHuman()) { - chosenSA = (SpellAbility) GuiUtils.getChoice("Select a spell to copy", tgtSpells.toArray()); + chosenSA = (SpellAbility) GuiUtils.chooseOne("Select a spell to copy", tgtSpells.toArray()); } else { chosenSA = tgtSpells.get(0); } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java index d466a76aa84..0e210046d5a 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java @@ -698,7 +698,7 @@ public class AbilityFactoryCounters { for (int j = 0; j <= counterAmount; j++) { integers[j] = Integer.valueOf(j); } - final Integer i = GuiUtils.getChoiceOptional("How many counters?", integers); + final Integer i = GuiUtils.chooseOneOrNone("How many counters?", integers); if (null == i) { return; } else { @@ -1125,7 +1125,7 @@ public class AbilityFactoryCounters { } if (typeChoices.size() > 1) { String prompt = "Select type counters to remove"; - o = GuiUtils.getChoice(prompt, typeChoices.toArray()); + o = GuiUtils.chooseOne(prompt, typeChoices.toArray()); } else { o = typeChoices.get(0); @@ -1141,7 +1141,7 @@ public class AbilityFactoryCounters { choices.add("" + i); } String prompt = "Select the number of " + chosenType.getName() + " counters to remove"; - o = GuiUtils.getChoice(prompt, choices.toArray()); + o = GuiUtils.chooseOne(prompt, choices.toArray()); chosenAmount = Integer.parseInt((String) o); } } @@ -1177,7 +1177,7 @@ public class AbilityFactoryCounters { choices.add("" + i); } final String prompt = "Select the number of " + type + " counters to remove"; - final Object o = GuiUtils.getChoice(prompt, choices.toArray()); + final Object o = GuiUtils.chooseOne(prompt, choices.toArray()); counterAmount = Integer.parseInt((String) o); } } @@ -1436,7 +1436,7 @@ public class AbilityFactoryCounters { } if (choices.size() > 0) { card.addCounter( - Counters.getType((choices.size() == 1 ? choices.get(0) : GuiUtils.getChoice( + Counters.getType((choices.size() == 1 ? choices.get(0) : GuiUtils.chooseOne( "Select counter type", choices.toArray()).toString())), 1); } } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryMana.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryMana.java index 1f90446f20b..1a9f1065f4d 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryMana.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryMana.java @@ -317,7 +317,7 @@ public class AbilityFactoryMana { else { colorMenu = Constant.Color.ONLY_COLORS; } - Object o = GuiUtils.getChoice("Select Mana to Produce", colorMenu); + Object o = GuiUtils.chooseOne("Select Mana to Produce", colorMenu); if (o == null) { final StringBuilder sb = new StringBuilder(); sb.append("AbilityFactoryMana::manaResolve() - Human color mana choice is empty for "); @@ -337,7 +337,7 @@ public class AbilityFactoryMana { chosen = CardFactoryUtil.getMostProminentColor(AllZone.getComputerPlayer().getCardsIn( Zone.Hand)); } - GuiUtils.getChoice("Computer picked: ", chosen); + GuiUtils.chooseOne("Computer picked: ", chosen); abMana.setExpressChoice(InputPayManaCostUtil.getShortColorString(chosen)); } if (abMana.getExpressChoice().isEmpty()) { @@ -806,7 +806,7 @@ public class AbilityFactoryMana { baseMana = InputPayManaCostUtil.getShortColorString(colors.get(0)); } else { if (player.isHuman()) { - final Object o = GuiUtils.getChoiceOptional("Select Mana to Produce", colors.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Select Mana to Produce", colors.toArray()); if (o == null) { // User hit cancel abMana.setCanceled(true); diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java index 2ae7a01fcb8..70b4747fa62 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java @@ -2054,7 +2054,7 @@ public class AbilityFactoryPermanentState { if (AllZoneUtil.isCardInPlay(tgtC) && ((tgt == null) || tgtC.canBeTargetedBy(sa))) { if (sa.getActivatingPlayer().isHuman()) { final String[] tapOrUntap = new String[] { "Tap", "Untap" }; - final Object z = GuiUtils.getChoiceOptional("Tap or Untap " + tgtC + "?", tapOrUntap); + final Object z = GuiUtils.chooseOneOrNone("Tap or Untap " + tgtC + "?", tapOrUntap); if (null == z) { continue; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryPlay.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryPlay.java index 2335ef42118..6c86aa39e0f 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryPlay.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryPlay.java @@ -360,7 +360,7 @@ public final class AbilityFactoryPlay { Card tgtCard = tgtCards.get(0); if (tgtCards.size() > 1) { if (controller.isHuman()) { - tgtCard = (Card) GuiUtils.getChoice("Select a card to play", tgtCards.toArray()); + tgtCard = (Card) GuiUtils.chooseOne("Select a card to play", tgtCards.toArray()); } else { // AI tgtCards = tgtCards.filter(new CardListFilter() { @@ -420,7 +420,7 @@ public final class AbilityFactoryPlay { if (sas.size() == 1) { tgtSA = sas.get(0); } else if (sa.getActivatingPlayer().isHuman()) { - tgtSA = (SpellAbility) GuiUtils.getChoice("Select a spell to cast", sas.toArray()); + tgtSA = (SpellAbility) GuiUtils.chooseOne("Select a spell to cast", sas.toArray()); } else { tgtSA = sas.get(0); } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryProtection.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryProtection.java index e46505b9938..ba626478b72 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryProtection.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryProtection.java @@ -694,7 +694,7 @@ public final class AbilityFactoryProtection { final ArrayList gains = new ArrayList(); if (isChoice) { if (sa.getActivatingPlayer().isHuman()) { - final Object o = GuiUtils.getChoice("Choose a protection", choices.toArray()); + final Object o = GuiUtils.chooseOne("Choose a protection", choices.toArray()); if (null == o) { return; @@ -1084,7 +1084,7 @@ public final class AbilityFactoryProtection { final ArrayList gains = new ArrayList(); if (isChoice) { if (sa.getActivatingPlayer().isHuman()) { - final Object o = GuiUtils.getChoice("Choose a protection", choices.toArray()); + final Object o = GuiUtils.chooseOne("Choose a protection", choices.toArray()); if (null == o) { return; diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java index 6e0ab5909f0..7a09e38e725 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java @@ -397,7 +397,7 @@ public final class AbilityFactoryReveal { boolean cardsRevealed = false; if (params.containsKey("Reveal")) { - GuiUtils.getChoice("Revealing cards from library", top.toArray()); + GuiUtils.chooseOne("Revealing cards from library", top.toArray()); cardsRevealed = true; // Singletons.getModel().getGameAction().revealToCopmuter(top.toArray()); // - for when it exists @@ -407,18 +407,18 @@ public final class AbilityFactoryReveal { question += c + " "; } if (p.isHuman() && GameActionUtil.showYesNoDialog(host, question)) { - GuiUtils.getChoice(host + "Revealing cards from library", top.toArray()); + GuiUtils.chooseOne(host + "Revealing cards from library", top.toArray()); // Singletons.getModel().getGameAction().revealToCopmuter(top.toArray()); cardsRevealed = true; } else if (p.isComputer() && (top.get(0).isInstant() || top.get(0).isSorcery())) { - GuiUtils.getChoice(host + "Revealing cards from library", top.toArray()); + GuiUtils.chooseOne(host + "Revealing cards from library", top.toArray()); cardsRevealed = true; } } else if (params.containsKey("RevealValid")) { final String revealValid = params.get("RevealValid"); final CardList toReveal = top.getValidCards(revealValid, host.getController(), host); if (!toReveal.isEmpty()) { - GuiUtils.getChoice("Revealing cards from library", toReveal.toArray()); + GuiUtils.chooseOne("Revealing cards from library", toReveal.toArray()); if (params.containsKey("RememberRevealed")) { for (final Card one : toReveal) { host.addRemembered(one); @@ -429,7 +429,7 @@ public final class AbilityFactoryReveal { // - for when it exists } else if (choser.isHuman()) { // show the user the revealed cards - GuiUtils.getChoice("Looking at cards from library", top.toArray()); + GuiUtils.chooseOne("Looking at cards from library", top.toArray()); cardsRevealed = true; } @@ -499,9 +499,9 @@ public final class AbilityFactoryReveal { prompt = "Chose a card to put on top of the "; } if (anyNumber || optional) { - chosen = GuiUtils.getChoiceOptional(prompt + destZone1, valid.toArray()); + chosen = GuiUtils.chooseOneOrNone(prompt + destZone1, valid.toArray()); } else { - chosen = GuiUtils.getChoice(prompt + destZone1, valid.toArray()); + chosen = GuiUtils.chooseOne(prompt + destZone1, valid.toArray()); } if ((chosen == null) || chosen.getName().equals("[No valid cards]")) { break; @@ -552,7 +552,7 @@ public final class AbilityFactoryReveal { } } if (changeValid.length() > 0) { - GuiUtils.getChoice("Computer picked: ", chosen); + GuiUtils.chooseOne("Computer picked: ", chosen); } valid.remove(chosen); } @@ -579,7 +579,7 @@ public final class AbilityFactoryReveal { if (libraryPosition2 == -1) { prompt = "Put the rest on the bottom of the library in any order"; } - chosen = GuiUtils.getChoice(prompt, rest.toArray()); + chosen = GuiUtils.chooseOne(prompt, rest.toArray()); } else { chosen = rest.get(0); } @@ -975,7 +975,7 @@ public final class AbilityFactoryReveal { } if (revealed.size() > 0) { - GuiUtils.getChoice(p + " revealed: ", revealed.toArray()); + GuiUtils.chooseOne(p + " revealed: ", revealed.toArray()); } // TODO Allow Human to choose the order @@ -1327,7 +1327,7 @@ public final class AbilityFactoryReveal { final CardList hand = p.getCardsIn(Zone.Hand); if (sa.getActivatingPlayer().isHuman()) { if (hand.size() > 0) { - GuiUtils.getChoice(p + "'s hand", hand.toArray()); + GuiUtils.chooseOne(p + "'s hand", hand.toArray()); } else { final StringBuilder sb = new StringBuilder(); sb.append(p).append("'s hand is empty!"); @@ -1916,7 +1916,7 @@ public final class AbilityFactoryReveal { suffix = "th"; } final String title = "Put " + i + suffix + " from the top: "; - final Object o = GuiUtils.getChoiceOptional(title, topCards.toArray()); + final Object o = GuiUtils.chooseOneOrNone(title, topCards.toArray()); if (o == null) { break; } @@ -2215,7 +2215,7 @@ public final class AbilityFactoryReveal { final CardList revealed = new CardList(); if (params.containsKey("Random")) { revealed.add(CardUtil.getRandom(handChoices.toArray())); - GuiUtils.getChoice("Revealed card(s)", revealed.toArray()); + GuiUtils.chooseOne("Revealed card(s)", revealed.toArray()); } else { CardList valid = new CardList(handChoices); int max = 1; @@ -2226,7 +2226,7 @@ public final class AbilityFactoryReveal { max = valid.size(); } revealed.addAll(AbilityFactoryReveal.getRevealedList(sa.getActivatingPlayer(), valid, max)); - GuiUtils.getChoice("Revealed card(s)", revealed.toArray()); + GuiUtils.chooseOne("Revealed card(s)", revealed.toArray()); } if (params.containsKey("RememberRevealed")) { @@ -2254,7 +2254,7 @@ public final class AbilityFactoryReveal { for (int i = 0; i < validamount; i++) { if (player.isHuman()) { - final Object o = GuiUtils.getChoiceOptional("Choose card(s) to reveal", valid.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Choose card(s) to reveal", valid.toArray()); if (o != null) { chosen.add((Card) o); valid.remove((Card) o); diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactorySacrifice.java b/src/main/java/forge/card/abilityfactory/AbilityFactorySacrifice.java index c8017108b98..466c4b298e6 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactorySacrifice.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactorySacrifice.java @@ -532,9 +532,9 @@ public class AbilityFactorySacrifice { } Object o; if (optional) { - o = GuiUtils.getChoiceOptional("Select a card to sacrifice", list.toArray()); + o = GuiUtils.chooseOneOrNone("Select a card to sacrifice", list.toArray()); } else { - o = GuiUtils.getChoice("Select a card to sacrifice", list.toArray()); + o = GuiUtils.chooseOne("Select a card to sacrifice", list.toArray()); } if (o != null) { final Card c = (Card) o; diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java index 122c522e34b..50bff4250a1 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java @@ -569,7 +569,7 @@ public class AbilityFactoryZoneAffecting { } else { final CardList drawn = p.drawCards(numCards); if (params.containsKey("Reveal")) { - GuiUtils.getChoice("Revealing drawn cards", drawn.toArray()); + GuiUtils.chooseOne("Revealing drawn cards", drawn.toArray()); } if (params.containsKey("RememberDrawn")) { for (final Card c : drawn) { @@ -1201,7 +1201,7 @@ public class AbilityFactoryZoneAffecting { if (p.isHuman()) { // "reveal to computer" for information gathering } else { - GuiUtils.getChoiceOptional("Revealed computer hand", dPHand.toArray()); + GuiUtils.chooseOneOrNone("Revealed computer hand", dPHand.toArray()); } String valid = params.get("DiscardValid"); @@ -1269,7 +1269,7 @@ public class AbilityFactoryZoneAffecting { if (mode.startsWith("Reveal")) { final CardList dCs = new CardList(); dCs.add(dC); - GuiUtils.getChoiceOptional("Computer has chosen", dCs.toArray()); + GuiUtils.chooseOneOrNone("Computer has chosen", dCs.toArray()); } discarded.add(dC); p.discard(dC, sa); @@ -1278,17 +1278,17 @@ public class AbilityFactoryZoneAffecting { } else { // human if (mode.startsWith("Reveal")) { - GuiUtils.getChoiceOptional("Revealed " + p + " hand", dPHand.toArray()); + GuiUtils.chooseOneOrNone("Revealed " + p + " hand", dPHand.toArray()); } for (int i = 0; i < numCards; i++) { if (dPChHand.size() > 0) { Card dC = null; if (params.containsKey("Optional")) { - dC = GuiUtils.getChoiceOptional("Choose a card to be discarded", + dC = GuiUtils.chooseOneOrNone("Choose a card to be discarded", dPChHand.toArray()); } else { - dC = GuiUtils.getChoice("Choose a card to be discarded", + dC = GuiUtils.chooseOne("Choose a card to be discarded", dPChHand.toArray()); } if (dC != null) { dPChHand.remove(dC); diff --git a/src/main/java/forge/card/cardfactory/AbstractCardFactory.java b/src/main/java/forge/card/cardfactory/AbstractCardFactory.java index f69a7d28e09..89861c76faa 100644 --- a/src/main/java/forge/card/cardfactory/AbstractCardFactory.java +++ b/src/main/java/forge/card/cardfactory/AbstractCardFactory.java @@ -559,7 +559,7 @@ public abstract class AbstractCardFactory implements CardFactoryInterface { imageName = "B 1 1 Thrull"; color = "B"; } else if (player.isHuman()) { - final Object q = GuiUtils.getChoiceOptional("Select type of creature", choices); + final Object q = GuiUtils.chooseOneOrNone("Select type of creature", choices); if (q != null) { if (q.equals("Citizen")) { type = "Citizen"; @@ -684,7 +684,7 @@ public abstract class AbstractCardFactory implements CardFactoryInterface { chooseGrave.addAll(grave); } - final Object o = GuiUtils.getChoice("Choose first creature to exile", chooseGrave.toArray()); + final Object o = GuiUtils.chooseOne("Choose first creature to exile", chooseGrave.toArray()); if (o != null) { CardList newGrave; final Card c = (Card) o; @@ -697,7 +697,7 @@ public abstract class AbstractCardFactory implements CardFactoryInterface { newGrave = newGrave.getType("Creature"); newGrave.remove(c); - final Object o2 = GuiUtils.getChoice("Choose second creature to exile", newGrave.toArray()); + final Object o2 = GuiUtils.chooseOne("Choose second creature to exile", newGrave.toArray()); if (o2 != null) { final Card c2 = (Card) o2; newGrave.remove(c2); @@ -989,7 +989,7 @@ public abstract class AbstractCardFactory implements CardFactoryInterface { } } } // while - GuiUtils.getChoiceOptional("Revealed cards:", revealed.toArray()); + GuiUtils.chooseOneOrNone("Revealed cards:", revealed.toArray()); for (final Card revealedCard : revealed) { Singletons.getModel().getGameAction().moveToBottomOfLibrary(revealedCard); } @@ -1066,7 +1066,7 @@ public abstract class AbstractCardFactory implements CardFactoryInterface { if (i == 4) { title = "Put fourth from top of library: "; } - final Object o = GuiUtils.getChoiceOptional(title, lands.toArray()); + final Object o = GuiUtils.chooseOneOrNone(title, lands.toArray()); if (o == null) { break; } @@ -1190,7 +1190,7 @@ public abstract class AbstractCardFactory implements CardFactoryInterface { for (int j = 0; j <= num; j++) { choices[j] = "" + j; } - final String answer = (GuiUtils.getChoiceOptional("Life to pay:", choices)); + final String answer = (GuiUtils.chooseOneOrNone("Life to pay:", choices)); lifeToPay = Integer.parseInt(answer); } else { // not implemented for Compy @@ -1264,7 +1264,7 @@ public abstract class AbstractCardFactory implements CardFactoryInterface { // Then look at the exiled cards and put them on // top of your library in any order. while (this.exiled.size() > 0) { - final Object o = GuiUtils.getChoice("Put a card on top of your library.", + final Object o = GuiUtils.chooseOne("Put a card on top of your library.", this.exiled.toArray()); final Card c1 = (Card) o; Singletons.getModel().getGameAction().moveToLibrary(c1); diff --git a/src/main/java/forge/card/cardfactory/CardFactoryAuras.java b/src/main/java/forge/card/cardfactory/CardFactoryAuras.java index e0fb557a678..b5b8c42bb2a 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryAuras.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryAuras.java @@ -125,7 +125,7 @@ class CardFactoryAuras { public void resolve() { // Only query player, AI will have decided already. if (card.getController().isHuman()) { - newType[0] = GuiUtils.getChoice("Select land type.", "Plains", "Island", "Swamp", "Mountain", + newType[0] = GuiUtils.chooseOne("Select land type.", "Plains", "Island", "Swamp", "Mountain", "Forest"); } Singletons.getModel().getGameAction().moveToPlay(card); diff --git a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java index 2550c44c03a..ed3ae2a379e 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java @@ -271,7 +271,7 @@ public class CardFactoryCreatures { final String[] choices = { "3/3", "2/2 with flying", "1/6 with defender" }; if (card.getController().isHuman()) { - choice = GuiUtils.getChoice("Choose one", choices); + choice = GuiUtils.chooseOne("Choose one", choices); } else { choice = choices[MyRandom.getRandom().nextInt(3)]; } @@ -630,7 +630,7 @@ public class CardFactoryCreatures { if (card.getController().isHuman()) { final String[] colors = Constant.Color.ONLY_COLORS; - final Object o = GuiUtils.getChoice("Choose color", colors); + final Object o = GuiUtils.chooseOne("Choose color", colors); color[0] = (String) o; } else { // AI chooses the color that appears in the keywords of @@ -831,7 +831,7 @@ public class CardFactoryCreatures { int lifeGain = 0; if (card.getController().isHuman()) { final String[] choices = { "white", "blue", "black", "red", "green" }; - final Object o = GuiUtils.getChoiceOptional("Select Color: ", choices); + final Object o = GuiUtils.chooseOneOrNone("Select Color: ", choices); Log.debug("Treva, the Renewer", "Color:" + o); lifeGain = CardFactoryUtil.getNumberOfPermanentsByColor((String) o); @@ -874,7 +874,7 @@ public class CardFactoryCreatures { final CardList cl = new CardList(); cl.add(lib.get(0)); - GuiUtils.getChoiceOptional("Top card", cl.toArray()); + GuiUtils.chooseOneOrNone("Top card", cl.toArray()); } @Override @@ -1178,7 +1178,7 @@ public class CardFactoryCreatures { list = list.getType("Enchantment"); if (list.size() > 0) { - final Object objectSelected = GuiUtils.getChoiceOptional("Choose an enchantment", + final Object objectSelected = GuiUtils.chooseOneOrNone("Choose an enchantment", list.toArray()); if (objectSelected != null) { @@ -1520,7 +1520,7 @@ public class CardFactoryCreatures { if (card.getController().isHuman()) { if (creats.size() > 0) { - final List selection = GuiUtils.getChoicesOptional("Select creatures to sacrifice", + final List selection = GuiUtils.chooseNoneOrMany("Select creatures to sacrifice", creats.toArray()); numCreatures[0] = selection.size(); @@ -1600,7 +1600,7 @@ public class CardFactoryCreatures { life[i] = String.valueOf(i); } - final Object o = GuiUtils.getChoice("Nameless Race - pay X life", life); + final Object o = GuiUtils.chooseOne("Nameless Race - pay X life", life); final String answer = (String) o; int loseLife = 0; try { @@ -2125,7 +2125,7 @@ public class CardFactoryCreatures { public void showMessage() { final String message = "Select a creature in a graveyard"; final CardList choices = AllZoneUtil.getCardsIn(Zone.Graveyard); - final Object o = GuiUtils.getChoiceOptional(message, choices.toArray()); + final Object o = GuiUtils.chooseOneOrNone(message, choices.toArray()); if (null == o) { this.stop(); } else { @@ -2179,9 +2179,9 @@ public class CardFactoryCreatures { hand.remove(random); } if (!revealed.isEmpty()) { - GuiUtils.getChoice("Revealed at random", revealed.toArray()); + GuiUtils.chooseOne("Revealed at random", revealed.toArray()); } else { - GuiUtils.getChoice("Revealed at random", new String[] { "Nothing to reveal" }); + GuiUtils.chooseOne("Revealed at random", new String[] { "Nothing to reveal" }); } for (final Card c : revealed) { diff --git a/src/main/java/forge/card/cardfactory/CardFactoryInstants.java b/src/main/java/forge/card/cardfactory/CardFactoryInstants.java index e6b4b5e342c..7585ba2c47e 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryInstants.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryInstants.java @@ -290,7 +290,7 @@ public class CardFactoryInstants { final CardList libraryList = AllZone.getHumanPlayer().getCardsIn(Zone.Library); final CardList selectedCards = new CardList(); - Object o = GuiUtils.getChoiceOptional("Select first card", libraryList.toArray()); + Object o = GuiUtils.chooseOneOrNone("Select first card", libraryList.toArray()); if (o != null) { final Card c1 = (Card) o; libraryList.remove(c1); @@ -298,7 +298,7 @@ public class CardFactoryInstants { } else { return; } - o = GuiUtils.getChoiceOptional("Select second card", libraryList.toArray()); + o = GuiUtils.chooseOneOrNone("Select second card", libraryList.toArray()); if (o != null) { final Card c2 = (Card) o; libraryList.remove(c2); @@ -306,7 +306,7 @@ public class CardFactoryInstants { } else { return; } - o = GuiUtils.getChoiceOptional("Select third card", libraryList.toArray()); + o = GuiUtils.chooseOneOrNone("Select third card", libraryList.toArray()); if (o != null) { final Card c3 = (Card) o; libraryList.remove(c3); @@ -354,7 +354,7 @@ public class CardFactoryInstants { // NOTE: Using getChoiceOptional() results in a null error // when you click on Cancel. - final Object o = GuiUtils.getChoice("Select card to give to computer", selectedCards.toArray()); + final Object o = GuiUtils.chooseOne("Select card to give to computer", selectedCards.toArray()); final Card choice = (Card) o; @@ -401,7 +401,7 @@ public class CardFactoryInstants { if (player.isHuman()) { for (int i = 0; i < x; i++) { - final Object o = GuiUtils.getChoice("Remove from game", graveList.toArray()); + final Object o = GuiUtils.chooseOne("Remove from game", graveList.toArray()); if (o == null) { break; } @@ -553,7 +553,7 @@ public class CardFactoryInstants { } for (int i = 0; (i < 3) && !choices.isEmpty(); i++) { - final Object o = GuiUtils.getChoice(this.prompt[i], choices.toArray()); + final Object o = GuiUtils.chooseOne(this.prompt[i], choices.toArray()); final Card c1 = (Card) o; if (i == 0) { Singletons.getModel().getGameAction().moveToHand(c1); @@ -640,12 +640,12 @@ public class CardFactoryInstants { @Override public void resolve() { final String[] choices = new String[] { "Artifact", "Creature", "Land" }; - final Object o = GuiUtils.getChoice("Select permanent type", choices); + final Object o = GuiUtils.chooseOne("Select permanent type", choices); final String cardType = (String) o; final CardList list = this.getTargetPlayer().getCardsIn(Zone.Battlefield).getType(cardType); final String[] tapOrUntap = new String[] { "Tap", "Untap" }; - final Object z = GuiUtils.getChoice("Tap or Untap?", tapOrUntap); + final Object z = GuiUtils.chooseOne("Tap or Untap?", tapOrUntap); final boolean tap = (z.equals("Tap")) ? true : false; for (final Card c : list) { diff --git a/src/main/java/forge/card/cardfactory/CardFactoryLands.java b/src/main/java/forge/card/cardfactory/CardFactoryLands.java index df99318d958..8e7308de885 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryLands.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryLands.java @@ -606,7 +606,7 @@ class CardFactoryLands { for (int j = 0; j <= num[0]; j++) { choices[j] = "" + j; } - final String answer = (GuiUtils.getChoiceOptional("Storage counters to remove", choices)); + final String answer = (GuiUtils.chooseOneOrNone("Storage counters to remove", choices)); if (answer == null) { this.stop(); return; @@ -616,7 +616,7 @@ class CardFactoryLands { final StringBuilder sb = new StringBuilder(); sb.append("Number of ").append(primary).append(" to add"); - final String splitNum = (GuiUtils.getChoiceOptional(sb.toString(), choices)); + final String splitNum = (GuiUtils.chooseOneOrNone(sb.toString(), choices)); if (splitNum == null) { this.stop(); return; diff --git a/src/main/java/forge/card/cardfactory/CardFactoryPlaneswalkers.java b/src/main/java/forge/card/cardfactory/CardFactoryPlaneswalkers.java index 8af4478e14a..15db38a393f 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryPlaneswalkers.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryPlaneswalkers.java @@ -93,7 +93,7 @@ public class CardFactoryPlaneswalkers { final int convertedManaTopCard = CardUtil.getConvertedManaCost(topCard.getManaCost()); final CardList showTop = new CardList(); showTop.add(topCard); - GuiUtils.getChoiceOptional("Revealed top card: ", showTop.toArray()); + GuiUtils.chooseOneOrNone("Revealed top card: ", showTop.toArray()); // now, move it to player's hand Singletons.getModel().getGameAction().moveToHand(topCard); diff --git a/src/main/java/forge/card/cardfactory/CardFactorySorceries.java b/src/main/java/forge/card/cardfactory/CardFactorySorceries.java index b2e4c713d06..60c50b44b35 100644 --- a/src/main/java/forge/card/cardfactory/CardFactorySorceries.java +++ b/src/main/java/forge/card/cardfactory/CardFactorySorceries.java @@ -285,12 +285,12 @@ public class CardFactorySorceries { final StringBuilder msg = new StringBuilder(); msg.append("Revealing top ").append(count).append(" cards of library: "); - GuiUtils.getChoice(msg.toString(), cards.toArray()); + GuiUtils.chooseOne(msg.toString(), cards.toArray()); // Human chooses if (card.getController().isComputer()) { for (int i = 0; i < count; i++) { if (!stop) { - choice = GuiUtils.getChoiceOptional("Choose cards to put into the first pile: ", + choice = GuiUtils.chooseOneOrNone("Choose cards to put into the first pile: ", cards.toArray()); if (choice != null) { pile1.add(choice); @@ -400,7 +400,7 @@ public class CardFactorySorceries { final int numChosen = chosen.size(); for (int i = 0; i < numChosen; i++) { - final Object check = GuiUtils.getChoiceOptional("Select spells to play in reverse order: ", + final Object check = GuiUtils.chooseOneOrNone("Select spells to play in reverse order: ", chosen.toArray()); if (check == null) { break; @@ -1369,7 +1369,7 @@ public class CardFactorySorceries { final int num = CardFactoryUtil.getNumberOfManaSymbolsByColor("U", topCards); final StringBuilder sb = new StringBuilder(); sb.append("Revealed cards - ").append(num).append(" U mana symbols"); - GuiUtils.getChoiceOptional(sb.toString(), topCards.toArray()); + GuiUtils.chooseOneOrNone(sb.toString(), topCards.toArray()); // opponent moves this many cards to graveyard opp.mill(num); @@ -1747,7 +1747,7 @@ public class CardFactorySorceries { } }); - final Object check = GuiUtils.getChoiceOptional("Select target creature with CMC < X", + final Object check = GuiUtils.chooseOneOrNone("Select target creature with CMC < X", grave.toArray()); if (check != null) { final Card c = (Card) check; @@ -1837,7 +1837,7 @@ public class CardFactorySorceries { for (int i = 0; i <= card.getController().getLife(); i++) { choices.add("" + i); } - final Object o = GuiUtils.getChoice("Choose X", choices.toArray()); + final Object o = GuiUtils.chooseOne("Choose X", choices.toArray()); // everything stops here if user cancelled if (o == null) { this.stop(); @@ -1927,7 +1927,7 @@ public class CardFactorySorceries { private ArrayList chooseTwo(final ArrayList choices) { final ArrayList out = new ArrayList(); - Object o = GuiUtils.getChoiceOptional("Choose Two", choices.toArray()); + Object o = GuiUtils.chooseOneOrNone("Choose Two", choices.toArray()); if (o == null) { return null; } @@ -1935,7 +1935,7 @@ public class CardFactorySorceries { out.add((String) o); card.addSpellChoice((String) o); choices.remove(out.get(0)); - o = GuiUtils.getChoiceOptional("Choose Two", choices.toArray()); + o = GuiUtils.chooseOneOrNone("Choose Two", choices.toArray()); if (o == null) { return null; } @@ -2014,7 +2014,7 @@ public class CardFactorySorceries { // Sacrifice an artifact CardList arts = p.getCardsIn(Constant.Zone.Battlefield); arts = arts.filter(CardListFilter.ARTIFACTS); - final Object toSac = GuiUtils.getChoiceOptional("Sacrifice an artifact", arts.toArray()); + final Object toSac = GuiUtils.chooseOneOrNone("Sacrifice an artifact", arts.toArray()); if (toSac != null) { final Card c = (Card) toSac; baseCMC = CardUtil.getConvertedManaCost(c); @@ -2025,9 +2025,9 @@ public class CardFactorySorceries { // Search your library for an artifact final CardList lib = p.getCardsIn(Zone.Library); - GuiUtils.getChoiceOptional("Looking at Library", lib.toArray()); + GuiUtils.chooseOneOrNone("Looking at Library", lib.toArray()); final CardList libArts = lib.filter(CardListFilter.ARTIFACTS); - final Object o = GuiUtils.getChoiceOptional("Search for artifact", libArts.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Search for artifact", libArts.toArray()); if (o != null) { newArtifact[0] = (Card) o; } else { diff --git a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java index bebe3f07898..bca0399cba9 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java @@ -807,7 +807,7 @@ public class CardFactoryUtil { this.stop(); } Singletons.getControl().getControlMatch().showMessage("Select target Spell: "); - final Card choice = GuiUtils.getChoiceOptional("Choose a Spell", choices.toArray()); + final Card choice = GuiUtils.chooseOneOrNone("Choose a Spell", choices.toArray()); if (choice != null) { spell.setTargetCard(choice); this.done(); @@ -1130,7 +1130,7 @@ public class CardFactoryUtil { return; } - final Object o = GuiUtils.getChoiceOptional("Select a card", sameType.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Select a card", sameType.toArray()); if (o != null) { // ability.setTargetCard((Card)o); @@ -1209,7 +1209,7 @@ public class CardFactoryUtil { return; } - final Object o = GuiUtils.getChoiceOptional("Select a card", sameCost.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Select a card", sameCost.toArray()); if (o != null) { // ability.setTargetCard((Card)o); @@ -1665,7 +1665,7 @@ public class CardFactoryUtil { question.append(manacost).append(" or less from your graveyard to your hand?"); if (GameActionUtil.showYesNoDialog(sourceCard, question.toString())) { - final Object o = GuiUtils.getChoiceOptional("Select a card", sameCost.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Select a card", sameCost.toArray()); if (o != null) { final Card c1 = (Card) o; @@ -5146,7 +5146,7 @@ public class CardFactoryUtil { card.clearDevoured(); if (card.getController().isHuman()) { if (creats.size() > 0) { - final List selection = GuiUtils.getChoicesOptional( + final List selection = GuiUtils.chooseNoneOrMany( "Select creatures to sacrifice", creats.toArray()); numCreatures[0] = selection.size(); diff --git a/src/main/java/forge/card/cost/CostExile.java b/src/main/java/forge/card/cost/CostExile.java index 9fde5701bb7..5b0c7eb14b5 100644 --- a/src/main/java/forge/card/cost/CostExile.java +++ b/src/main/java/forge/card/cost/CostExile.java @@ -328,7 +328,7 @@ public class CostExile extends CostPartWithList { } final Object o = GuiUtils - .getChoiceOptional("Exile from " + part.getFrom(), this.typeList.toArray()); + .chooseOneOrNone("Exile from " + part.getFrom(), this.typeList.toArray()); if (o != null) { final Card c = (Card) o; diff --git a/src/main/java/forge/card/cost/CostReveal.java b/src/main/java/forge/card/cost/CostReveal.java index 8082fd0a463..a28595ed58d 100644 --- a/src/main/java/forge/card/cost/CostReveal.java +++ b/src/main/java/forge/card/cost/CostReveal.java @@ -125,7 +125,7 @@ public class CostReveal extends CostPartWithList { */ @Override public final void payAI(final SpellAbility ability, final Card source, final CostPayment payment) { - GuiUtils.getChoiceOptional("Revealed cards:", this.getList().toArray()); + GuiUtils.chooseOneOrNone("Revealed cards:", this.getList().toArray()); } /* diff --git a/src/main/java/forge/card/cost/CostUtil.java b/src/main/java/forge/card/cost/CostUtil.java index 99b540f26ad..402c6636553 100644 --- a/src/main/java/forge/card/cost/CostUtil.java +++ b/src/main/java/forge/card/cost/CostUtil.java @@ -276,7 +276,7 @@ public class CostUtil { for (int i = 0; i < choiceArray.length; i++) { choiceArray[i] = i; } - final Object o = GuiUtils.getChoice(card.toString() + " - Choose a Value for X", choiceArray); + final Object o = GuiUtils.chooseOne(card.toString() + " - Choose a Value for X", choiceArray); final int chosenX = (Integer) o; card.setSVar("ChosenX", "Number$" + Integer.toString(chosenX)); @@ -302,7 +302,7 @@ public class CostUtil { for (int i = 0; i < choiceArray.length; i++) { choiceArray[i] = i; } - final Object o = GuiUtils.getChoice(card.toString() + " - Choose a Value for Y", choiceArray); + final Object o = GuiUtils.chooseOne(card.toString() + " - Choose a Value for Y", choiceArray); final int chosenY = (Integer) o; card.setSVar("ChosenY", "Number$" + Integer.toString(chosenY)); diff --git a/src/main/java/forge/card/mana/ManaPool.java b/src/main/java/forge/card/mana/ManaPool.java index 1de6ca2c023..0ee46cf92db 100644 --- a/src/main/java/forge/card/mana/ManaPool.java +++ b/src/main/java/forge/card/mana/ManaPool.java @@ -452,7 +452,7 @@ public class ManaPool { Object o; if (this.owner.isHuman()) { - o = GuiUtils.getChoiceOptional("Pay Mana from Mana Pool", alChoice.toArray()); + o = GuiUtils.chooseOneOrNone("Pay Mana from Mana Pool", alChoice.toArray()); } else { o = alChoice.get(0); // owner is computer } diff --git a/src/main/java/forge/card/replacement/ReplacementHandler.java b/src/main/java/forge/card/replacement/ReplacementHandler.java index aee06118b6d..04040115f26 100644 --- a/src/main/java/forge/card/replacement/ReplacementHandler.java +++ b/src/main/java/forge/card/replacement/ReplacementHandler.java @@ -94,7 +94,7 @@ public class ReplacementHandler { if (possibleReplacers.size() > 1) { if (decider.isHuman()) { - chosenRE = (ReplacementEffect) GuiUtils.getChoice("Choose which replacement effect to apply.", + chosenRE = (ReplacementEffect) GuiUtils.chooseOne("Choose which replacement effect to apply.", possibleReplacers.toArray()); } else { // AI logic for choosing which replacement effect to apply diff --git a/src/main/java/forge/card/spellability/TargetSelection.java b/src/main/java/forge/card/spellability/TargetSelection.java index 42aa3fe2cd9..d4cbd85c794 100644 --- a/src/main/java/forge/card/spellability/TargetSelection.java +++ b/src/main/java/forge/card/spellability/TargetSelection.java @@ -417,7 +417,7 @@ public class TargetSelection { // is there a more elegant way of doing this? choicesWithDone.add(dummy); } - final Object check = GuiUtils.getChoiceOptional(message, choicesWithDone.toArray()); + final Object check = GuiUtils.chooseOneOrNone(message, choicesWithDone.toArray()); if (check != null) { final Card c = (Card) check; if (c.equals(dummy)) { @@ -460,7 +460,7 @@ public class TargetSelection { if (choices.length == 0) { select.setCancel(true); } else { - final String madeChoice = GuiUtils.getChoiceOptional(message, choices); + final String madeChoice = GuiUtils.chooseOneOrNone(message, choices); if (madeChoice != null) { tgt.addTarget(map.get(madeChoice)); diff --git a/src/main/java/forge/control/home/ControlConstructed.java b/src/main/java/forge/control/home/ControlConstructed.java index 7aeb2f9d5b2..61dce30ab34 100644 --- a/src/main/java/forge/control/home/ControlConstructed.java +++ b/src/main/java/forge/control/home/ControlConstructed.java @@ -13,6 +13,8 @@ import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.SwingUtilities; +import org.apache.commons.lang3.ArrayUtils; + import forge.CardList; import forge.Constant; import forge.PlayerType; @@ -26,6 +28,7 @@ import forge.game.GameNew; import forge.game.GameType; import forge.properties.ForgePreferences.FPref; import forge.quest.data.QuestEvent; +import forge.quest.data.QuestEventManager; import forge.util.IStorage; import forge.view.home.ViewConstructed; @@ -330,17 +333,17 @@ public class ControlConstructed { private String[] getEventNames() { final List eventNames = new ArrayList(); - eventNames.clear(); - - for (final QuestEvent e : Singletons.getModel().getQuestEventManager().getAllChallenges()) { + final QuestEventManager qm = Singletons.getModel().getQuestEventManager(); + + for (final QuestEvent e : qm.getAllChallenges()) { eventNames.add(e.getEventDeck().getName()); } - for (final QuestEvent e : Singletons.getModel().getQuestEventManager().getAllDuels()) { + for (final QuestEvent e : qm.getAllDuels()) { eventNames.add(e.getEventDeck().getName()); } - return oa2sa(eventNames.toArray()); + return eventNames.toArray(ArrayUtils.EMPTY_STRING_ARRAY); } /** diff --git a/src/main/java/forge/control/home/ControlDraft.java b/src/main/java/forge/control/home/ControlDraft.java index 76b7ffeb65d..7ebcb881e5d 100644 --- a/src/main/java/forge/control/home/ControlDraft.java +++ b/src/main/java/forge/control/home/ControlDraft.java @@ -161,7 +161,7 @@ public class ControlDraft { draftTypes.add("Custom"); final String prompt = "Choose Draft Format:"; - final Object o = GuiUtils.getChoice(prompt, draftTypes.toArray()); + final Object o = GuiUtils.chooseOne(prompt, draftTypes.toArray()); if (o.toString().equals(draftTypes.get(0))) { draft.showGui(new BoosterDraft(CardPoolLimitation.Full)); diff --git a/src/main/java/forge/control/home/ControlSealed.java b/src/main/java/forge/control/home/ControlSealed.java index 24f52cd08ed..3746019f421 100644 --- a/src/main/java/forge/control/home/ControlSealed.java +++ b/src/main/java/forge/control/home/ControlSealed.java @@ -151,7 +151,7 @@ public class ControlSealed { sealedTypes.add("Custom"); final String prompt = "Choose Sealed Deck Format:"; - final Object o = GuiUtils.getChoice(prompt, sealedTypes.toArray()); + final Object o = GuiUtils.chooseOne(prompt, sealedTypes.toArray()); SealedDeck sd = null; diff --git a/src/main/java/forge/control/input/InputPayManaCostUtil.java b/src/main/java/forge/control/input/InputPayManaCostUtil.java index f6a177ede2f..925a427e82f 100644 --- a/src/main/java/forge/control/input/InputPayManaCostUtil.java +++ b/src/main/java/forge/control/input/InputPayManaCostUtil.java @@ -183,7 +183,7 @@ public class InputPayManaCostUtil { for (final AbilityMana am : abilities) { ability.put(am.toString(), am); } - chosen = (AbilityMana) GuiUtils.getChoice("Choose mana ability", abilities.toArray()); + chosen = GuiUtils.chooseOne("Choose mana ability", abilities); } // save off color needed for use by any mana and reflected mana diff --git a/src/main/java/forge/control/match/ControlField.java b/src/main/java/forge/control/match/ControlField.java index d478fb96960..e858d00d4fd 100644 --- a/src/main/java/forge/control/match/ControlField.java +++ b/src/main/java/forge/control/match/ControlField.java @@ -261,7 +261,7 @@ public class ControlField { final ArrayList choices2 = new ArrayList(); if (choices.isEmpty()) { - GuiUtils.getChoiceOptional(this.title, new String[] { "no cards" }); + GuiUtils.chooseOneOrNone(this.title, new String[] { "no cards" }); } else { for (int i = 0; i < choices.size(); i++) { final Card crd = choices.get(i); @@ -276,7 +276,7 @@ public class ControlField { } } // System.out.println("Face down cards replaced: "+choices2); - final Card choice = (Card) GuiUtils.getChoiceOptional(this.title, choices2.toArray()); + final Card choice = (Card) GuiUtils.chooseOneOrNone(this.title, choices2.toArray()); if (choice != null) { this.doAction(choice); /* diff --git a/src/main/java/forge/control/match/ControlWinLose.java b/src/main/java/forge/control/match/ControlWinLose.java index 9ab9c1f9a1a..67e54be2bd3 100644 --- a/src/main/java/forge/control/match/ControlWinLose.java +++ b/src/main/java/forge/control/match/ControlWinLose.java @@ -103,7 +103,7 @@ public class ControlWinLose { Constant.Runtime.COMPUTER_DECK[0] = cDeck; - List o = GuiUtils.getChoicesOptional("Select cards to add to your deck", compAntes.toArray()); + List o = GuiUtils.chooseNoneOrMany("Select cards to add to your deck", compAntes.toArray()); if (null != o) { for (Card c : o) { hDeck.getMain().add(c); diff --git a/src/main/java/forge/game/limited/BoosterDraft.java b/src/main/java/forge/game/limited/BoosterDraft.java index b76686e8cdc..0969352fc93 100644 --- a/src/main/java/forge/game/limited/BoosterDraft.java +++ b/src/main/java/forge/game/limited/BoosterDraft.java @@ -93,7 +93,7 @@ public final class BoosterDraft implements IBoosterDraft { case Block: // Draft from cards by block or set - final Object o = GuiUtils.getChoice("Choose Block", UtilFunctions.iteratorToArray(Singletons.getModel().getBlocks().iterator(), new CardBlock[]{})); + final Object o = GuiUtils.chooseOne("Choose Block", UtilFunctions.iteratorToArray(Singletons.getModel().getBlocks().iterator(), new CardBlock[]{})); final CardBlock block = (CardBlock) o; final CardEdition[] cardSets = block.getSets(); @@ -119,7 +119,7 @@ public final class BoosterDraft implements IBoosterDraft { } if (sets.length > 1) { - final Object p = GuiUtils.getChoice("Choose Set Combination", setCombos.toArray()); + final Object p = GuiUtils.chooseOne("Choose Set Combination", setCombos.toArray()); final String[] pp = p.toString().split("/"); for (int i = 0; i < nPacks; i++) { this.product.add(new UnOpenedProduct(Singletons.getModel().getBoosters().get(pp[i]))); @@ -142,7 +142,7 @@ public final class BoosterDraft implements IBoosterDraft { JOptionPane .showMessageDialog(null, "No custom draft files found.", "", JOptionPane.INFORMATION_MESSAGE); } else { - final CustomLimited draft = (CustomLimited) GuiUtils.getChoice("Choose Custom Draft", + final CustomLimited draft = (CustomLimited) GuiUtils.chooseOne("Choose Custom Draft", myDrafts.toArray()); this.setupCustomDraft(draft); } diff --git a/src/main/java/forge/game/limited/SealedDeck.java b/src/main/java/forge/game/limited/SealedDeck.java index 38b3b157a76..8bfdbbd03b5 100644 --- a/src/main/java/forge/game/limited/SealedDeck.java +++ b/src/main/java/forge/game/limited/SealedDeck.java @@ -79,7 +79,7 @@ public class SealedDeck { this.getLandSetCode()[0] = CardDb.instance().getCard("Plains").getEdition(); } else if (sealedType.equals("Block")) { - final Object o = GuiUtils.getChoice("Choose Block", UtilFunctions.iteratorToArray(Singletons.getModel().getBlocks().iterator(), new CardBlock[]{})); + final Object o = GuiUtils.chooseOne("Choose Block", UtilFunctions.iteratorToArray(Singletons.getModel().getBlocks().iterator(), new CardBlock[]{})); final CardBlock block = (CardBlock) o; final CardEdition[] cardSets = block.getSets(); @@ -102,7 +102,7 @@ public class SealedDeck { } if (sets.length > 1) { - final Object p = GuiUtils.getChoice("Choose Set Combination", setCombos.toArray()); + final Object p = GuiUtils.chooseOne("Choose Set Combination", setCombos.toArray()); final String[] pp = p.toString().split("/"); for (int i = 0; i < nPacks; i++) { @@ -147,7 +147,7 @@ public class SealedDeck { JOptionPane.showMessageDialog(null, "No custom sealed files found.", "", JOptionPane.INFORMATION_MESSAGE); } else { - final CustomLimited draft = (CustomLimited) GuiUtils.getChoice("Choose Custom Sealed Pool", + final CustomLimited draft = (CustomLimited) GuiUtils.chooseOne("Choose Custom Sealed Pool", customs.toArray()); final BoosterGenerator bpCustom = new BoosterGenerator(draft.getCardPool()); diff --git a/src/main/java/forge/gui/GuiUtils.java b/src/main/java/forge/gui/GuiUtils.java index 51540e6fc28..fee241003f0 100644 --- a/src/main/java/forge/gui/GuiUtils.java +++ b/src/main/java/forge/gui/GuiUtils.java @@ -249,7 +249,7 @@ public final class GuiUtils { * getChoices. * @see #getChoices(String, int, int, Object...) */ - public static T getChoiceOptional(final String message, final T... choices) { + public static T chooseOneOrNone(final String message, final T... choices) { if ((choices == null) || (choices.length == 0)) { return null; } @@ -271,12 +271,18 @@ public final class GuiUtils { * a T object. * @return a T object. */ - public static T getChoice(final String message, final T... choices) { + public static T chooseOne(final String message, final T... choices) { final List choice = GuiUtils.getChoices(message, 1, 1, choices); assert choice.size() == 1; return choice.get(0); } // getChoice() + public static T chooseOne(final String message, final List choices) { + final List choice = GuiUtils.getChoices(message, 1, 1, choices); + assert choice.size() == 1; + return choice.get(0); + } + // returned Object will never be null /** *

@@ -291,7 +297,7 @@ public final class GuiUtils { * a T object. * @return a {@link java.util.List} object. */ - public static List getChoicesOptional(final String message, final T... choices) { + public static List chooseNoneOrMany(final String message, final T... choices) { return GuiUtils.getChoices(message, 0, choices.length, choices); } // getChoice() @@ -309,7 +315,7 @@ public final class GuiUtils { * a T object. * @return a {@link java.util.List} object. */ - public static List getChoices(final String message, final T... choices) { + public static List chooseOneOrMany(final String message, final T... choices) { return GuiUtils.getChoices(message, 1, choices.length, choices); } // getChoice() @@ -331,8 +337,18 @@ public final class GuiUtils { * a T object. * @return a {@link java.util.List} object. */ - public static List getChoices(final String message, final int min, final int max, final T... choices) { + private static List getChoices(final String message, final int min, final int max, final T... choices) { final ListChooser c = new ListChooser(message, min, max, choices); + return getChoices(c); + } + + private static List getChoices(final String message, final int min, final int max, final List choices) { + final ListChooser c = new ListChooser(message, min, max, choices); + return getChoices(c); + } + + private static List getChoices(final ListChooser c) + { final JList list = c.getJList(); list.addListSelectionListener(new ListSelectionListener() { @Override diff --git a/src/main/java/forge/gui/ListChooser.java b/src/main/java/forge/gui/ListChooser.java index 66dcefe76ea..2aac597147b 100644 --- a/src/main/java/forge/gui/ListChooser.java +++ b/src/main/java/forge/gui/ListChooser.java @@ -78,8 +78,8 @@ public class ListChooser { // initialized before; listeners may be added to it private JList jList; // Temporarily stored for event handlers during show - private JDialog d; - private JOptionPane p; + private JDialog dialog; + private JOptionPane optionPane; private Action ok, cancel; /** @@ -304,23 +304,12 @@ public class ListChooser { this.jList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); } - this.p = new JOptionPane(new Object[] { message, new JScrollPane(this.jList) }, JOptionPane.QUESTION_MESSAGE, + this.optionPane = new JOptionPane(new Object[] { message, new JScrollPane(this.jList) }, JOptionPane.QUESTION_MESSAGE, JOptionPane.DEFAULT_OPTION, null, options, options[0]); this.jList.getSelectionModel().addListSelectionListener(new SelListener()); this.jList.addMouseListener(new DblListener()); } - /** - *

- * getChoices. - *

- * - * @return a {@link java.util.List} object. - */ - public List getChoices() { - return this.list; - } - /** * Returns the JList used in the list chooser. this is useful for * registering listeners before showing the dialog. @@ -348,14 +337,14 @@ public class ListChooser { } Integer value; do { - this.d = this.p.createDialog(this.p.getParent(), this.title); + this.dialog = this.optionPane.createDialog(this.optionPane.getParent(), this.title); if (this.minChoices != 0) { - this.d.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); + this.dialog.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); } this.jList.setSelectedIndex(index0); - this.d.addWindowFocusListener(new WindowFocusListener() { + this.dialog.addWindowFocusListener(new WindowFocusListener() { @Override public void windowGainedFocus(final WindowEvent e) { ListChooser.this.jList.grabFocus(); @@ -365,9 +354,9 @@ public class ListChooser { public void windowLostFocus(final WindowEvent e) { } }); - this.d.setVisible(true); - this.d.dispose(); - value = (Integer) this.p.getValue(); + this.dialog.setVisible(true); + this.dialog.dispose(); + value = (Integer) this.optionPane.getValue(); if ((value == null) || (value != JOptionPane.OK_OPTION)) { this.jList.clearSelection(); // can't stop closing by ESC, so repeat if cancelled @@ -390,7 +379,7 @@ public class ListChooser { if (!this.called) { throw new IllegalStateException("not yet shown"); } - return (Integer) this.p.getValue() == JOptionPane.OK_OPTION; + return (Integer) this.optionPane.getValue() == JOptionPane.OK_OPTION; } /** @@ -398,22 +387,11 @@ public class ListChooser { * * @return a {@link java.util.List} object. */ - public List getSelectedIndices() { + public int[] getSelectedIndices() { if (!this.called) { throw new IllegalStateException("not yet shown"); } - final int[] indices = this.jList.getSelectedIndices(); - return new AbstractList() { - @Override - public int size() { - return indices.length; - } - - @Override - public Integer get(final int index) { - return indices[index]; - } - }; + return this.jList.getSelectedIndices(); } /** @@ -452,7 +430,7 @@ public class ListChooser { } return this.jList.getSelectedIndex(); } - + /** * Returns the (first) selected value, or null. * @@ -473,7 +451,7 @@ public class ListChooser { */ private void commit() { if (this.ok.isEnabled()) { - this.p.setValue(JOptionPane.OK_OPTION); + this.optionPane.setValue(JOptionPane.OK_OPTION); } } @@ -504,7 +482,7 @@ public class ListChooser { @Override public void actionPerformed(final ActionEvent e) { - ListChooser.this.p.setValue(this.value); + ListChooser.this.optionPane.setValue(this.value); } } diff --git a/src/main/java/forge/gui/deckeditor/MenuBase.java b/src/main/java/forge/gui/deckeditor/MenuBase.java index 7ece5f69647..bc04ef9e7bc 100644 --- a/src/main/java/forge/gui/deckeditor/MenuBase.java +++ b/src/main/java/forge/gui/deckeditor/MenuBase.java @@ -105,7 +105,7 @@ public class MenuBase extends JMenuBar { return null; } - final Object o = GuiUtils.getChoiceOptional("Open Deck", choices.toArray()); + final Object o = GuiUtils.chooseOneOrNone("Open Deck", choices.toArray()); return o == null ? null : o.toString(); } diff --git a/src/main/java/forge/gui/home/limited/CSubmenuDraft.java b/src/main/java/forge/gui/home/limited/CSubmenuDraft.java index b8f1434f279..f25132cbe68 100644 --- a/src/main/java/forge/gui/home/limited/CSubmenuDraft.java +++ b/src/main/java/forge/gui/home/limited/CSubmenuDraft.java @@ -187,7 +187,7 @@ public enum CSubmenuDraft implements ICSubmenu { draftTypes.add("Custom"); final String prompt = "Choose Draft Format:"; - final Object o = GuiUtils.getChoice(prompt, draftTypes.toArray()); + final Object o = GuiUtils.chooseOne(prompt, draftTypes.toArray()); if (o.toString().equals(draftTypes.get(0))) { draft.showGui(new BoosterDraft(CardPoolLimitation.Full)); diff --git a/src/main/java/forge/gui/home/limited/CSubmenuSealed.java b/src/main/java/forge/gui/home/limited/CSubmenuSealed.java index 5e0e97df86a..fae4d02bb73 100644 --- a/src/main/java/forge/gui/home/limited/CSubmenuSealed.java +++ b/src/main/java/forge/gui/home/limited/CSubmenuSealed.java @@ -135,7 +135,7 @@ public enum CSubmenuSealed implements ICSubmenu { sealedTypes.add("Custom"); final String prompt = "Choose Sealed Deck Format:"; - final Object o = GuiUtils.getChoice(prompt, sealedTypes.toArray()); + final Object o = GuiUtils.chooseOne(prompt, sealedTypes.toArray()); SealedDeck sd = null;