arcane.ui.* => forge.view.arcane.*

removed generateRandomCards from cardfactory
This commit is contained in:
Maxmtg
2012-04-07 11:34:05 +00:00
parent 3ff4cae6e9
commit 7990183ca5
102 changed files with 252 additions and 602 deletions

53
.gitattributes vendored
View File

@@ -11329,23 +11329,6 @@ src/main/config/forge.ico -text svneol=unset#image/ico
src/main/config/forge.sh svneol=native#text/x-sh src/main/config/forge.sh svneol=native#text/x-sh
src/main/config/forge_checks.xml svneol=native#text/xml src/main/config/forge_checks.xml svneol=native#text/xml
src/main/config/support/template.applescript -text src/main/config/support/template.applescript -text
src/main/java/arcane/ui/CardArea.java svneol=native#text/plain
src/main/java/arcane/ui/CardPanel.java svneol=native#text/plain
src/main/java/arcane/ui/CardPanelContainer.java svneol=native#text/plain
src/main/java/arcane/ui/HandArea.java svneol=native#text/plain
src/main/java/arcane/ui/PlayArea.java svneol=native#text/plain
src/main/java/arcane/ui/ScaledImagePanel.java svneol=native#text/plain
src/main/java/arcane/ui/ViewPanel.java svneol=native#text/plain
src/main/java/arcane/ui/package-info.java svneol=native#text/plain
src/main/java/arcane/ui/util/Animation.java svneol=native#text/plain
src/main/java/arcane/ui/util/CardPanelMouseListener.java svneol=native#text/plain
src/main/java/arcane/ui/util/GlowText.java svneol=native#text/plain
src/main/java/arcane/ui/util/ImageUtil.java svneol=native#text/plain
src/main/java/arcane/ui/util/UI.java svneol=native#text/plain
src/main/java/arcane/ui/util/package-info.java svneol=native#text/plain
src/main/java/arcane/util/MultiplexOutputStream.java svneol=native#text/plain
src/main/java/arcane/util/Util.java svneol=native#text/plain
src/main/java/arcane/util/package-info.java svneol=native#text/plain
src/main/java/forge/AllZone.java svneol=native#text/plain src/main/java/forge/AllZone.java svneol=native#text/plain
src/main/java/forge/AllZoneUtil.java svneol=native#text/plain src/main/java/forge/AllZoneUtil.java svneol=native#text/plain
src/main/java/forge/Card.java svneol=native#text/plain src/main/java/forge/Card.java svneol=native#text/plain
@@ -11649,7 +11632,10 @@ src/main/java/forge/game/player/PlayerUtil.java svneol=native#text/plain
src/main/java/forge/game/player/PlayerZone.java svneol=native#text/plain src/main/java/forge/game/player/PlayerZone.java svneol=native#text/plain
src/main/java/forge/game/player/PlayerZoneComesIntoPlay.java svneol=native#text/plain src/main/java/forge/game/player/PlayerZoneComesIntoPlay.java svneol=native#text/plain
src/main/java/forge/gui/CardContainer.java svneol=native#text/plain src/main/java/forge/gui/CardContainer.java svneol=native#text/plain
src/main/java/forge/gui/CardDetailPanel.java svneol=native#text/plain
src/main/java/forge/gui/CardListViewer.java -text src/main/java/forge/gui/CardListViewer.java -text
src/main/java/forge/gui/CardPanel.java svneol=native#text/plain
src/main/java/forge/gui/CardPicturePanel.java svneol=native#text/plain
src/main/java/forge/gui/ForgeAction.java svneol=native#text/plain src/main/java/forge/gui/ForgeAction.java svneol=native#text/plain
src/main/java/forge/gui/GuiDisplayUtil.java svneol=native#text/plain src/main/java/forge/gui/GuiDisplayUtil.java svneol=native#text/plain
src/main/java/forge/gui/GuiImportPicture.java svneol=native#text/plain src/main/java/forge/gui/GuiImportPicture.java svneol=native#text/plain
@@ -11698,10 +11684,6 @@ src/main/java/forge/gui/download/GuiDownloadQuestImages.java -text
src/main/java/forge/gui/download/GuiDownloadSetPicturesLQ.java svneol=native#text/plain src/main/java/forge/gui/download/GuiDownloadSetPicturesLQ.java svneol=native#text/plain
src/main/java/forge/gui/download/GuiDownloader.java -text src/main/java/forge/gui/download/GuiDownloader.java -text
src/main/java/forge/gui/download/package-info.java -text src/main/java/forge/gui/download/package-info.java -text
src/main/java/forge/gui/game/CardDetailPanel.java svneol=native#text/plain
src/main/java/forge/gui/game/CardPanel.java svneol=native#text/plain
src/main/java/forge/gui/game/CardPicturePanel.java svneol=native#text/plain
src/main/java/forge/gui/game/package-info.java svneol=native#text/plain
src/main/java/forge/gui/home/EMenuGroup.java -text src/main/java/forge/gui/home/EMenuGroup.java -text
src/main/java/forge/gui/home/EMenuItem.java -text src/main/java/forge/gui/home/EMenuItem.java -text
src/main/java/forge/gui/home/ICSubmenu.java -text src/main/java/forge/gui/home/ICSubmenu.java -text
@@ -11857,19 +11839,21 @@ src/main/java/forge/util/IItemSerializer.java -text
src/main/java/forge/util/IStorage.java -text src/main/java/forge/util/IStorage.java -text
src/main/java/forge/util/IStorageView.java -text src/main/java/forge/util/IStorageView.java -text
src/main/java/forge/util/IgnoringXStream.java -text src/main/java/forge/util/IgnoringXStream.java -text
src/main/java/forge/util/Lambda.java svneol=native#text/plain
src/main/java/forge/util/Lambda0.java -text
src/main/java/forge/util/Lambda1.java svneol=native#text/plain
src/main/java/forge/util/LineReader.java -text src/main/java/forge/util/LineReader.java -text
src/main/java/forge/util/MultiplexOutputStream.java svneol=native#text/plain
src/main/java/forge/util/MyRandom.java svneol=native#text/plain src/main/java/forge/util/MyRandom.java svneol=native#text/plain
src/main/java/forge/util/Predicate.java -text
src/main/java/forge/util/PredicateString.java -text
src/main/java/forge/util/StorageImmediatelySerialized.java svneol=native#text/plain src/main/java/forge/util/StorageImmediatelySerialized.java svneol=native#text/plain
src/main/java/forge/util/StorageReaderFile.java -text src/main/java/forge/util/StorageReaderFile.java -text
src/main/java/forge/util/StorageReaderFolder.java -text src/main/java/forge/util/StorageReaderFolder.java -text
src/main/java/forge/util/StorageView.java -text src/main/java/forge/util/StorageView.java -text
src/main/java/forge/util/TextUtil.java -text src/main/java/forge/util/TextUtil.java -text
src/main/java/forge/util/ThreadUtil.java svneol=native#text/plain
src/main/java/forge/util/XmlUtil.java -text src/main/java/forge/util/XmlUtil.java -text
src/main/java/forge/util/closures/Lambda.java svneol=native#text/plain
src/main/java/forge/util/closures/Lambda0.java -text
src/main/java/forge/util/closures/Lambda1.java svneol=native#text/plain
src/main/java/forge/util/closures/Predicate.java -text
src/main/java/forge/util/closures/PredicateString.java -text
src/main/java/forge/util/package-info.java -text src/main/java/forge/util/package-info.java -text
src/main/java/forge/view/ButtonUtil.java svneol=native#text/plain src/main/java/forge/view/ButtonUtil.java svneol=native#text/plain
src/main/java/forge/view/FView.java svneol=native#text/plain src/main/java/forge/view/FView.java svneol=native#text/plain
@@ -11879,6 +11863,20 @@ src/main/java/forge/view/ViewBazaarUI.java -text
src/main/java/forge/view/ViewEditorUI.java -text src/main/java/forge/view/ViewEditorUI.java -text
src/main/java/forge/view/ViewHomeUI.java -text src/main/java/forge/view/ViewHomeUI.java -text
src/main/java/forge/view/ViewMatchUI.java -text src/main/java/forge/view/ViewMatchUI.java -text
src/main/java/forge/view/arcane/CardArea.java svneol=native#text/plain
src/main/java/forge/view/arcane/CardPanel.java svneol=native#text/plain
src/main/java/forge/view/arcane/CardPanelContainer.java svneol=native#text/plain
src/main/java/forge/view/arcane/HandArea.java svneol=native#text/plain
src/main/java/forge/view/arcane/PlayArea.java svneol=native#text/plain
src/main/java/forge/view/arcane/ScaledImagePanel.java svneol=native#text/plain
src/main/java/forge/view/arcane/ViewPanel.java svneol=native#text/plain
src/main/java/forge/view/arcane/package-info.java svneol=native#text/plain
src/main/java/forge/view/arcane/util/Animation.java svneol=native#text/plain
src/main/java/forge/view/arcane/util/CardPanelMouseListener.java svneol=native#text/plain
src/main/java/forge/view/arcane/util/GlowText.java svneol=native#text/plain
src/main/java/forge/view/arcane/util/ImageUtil.java svneol=native#text/plain
src/main/java/forge/view/arcane/util/UI.java svneol=native#text/plain
src/main/java/forge/view/arcane/util/package-info.java svneol=native#text/plain
src/main/java/forge/view/bazaar/ViewItem.java -text src/main/java/forge/view/bazaar/ViewItem.java -text
src/main/java/forge/view/bazaar/ViewStall.java svneol=native#text/plain src/main/java/forge/view/bazaar/ViewStall.java svneol=native#text/plain
src/main/java/forge/view/bazaar/package-info.java svneol=native#text/plain src/main/java/forge/view/bazaar/package-info.java svneol=native#text/plain
@@ -11896,12 +11894,9 @@ src/main/java/forge/view/match/ViewWinLose.java -text
src/main/java/forge/view/match/package-info.java svneol=native#text/plain src/main/java/forge/view/match/package-info.java svneol=native#text/plain
src/main/java/forge/view/package-info.java svneol=native#text/plain src/main/java/forge/view/package-info.java svneol=native#text/plain
src/main/java/net/slightlymagic/braids/LICENSE.txt svneol=native#text/plain src/main/java/net/slightlymagic/braids/LICENSE.txt svneol=native#text/plain
src/main/java/net/slightlymagic/braids/util/ImmutableIterableFrom.java svneol=native#text/plain
src/main/java/net/slightlymagic/braids/util/UtilFunctions.java svneol=native#text/plain
src/main/java/net/slightlymagic/braids/util/generator/FindNonDirectoriesSkipDotDirectoriesGenerator.java svneol=native#text/plain src/main/java/net/slightlymagic/braids/util/generator/FindNonDirectoriesSkipDotDirectoriesGenerator.java svneol=native#text/plain
src/main/java/net/slightlymagic/braids/util/generator/GeneratorFunctions.java svneol=native#text/plain src/main/java/net/slightlymagic/braids/util/generator/GeneratorFunctions.java svneol=native#text/plain
src/main/java/net/slightlymagic/braids/util/generator/package-info.java svneol=native#text/plain src/main/java/net/slightlymagic/braids/util/generator/package-info.java svneol=native#text/plain
src/main/java/net/slightlymagic/braids/util/package-info.java svneol=native#text/plain
src/main/java/net/slightlymagic/braids/util/progress_monitor/BaseProgressMonitor.java svneol=native#text/plain src/main/java/net/slightlymagic/braids/util/progress_monitor/BaseProgressMonitor.java svneol=native#text/plain
src/main/java/net/slightlymagic/braids/util/progress_monitor/BraidsProgressMonitor.java svneol=native#text/plain src/main/java/net/slightlymagic/braids/util/progress_monitor/BraidsProgressMonitor.java svneol=native#text/plain
src/main/java/net/slightlymagic/braids/util/progress_monitor/StderrProgressMonitor.java svneol=native#text/plain src/main/java/net/slightlymagic/braids/util/progress_monitor/StderrProgressMonitor.java svneol=native#text/plain

View File

@@ -1,3 +0,0 @@
/** Forge Card Game. */
package arcane.ui;

View File

@@ -1,2 +0,0 @@
/** Forge Card Game. */
package arcane.ui.util;

View File

@@ -1,137 +0,0 @@
/*
* Forge: Play Magic: the Gathering.
* Copyright (C) 2011 Nate
*
* 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 <http://www.gnu.org/licenses/>.
*/
package arcane.util;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Collections;
import java.util.Enumeration;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import javax.swing.SwingUtilities;
/**
* <p>
* Util class.
* </p>
*
* @author Forge
* @version $Id$
*/
public class Util {
/**
* Constant.
* <code>isMac=System.getProperty("os.name").toLowerCase().indexOf("mac") != -1</code>.
*/
public static final boolean IS_MAC = System.getProperty("os.name").toLowerCase().indexOf("mac") != -1;
/**
* Constant.
* <code>isWindows=System.getProperty("os.name").toLowerCase().indexOf("windows") == -1</code>
*/
public static final boolean IS_WINDOWS = System.getProperty("os.name").toLowerCase().indexOf("windows") == -1;
/** Constant <code>threadPool</code>. */
private static ThreadPoolExecutor threadPool;
/** Constant <code>threadCount</code>. */
private static int threadCount;
static {
threadPool = new ThreadPoolExecutor(4, 4, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(),
new ThreadFactory() {
public Thread newThread(final Runnable runnable) {
threadCount++;
Thread thread = new Thread(runnable, "Util" + threadCount);
thread.setDaemon(true);
return thread;
}
});
threadPool.prestartAllCoreThreads();
}
/**
* <p>
* broadcast.
* </p>
*
* @param data an array of byte.
* @param port a int.
* @throws IOException Signals that an I/O exception has occurred.
*/
public static void broadcast(final byte[] data, final int port) throws IOException {
DatagramSocket socket = new DatagramSocket();
broadcast(socket, data, port, NetworkInterface.getNetworkInterfaces());
socket.close();
}
/**
* <p>
* broadcast.
* </p>
*
* @param socket
* a {@link java.net.DatagramSocket} object.
* @param data
* an array of byte.
* @param port
* a int.
* @param ifaces
* a {@link java.util.Enumeration} object.
* @throws java.io.IOException
* if any.
*/
private static void broadcast(final DatagramSocket socket,
final byte[] data, final int port, final Enumeration<NetworkInterface> ifaces)
throws IOException {
for (NetworkInterface iface : Collections.list(ifaces)) {
for (InetAddress address : Collections.list(iface.getInetAddresses())) {
if (!address.isSiteLocalAddress()) {
continue;
}
// Java 1.5 doesn't support getting the subnet mask, so try the
// two most common.
byte[] ip = address.getAddress();
ip[3] = -1; // 255.255.255.0
socket.send(new DatagramPacket(data, data.length, InetAddress.getByAddress(ip), port));
ip[2] = -1; // 255.255.0.0
socket.send(new DatagramPacket(data, data.length, InetAddress.getByAddress(ip), port));
}
}
}
/**
* <p>
* invokeAndWait.
* </p>
*
* @param runnable a {@link java.lang.Runnable} object.
* @throws Exception the exception
*/
public static void invokeAndWait(final Runnable runnable) throws Exception {
try {
SwingUtilities.invokeAndWait(runnable);
} catch (Exception ex) {
throw new Exception("Error invoking runnable in UI thread.", ex);
}
}
}

View File

@@ -1,2 +0,0 @@
/** Forge Card Game. */
package arcane.util;

View File

@@ -43,7 +43,7 @@ import forge.item.CardPrinted;
import forge.properties.ForgeProps; import forge.properties.ForgeProps;
import forge.properties.NewConstants; import forge.properties.NewConstants;
import forge.util.MyRandom; import forge.util.MyRandom;
import forge.util.Predicate; import forge.util.closures.Predicate;
/** /**
* <p> * <p>

View File

@@ -25,7 +25,6 @@ import java.util.concurrent.ExecutionException;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import arcane.ui.util.ImageUtil;
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader; import com.google.common.cache.CacheLoader;
@@ -40,6 +39,7 @@ import forge.item.InventoryItem;
import forge.properties.ForgePreferences.FPref; import forge.properties.ForgePreferences.FPref;
import forge.properties.ForgeProps; import forge.properties.ForgeProps;
import forge.properties.NewConstants; import forge.properties.NewConstants;
import forge.view.arcane.util.ImageUtil;
/** /**
* This class stores ALL card images in a cache with soft values. this means * This class stores ALL card images in a cache with soft values. this means

View File

@@ -33,7 +33,7 @@ import forge.card.spellability.SpellAbility;
import forge.error.ErrorViewer; import forge.error.ErrorViewer;
import forge.properties.ForgeProps; import forge.properties.ForgeProps;
import forge.properties.NewConstants; import forge.properties.NewConstants;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
/** /**
* <p> * <p>

View File

@@ -2,9 +2,9 @@ package forge.card;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.util.FileSection; import forge.util.FileSection;
import forge.util.Lambda1;
import forge.util.Predicate;
import forge.util.StorageReaderFile; import forge.util.StorageReaderFile;
import forge.util.closures.Lambda1;
import forge.util.closures.Predicate;
/** /**
* The Class BoosterData. * The Class BoosterData.

View File

@@ -27,9 +27,9 @@ import java.util.Map.Entry;
import forge.item.CardDb; import forge.item.CardDb;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.item.ItemPoolView; import forge.item.ItemPoolView;
import forge.util.Lambda1;
import forge.util.MyRandom; import forge.util.MyRandom;
import forge.util.Predicate; import forge.util.closures.Lambda1;
import forge.util.closures.Predicate;
/** /**
* <p> * <p>

View File

@@ -21,9 +21,9 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.util.Lambda1;
import forge.util.Predicate;
import forge.util.StorageReaderFile; import forge.util.StorageReaderFile;
import forge.util.closures.Lambda1;
import forge.util.closures.Predicate;
/** /**
* This is a CardBlock class. * This is a CardBlock class.

View File

@@ -20,9 +20,9 @@ package forge.card;
import forge.Singletons; import forge.Singletons;
import forge.game.GameFormat; import forge.game.GameFormat;
import forge.util.FileSection; import forge.util.FileSection;
import forge.util.Lambda1;
import forge.util.Predicate;
import forge.util.StorageReaderFile; import forge.util.StorageReaderFile;
import forge.util.closures.Lambda1;
import forge.util.closures.Predicate;
/** /**
* <p> * <p>

View File

@@ -26,10 +26,10 @@ import java.util.Set;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import forge.util.Predicate; import forge.util.closures.Predicate;
import forge.util.PredicateString; import forge.util.closures.PredicateString;
import forge.util.Predicate.ComparableOp; import forge.util.closures.Predicate.ComparableOp;
import forge.util.Predicate.PredicatesOp; import forge.util.closures.Predicate.PredicatesOp;
/** /**

View File

@@ -1,8 +1,8 @@
package forge.card; package forge.card;
import forge.util.FileSection; import forge.util.FileSection;
import forge.util.Lambda1;
import forge.util.StorageReaderFile; import forge.util.StorageReaderFile;
import forge.util.closures.Lambda1;
/** /**
* TODO: Write javadoc for this type. * TODO: Write javadoc for this type.

View File

@@ -3,7 +3,7 @@ package forge.card;
import java.util.List; import java.util.List;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
/** /**
* TODO: Write javadoc for this type. * TODO: Write javadoc for this type.

View File

@@ -19,7 +19,9 @@ package forge.card.cardfactory;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator; import java.util.Iterator;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
@@ -27,7 +29,6 @@ import java.util.TreeSet;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import net.slightlymagic.braids.util.ImmutableIterableFrom;
import forge.AllZone; import forge.AllZone;
import forge.AllZoneUtil; import forge.AllZoneUtil;
import forge.Card; import forge.Card;
@@ -90,7 +91,7 @@ public abstract class AbstractCardFactory implements CardFactoryInterface {
private final Map<String, Card> map = new TreeMap<String, Card>(); private final Map<String, Card> map = new TreeMap<String, Card>();
/** This is a special list of cards, with all abilities attached. */ /** This is a special list of cards, with all abilities attached. */
private final CardList allCards = new CardList(); protected List<Card> allCardsReadOnly;
private Set<String> removedCardList; private Set<String> removedCardList;
private final Card blankCard = new Card(); // new code private final Card blankCard = new Card(); // new code
@@ -135,9 +136,7 @@ public abstract class AbstractCardFactory implements CardFactoryInterface {
* *
* @return allCards * @return allCards
*/ */
protected final CardList getAllCards() { protected abstract List<Card> getAllCards();
return this.allCards;
} // getAllCards()
/** /**
* Getter for map. * Getter for map.
@@ -156,20 +155,11 @@ public abstract class AbstractCardFactory implements CardFactoryInterface {
*/ */
@Override @Override
public Iterator<Card> iterator() { public Iterator<Card> iterator() {
return new ImmutableIterableFrom<Card>(this.allCards); if ( allCardsReadOnly == null )
} {
allCardsReadOnly = Collections.unmodifiableList(getAllCards());
/** }
* Typical size method. return allCardsReadOnly.iterator();
*
* @return an estimate of the number of items encountered by this object's
* iterator
*
* @see #iterator
*/
@Override
public final int size() {
return this.allCards.size();
} }
/** /**
@@ -232,17 +222,11 @@ public abstract class AbstractCardFactory implements CardFactoryInterface {
*/ */
@Override @Override
public final Card copyCardintoNew(final Card in) { public final Card copyCardintoNew(final Card in) {
final Card out = CardFactoryUtil.copyStats(in); final Card out = CardFactoryUtil.copyStats(in);
out.setOwner(in.getOwner()); out.setOwner(in.getOwner());
final CardList all = new CardList(this.getAllCards());
CardList tokens = AllZoneUtil.getCardsIn(Zone.Battlefield);
tokens = tokens.filter(CardListFilter.TOKEN);
all.addAll(tokens);
out.setCopiedSpell(true); out.setCopiedSpell(true);
this.copiedList.add(out); this.copiedList.add(out);
return out; return out;
} }
/** /**
@@ -418,45 +402,6 @@ public abstract class AbstractCardFactory implements CardFactoryInterface {
return this.getCard2(cardName, owner); return this.getCard2(cardName, owner);
} }
/**
* Fetch a random combination of cards without any duplicates.
*
* This algorithm is reasonably fast if numCards is small. If it is larger
* than, say, size()/10, it starts to get noticeably slow.
*
* @param numCards
* the number of cards to return
* @return a list of fleshed-out card instances
*/
@Override
public final CardList getRandomCombinationWithoutRepetition(final int numCards) {
final Set<Integer> intSelections = new TreeSet<Integer>();
if (numCards >= this.size()) {
final StringBuilder sb = new StringBuilder();
sb.append("numCards (").append(numCards);
sb.append(") is larger than the size of the card database.");
throw new IllegalArgumentException(sb.toString());
} else if (numCards >= (this.size() / 4)) {
final StringBuilder sb = new StringBuilder();
sb.append("numCards (").append(numCards);
sb.append(") is too large for this algorithm; it will take too long to complete.");
throw new IllegalArgumentException(sb.toString());
}
while (intSelections.size() < numCards) {
intSelections.add((int) (Math.random() * this.size()));
}
final CardList result = new CardList(numCards);
for (final Integer index : intSelections) {
result.add(this.allCards.get(index));
}
return result;
}
protected Card getCard2(final String cardName, final Player owner) { protected Card getCard2(final String cardName, final Player owner) {
// o should be Card object // o should be Card object
final Card o = this.map.get(cardName); final Card o = this.map.get(cardName);

View File

@@ -20,7 +20,6 @@ package forge.card.cardfactory;
import java.util.Iterator; import java.util.Iterator;
import forge.Card; import forge.Card;
import forge.CardList;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.player.Player; import forge.game.player.Player;
@@ -38,16 +37,6 @@ public interface CardFactoryInterface extends Iterable<Card> {
@Override @Override
Iterator<Card> iterator(); Iterator<Card> iterator();
/**
* Typical size method.
*
* @return an estimate of the number of items encountered by this object's
* iterator
*
* @see #iterator
*/
int size();
/** /**
* <p> * <p>
* copyCard. * copyCard.
@@ -115,16 +104,4 @@ public interface CardFactoryInterface extends Iterable<Card> {
Card getCard(String cardName, Player owner); Card getCard(String cardName, Player owner);
//Card getCard2(final String cardName, final Card o, final Player owner); //Card getCard2(final String cardName, final Card o, final Player owner);
/**
* Fetch a random combination of cards without any duplicates.
*
* This algorithm is reasonably fast if numCards is small. If it is larger
* than, say, size()/10, it starts to get noticeably slow.
*
* @param numCards
* the number of cards to return
* @return a list of fleshed-out card instances
*/
CardList getRandomCombinationWithoutRepetition(int numCards);
} }

View File

@@ -55,6 +55,8 @@ import forge.view.SplashFrame;
* @version $Id$ * @version $Id$
*/ */
public class PreloadingCardFactory extends AbstractCardFactory { public class PreloadingCardFactory extends AbstractCardFactory {
protected final List<Card> allCards = new ArrayList<Card>();
/** /**
* <p> * <p>
* Constructor for CardFactory. * Constructor for CardFactory.
@@ -128,4 +130,12 @@ public class PreloadingCardFactory extends AbstractCardFactory {
} // readCard() } // readCard()
/* (non-Javadoc)
* @see forge.card.cardfactory.AbstractCardFactory#getAllCards()
*/
@Override
protected List<Card> getAllCards() {
return allCards;
}
} // end class PreloadingCardFactory } // end class PreloadingCardFactory

View File

@@ -27,8 +27,6 @@ import java.util.ArrayList;
import java.util.Observable; import java.util.Observable;
import java.util.Observer; import java.util.Observer;
import net.slightlymagic.braids.util.ImmutableIterableFrom;
import com.google.code.jyield.Generator; import com.google.code.jyield.Generator;
import com.google.code.jyield.YieldUtils; import com.google.code.jyield.YieldUtils;
@@ -277,7 +275,7 @@ public class ControlField {
} }
protected Iterable<Card> getCardsAsIterable() { protected Iterable<Card> getCardsAsIterable() {
return new ImmutableIterableFrom<Card>(this.zone.getCards()); return this.zone.getCards();
} }
protected void doAction(final Card c) { protected void doAction(final Card c) {
@@ -342,8 +340,7 @@ public class ControlField {
@Override @Override
protected Iterable<Card> getCardsAsIterable() { protected Iterable<Card> getCardsAsIterable() {
return new ImmutableIterableFrom<Card>(CardFactoryUtil.getExternalZoneActivationCards(AllZone return CardFactoryUtil.getExternalZoneActivationCards(AllZone.getHumanPlayer());
.getHumanPlayer()));
} }
@Override @Override
@@ -359,8 +356,7 @@ public class ControlField {
@Override @Override
protected Iterable<Card> getCardsAsIterable() { protected Iterable<Card> getCardsAsIterable() {
return new ImmutableIterableFrom<Card>(CardFactoryUtil.getExternalZoneActivationCards(AllZone return CardFactoryUtil.getExternalZoneActivationCards(AllZone.getComputerPlayer());
.getComputerPlayer()));
} }
@Override @Override
@@ -456,9 +452,9 @@ public class ControlField {
if (c != null && c.isInZone(Zone.Battlefield)) { if (c != null && c.isInZone(Zone.Battlefield)) {
if (c.isTapped() if (c.isTapped()
&& ((input instanceof InputPayManaCost) || (input instanceof InputPayManaCostAbility))) { && ((input instanceof InputPayManaCost) || (input instanceof InputPayManaCostAbility))) {
final arcane.ui.CardPanel cardPanel = ControlField.this.view.getTabletop().getCardPanel( final forge.view.arcane.CardPanel cardPanel = ControlField.this.view.getTabletop().getCardPanel(
c.getUniqueNumber()); c.getUniqueNumber());
for (final arcane.ui.CardPanel cp : cardPanel.getAttachedPanels()) { for (final forge.view.arcane.CardPanel cp : cardPanel.getAttachedPanels()) {
if (cp.getCard().isUntapped()) { if (cp.getCard().isUntapped()) {
break; break;
} }
@@ -468,9 +464,9 @@ public class ControlField {
final CardList att = AllZone.getCombat().getAttackerList(); final CardList att = AllZone.getCombat().getAttackerList();
if ((c.isTapped() || c.hasSickness() || ((c.hasKeyword("Vigilance")) && att.contains(c))) if ((c.isTapped() || c.hasSickness() || ((c.hasKeyword("Vigilance")) && att.contains(c)))
&& (input instanceof InputAttack)) { && (input instanceof InputAttack)) {
final arcane.ui.CardPanel cardPanel = ControlField.this.view.getTabletop().getCardPanel( final forge.view.arcane.CardPanel cardPanel = ControlField.this.view.getTabletop().getCardPanel(
c.getUniqueNumber()); c.getUniqueNumber());
for (final arcane.ui.CardPanel cp : cardPanel.getAttachedPanels()) { for (final forge.view.arcane.CardPanel cp : cardPanel.getAttachedPanels()) {
if (cp.getCard().isUntapped() && !cp.getCard().hasSickness()) { if (cp.getCard().isUntapped() && !cp.getCard().hasSickness()) {
break; break;
} }

View File

@@ -32,14 +32,14 @@ import java.util.Observer;
import javax.swing.JLayeredPane; import javax.swing.JLayeredPane;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import arcane.ui.CardPanel;
import arcane.ui.HandArea;
import arcane.ui.util.Animation;
import forge.AllZone; import forge.AllZone;
import forge.Card; import forge.Card;
import forge.Constant.Zone; import forge.Constant.Zone;
import forge.Singletons; import forge.Singletons;
import forge.game.player.PlayerZone; import forge.game.player.PlayerZone;
import forge.view.arcane.CardPanel;
import forge.view.arcane.HandArea;
import forge.view.arcane.util.Animation;
import forge.view.match.ViewHand; import forge.view.match.ViewHand;
/** /**
@@ -112,7 +112,7 @@ public class ControlHand {
List<Card> tmp, diff; List<Card> tmp, diff;
tmp = new ArrayList<Card>(); tmp = new ArrayList<Card>();
for (final arcane.ui.CardPanel cpa : p.getCardPanels()) { for (final forge.view.arcane.CardPanel cpa : p.getCardPanels()) {
tmp.add(cpa.getGameCard()); tmp.add(cpa.getGameCard());
} }
diff = new ArrayList<Card>(tmp); diff = new ArrayList<Card>(tmp);
@@ -139,10 +139,10 @@ public class ControlHand {
int startWidth, startX, startY; int startWidth, startX, startY;
startWidth = 10; startWidth = 10;
startX = fromZoneX - Math.round(startWidth / 2.0f); startX = fromZoneX - Math.round(startWidth / 2.0f);
startY = fromZoneY - Math.round(Math.round(startWidth * arcane.ui.CardPanel.ASPECT_RATIO) / 2.0f); startY = fromZoneY - Math.round(Math.round(startWidth * forge.view.arcane.CardPanel.ASPECT_RATIO) / 2.0f);
int endWidth, endX, endY; int endWidth, endX, endY;
arcane.ui.CardPanel toPanel = null; forge.view.arcane.CardPanel toPanel = null;
for (final Card card : diff) { for (final Card card : diff) {
toPanel = p.addCard(card); toPanel = p.addCard(card);
@@ -151,7 +151,7 @@ public class ControlHand {
toPanel.getCardLocation(), layeredPane); toPanel.getCardLocation(), layeredPane);
endX = toPos.x; endX = toPos.x;
endY = toPos.y; endY = toPos.y;
final arcane.ui.CardPanel animationPanel = new arcane.ui.CardPanel(card); final forge.view.arcane.CardPanel animationPanel = new forge.view.arcane.CardPanel(card);
if (Singletons.getView().getFrame().isShowing()) { if (Singletons.getView().getFrame().isShowing()) {
Animation.moveCard(startX, startY, startWidth, endX, endY, endWidth, animationPanel, toPanel, Animation.moveCard(startX, startY, startWidth, endX, endY, endWidth, animationPanel, toPanel,
layeredPane, 500); layeredPane, 500);

View File

@@ -38,7 +38,7 @@ import forge.item.CardPrinted;
import forge.item.ItemPoolView; import forge.item.ItemPoolView;
import forge.util.FileSection; import forge.util.FileSection;
import forge.util.FileUtil; import forge.util.FileUtil;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
/** /**
* <p> * <p>

View File

@@ -23,7 +23,7 @@ import java.util.List;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.item.ItemPoolView; import forge.item.ItemPoolView;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
/** /**
* TODO: Write javadoc for this type. * TODO: Write javadoc for this type.

View File

@@ -35,7 +35,7 @@ import forge.item.CardPrinted;
import forge.item.ItemPool; import forge.item.ItemPool;
import forge.properties.ForgePreferences.FPref; import forge.properties.ForgePreferences.FPref;
import forge.util.MyRandom; import forge.util.MyRandom;
import forge.util.Predicate; import forge.util.closures.Predicate;
/** /**
* <p> * <p>

View File

@@ -26,7 +26,7 @@ import java.util.Map.Entry;
import forge.card.CardColor; import forge.card.CardColor;
import forge.card.CardManaCost; import forge.card.CardManaCost;
import forge.card.CardRules; import forge.card.CardRules;
import forge.util.Predicate; import forge.util.closures.Predicate;
/** /**
* <p> * <p>

View File

@@ -22,8 +22,8 @@ import java.util.List;
import forge.card.CardRules; import forge.card.CardRules;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
import forge.util.Predicate; import forge.util.closures.Predicate;
/** /**
* TODO: Write javadoc for this type. * TODO: Write javadoc for this type.

View File

@@ -46,7 +46,7 @@ import forge.properties.ForgeProps;
import forge.properties.NewConstants; import forge.properties.NewConstants;
import forge.util.FileUtil; import forge.util.FileUtil;
import forge.util.HttpUtil; import forge.util.HttpUtil;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
/** /**
* *

View File

@@ -41,8 +41,8 @@ import forge.item.CardDb;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.item.ItemPool; import forge.item.ItemPool;
import forge.util.FileUtil; import forge.util.FileUtil;
import forge.util.Lambda1;
import forge.util.MyRandom; import forge.util.MyRandom;
import forge.util.closures.Lambda1;
/** /**
* <p> * <p>

View File

@@ -16,7 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package forge.gui.game; package forge.gui;
import java.awt.Color; import java.awt.Color;
import java.awt.GridBagConstraints; import java.awt.GridBagConstraints;
@@ -37,8 +37,6 @@ import forge.AllZone;
import forge.Card; import forge.Card;
import forge.Constant; import forge.Constant;
import forge.Constant.Zone; import forge.Constant.Zone;
import forge.gui.CardContainer;
import forge.gui.GuiDisplayUtil;
import forge.Counters; import forge.Counters;
import forge.GameEntity; import forge.GameEntity;

View File

@@ -38,8 +38,6 @@ import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener; import javax.swing.event.ListSelectionListener;
import forge.Card; import forge.Card;
import forge.gui.game.CardDetailPanel;
import forge.gui.game.CardPicturePanel;
import forge.item.CardPrinted; import forge.item.CardPrinted;
/** /**

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package forge.gui.game; package forge.gui;
import java.awt.Color; import java.awt.Color;
import java.awt.GridLayout; import java.awt.GridLayout;
@@ -27,8 +27,6 @@ import javax.swing.JPanel;
import forge.Card; import forge.Card;
import forge.ImageCache; import forge.ImageCache;
import forge.gui.CardContainer;
import forge.gui.GuiDisplayUtil;
/** /**
* The class CardPanel. A card panel stores a card to display it on the * The class CardPanel. A card panel stores a card to display it on the

View File

@@ -16,7 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package forge.gui.game; package forge.gui;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Image; import java.awt.Image;
@@ -26,14 +26,13 @@ import java.awt.event.ComponentEvent;
import javax.swing.JPanel; import javax.swing.JPanel;
import arcane.ui.ScaledImagePanel;
import arcane.ui.ScaledImagePanel.MultipassType;
import arcane.ui.ScaledImagePanel.ScalingType;
import forge.Card; import forge.Card;
import forge.ImageCache; import forge.ImageCache;
import forge.gui.CardContainer;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.item.InventoryItem; import forge.item.InventoryItem;
import forge.view.arcane.ScaledImagePanel;
import forge.view.arcane.ScaledImagePanel.MultipassType;
import forge.view.arcane.ScaledImagePanel.ScalingType;
/** /**
* The class CardPicturePanel. Shows the full-sized image in a label. if there's * The class CardPicturePanel. Shows the full-sized image in a label. if there's

View File

@@ -32,8 +32,6 @@ import javax.swing.JFileChooser;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.border.Border; import javax.swing.border.Border;
import arcane.ui.PlayArea;
import arcane.ui.util.Animation;
import forge.AllZone; import forge.AllZone;
import forge.AllZoneUtil; import forge.AllZoneUtil;
import forge.Card; import forge.Card;
@@ -44,13 +42,13 @@ import forge.Constant;
import forge.Counters; import forge.Counters;
import forge.Singletons; import forge.Singletons;
import forge.Constant.Zone; import forge.Constant.Zone;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.spellability.AbilityMana; import forge.card.spellability.AbilityMana;
import forge.card.trigger.TriggerType; import forge.card.trigger.TriggerType;
import forge.game.player.Player; import forge.game.player.Player;
import forge.gui.game.CardPanel;
import forge.item.CardDb; import forge.item.CardDb;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.view.arcane.PlayArea;
import forge.view.arcane.util.Animation;
/** /**
* <p> * <p>
@@ -243,61 +241,20 @@ public final class GuiDisplayUtil {
} }
/**
* <p>
* isStackable.
* </p>
*
* @param c
* a {@link forge.Card} object.
* @return a boolean.
*/
public static boolean isStackable(final Card c) {
if (c.isLand() || (c.getName().startsWith("Mox") && !c.getName().equals("Mox Diamond"))
|| (c.isLand() && c.isEnchanted()) || (c.isAura() && c.isEnchanting())
|| (c.isToken() && CardFactoryUtil.multipleControlled(c))
|| (c.isCreature() && (c.isEquipped() || c.isEnchanted())) || (c.isEquipment() && c.isEquipping())
|| (c.isEnchantment())) {
return true;
}
return false;
}
// ~
/**
* <p>
* setupConnectedCards.
* </p>
*
* @param connectedCards
* a {@link java.util.ArrayList} object.
*/
public static void setupConnectedCards(final ArrayList<CardPanel> connectedCards) {
for (int i = connectedCards.size() - 1; i > 0; i--) {
// System.out.println("We should have a stack");
final CardPanel cp = connectedCards.get(i);
cp.setConnectedCard(connectedCards.get(i - 1));
}
}
// ~
/** /**
* <p> * <p>
* setupPlayZone. * setupPlayZone.
* </p> * </p>
* *
* @param p * @param p
* a {@link arcane.ui.PlayArea} object. * a {@link forge.view.arcane.PlayArea} object.
* @param c * @param c
* an array of {@link forge.Card} objects. * an array of {@link forge.Card} objects.
*/ */
public static void setupPlayZone(final PlayArea p, final List<Card> c) { public static void setupPlayZone(final PlayArea p, final List<Card> c) {
List<Card> tmp, diff; List<Card> tmp, diff;
tmp = new ArrayList<Card>(); tmp = new ArrayList<Card>();
for (final arcane.ui.CardPanel cpa : p.getCardPanels()) { for (final forge.view.arcane.CardPanel cpa : p.getCardPanels()) {
tmp.add(cpa.getGameCard()); tmp.add(cpa.getGameCard());
} }
diff = new ArrayList<Card>(tmp); diff = new ArrayList<Card>(tmp);
@@ -312,7 +269,7 @@ public final class GuiDisplayUtil {
diff = new ArrayList<Card>(c); diff = new ArrayList<Card>(c);
diff.removeAll(tmp); diff.removeAll(tmp);
arcane.ui.CardPanel toPanel = null; forge.view.arcane.CardPanel toPanel = null;
for (final Card card : diff) { for (final Card card : diff) {
toPanel = p.addCard(card); toPanel = p.addCard(card);
Animation.moveCard(toPanel); Animation.moveCard(toPanel);
@@ -322,7 +279,7 @@ public final class GuiDisplayUtil {
toPanel = p.getCardPanel(card.getUniqueNumber()); toPanel = p.getCardPanel(card.getUniqueNumber());
if (card.isTapped()) { if (card.isTapped()) {
toPanel.setTapped(true); toPanel.setTapped(true);
toPanel.setTappedAngle(arcane.ui.CardPanel.TAPPED_ANGLE); toPanel.setTappedAngle(forge.view.arcane.CardPanel.TAPPED_ANGLE);
} else { } else {
toPanel.setTapped(false); toPanel.setTapped(false);
toPanel.setTappedAngle(0); toPanel.setTappedAngle(0);
@@ -331,7 +288,7 @@ public final class GuiDisplayUtil {
if (card.isEnchanted()) { if (card.isEnchanted()) {
final ArrayList<Card> enchants = card.getEnchantedBy(); final ArrayList<Card> enchants = card.getEnchantedBy();
for (final Card e : enchants) { for (final Card e : enchants) {
final arcane.ui.CardPanel cardE = p.getCardPanel(e.getUniqueNumber()); final forge.view.arcane.CardPanel cardE = p.getCardPanel(e.getUniqueNumber());
if (cardE != null) { if (cardE != null) {
toPanel.getAttachedPanels().add(cardE); toPanel.getAttachedPanels().add(cardE);
} }
@@ -341,7 +298,7 @@ public final class GuiDisplayUtil {
if (card.isEquipped()) { if (card.isEquipped()) {
final ArrayList<Card> enchants = card.getEquippedBy(); final ArrayList<Card> enchants = card.getEquippedBy();
for (final Card e : enchants) { for (final Card e : enchants) {
final arcane.ui.CardPanel cardE = p.getCardPanel(e.getUniqueNumber()); final forge.view.arcane.CardPanel cardE = p.getCardPanel(e.getUniqueNumber());
if (cardE != null) { if (cardE != null) {
toPanel.getAttachedPanels().add(cardE); toPanel.getAttachedPanels().add(cardE);
} }

View File

@@ -34,7 +34,6 @@ import forge.Card;
import forge.CardList; import forge.CardList;
import forge.Singletons; import forge.Singletons;
import forge.error.ErrorViewer; import forge.error.ErrorViewer;
import forge.gui.game.CardPanel;
/** /**
* <p>Constructor for Gui_MultipleBlockers4.</p> * <p>Constructor for Gui_MultipleBlockers4.</p>

View File

@@ -23,7 +23,8 @@ import javax.swing.SwingUtilities;
import javax.swing.SwingWorker; import javax.swing.SwingWorker;
import javax.swing.WindowConstants; import javax.swing.WindowConstants;
import net.slightlymagic.braids.util.UtilFunctions; import forge.util.ThreadUtil;
import net.slightlymagic.braids.util.progress_monitor.BaseProgressMonitor; import net.slightlymagic.braids.util.progress_monitor.BaseProgressMonitor;
/** /**
@@ -184,7 +185,7 @@ public class MultiPhaseProgressMonitorWithETA extends BaseProgressMonitor {
if (numUnits > 0) { if (numUnits > 0) {
// dialog must exist before we exit this method. // dialog must exist before we exit this method.
UtilFunctions.invokeInEventDispatchThreadAndWait(new Runnable() { ThreadUtil.invokeInEventDispatchThreadAndWait(new Runnable() {
@Override @Override
public void run() { public void run() {
// (Re)create the progress bar. // (Re)create the progress bar.

View File

@@ -25,7 +25,7 @@ import org.apache.commons.lang3.StringUtils;
import forge.deck.DeckBase; import forge.deck.DeckBase;
import forge.util.IStorage; import forge.util.IStorage;
import forge.util.Lambda0; import forge.util.closures.Lambda0;
/** /**
* TODO: Write javadoc for this type. * TODO: Write javadoc for this type.

View File

@@ -36,7 +36,7 @@ import forge.item.CardPrinted;
import forge.item.InventoryItem; import forge.item.InventoryItem;
import forge.item.ItemPool; import forge.item.ItemPool;
import forge.item.ItemPoolView; import forge.item.ItemPoolView;
import forge.util.Predicate; import forge.util.closures.Predicate;
/** /**
* The Class DeckEditorBase. * The Class DeckEditorBase.

View File

@@ -47,8 +47,8 @@ import forge.item.CardDb;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.item.InventoryItem; import forge.item.InventoryItem;
import forge.item.ItemPool; import forge.item.ItemPool;
import forge.util.Lambda0; import forge.util.closures.Lambda0;
import forge.util.Predicate; import forge.util.closures.Predicate;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
/** /**

View File

@@ -46,8 +46,8 @@ import forge.gui.deckeditor.elements.TableView;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.item.InventoryItem; import forge.item.InventoryItem;
import forge.util.IStorage; import forge.util.IStorage;
import forge.util.Lambda0; import forge.util.closures.Lambda0;
import forge.util.Predicate; import forge.util.closures.Predicate;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
/** /**

View File

@@ -49,8 +49,8 @@ import forge.item.CardPrinted;
import forge.item.InventoryItem; import forge.item.InventoryItem;
import forge.item.ItemPool; import forge.item.ItemPool;
import forge.quest.QuestController; import forge.quest.QuestController;
import forge.util.Lambda0; import forge.util.closures.Lambda0;
import forge.util.Predicate; import forge.util.closures.Predicate;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
//import forge.quest.data.QuestBoosterPack; //import forge.quest.data.QuestBoosterPack;

View File

@@ -56,7 +56,7 @@ import forge.item.InventoryItem;
import forge.item.ItemPoolView; import forge.item.ItemPoolView;
import forge.properties.ForgeProps; import forge.properties.ForgeProps;
import forge.properties.NewConstants.Lang.GuiBoosterDraft; import forge.properties.NewConstants.Lang.GuiBoosterDraft;
import forge.util.Predicate; import forge.util.closures.Predicate;
/** /**
* <p> * <p>

View File

@@ -20,19 +20,21 @@ package forge.gui.deckeditor;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.io.File; import java.io.File;
import javax.swing.JFileChooser; import javax.swing.JFileChooser;
import javax.swing.JMenu; import javax.swing.JMenu;
import javax.swing.JMenuItem; import javax.swing.JMenuItem;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import forge.CardList;
import forge.Command; import forge.Command;
import forge.card.CardRules;
import forge.deck.Deck; import forge.deck.Deck;
import forge.deck.generate.Generate2ColorDeck; import forge.deck.generate.Generate2ColorDeck;
import forge.deck.io.DeckSerializer; import forge.deck.io.DeckSerializer;
import forge.error.ErrorViewer; import forge.error.ErrorViewer;
import forge.game.player.PlayerType; import forge.game.player.PlayerType;
import forge.item.CardDb;
import forge.item.CardPrinted;
import forge.util.closures.Predicate;
/** /**
* <p> * <p>
@@ -73,10 +75,9 @@ public final class MenuCommon extends MenuBase<Deck> {
final Deck randomDeck = new Deck(); final Deck randomDeck = new Deck();
// The only remaining reference to global variable! // The only remaining reference to global variable!
final CardList random = new CardList(forge.AllZone.getCardFactory().getRandomCombinationWithoutRepetition(
15 * 5));
randomDeck.getMain().add(random);
randomDeck.getMain().addAllFlat(Predicate.not(CardRules.Predicates.Presets.IS_BASIC_LAND).random(CardDb.instance().getAllUniqueCards(), CardPrinted.FN_GET_RULES, 15*5));
randomDeck.getMain().add("Plains"); randomDeck.getMain().add("Plains");
randomDeck.getMain().add("Island"); randomDeck.getMain().add("Island");
randomDeck.getMain().add("Swamp"); randomDeck.getMain().add("Swamp");

View File

@@ -28,7 +28,7 @@ import forge.card.CardRarity;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.item.InventoryItem; import forge.item.InventoryItem;
import forge.item.InventoryItemFromSet; import forge.item.InventoryItemFromSet;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
/** /**
* TODO: Write javadoc for this type. * TODO: Write javadoc for this type.

View File

@@ -59,8 +59,8 @@ import forge.item.PreconDeck;
import forge.item.TournamentPack; import forge.item.TournamentPack;
import forge.quest.QuestController; import forge.quest.QuestController;
import forge.quest.io.ReadPriceList; import forge.quest.io.ReadPriceList;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
import forge.util.Predicate; import forge.util.closures.Predicate;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
/** /**

View File

@@ -24,16 +24,16 @@ import javax.swing.JButton;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import arcane.ui.CardPanel;
import arcane.ui.ViewPanel;
import forge.Card; import forge.Card;
import forge.CardCharactersticName; import forge.CardCharactersticName;
import forge.gui.CardDetailPanel;
import forge.gui.GuiDisplayUtil; import forge.gui.GuiDisplayUtil;
import forge.gui.game.CardDetailPanel;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.item.InventoryItem; import forge.item.InventoryItem;
import forge.properties.ForgeProps; import forge.properties.ForgeProps;
import forge.properties.NewConstants; import forge.properties.NewConstants;
import forge.view.arcane.CardPanel;
import forge.view.arcane.ViewPanel;
/** /**
* This panel is to be placed in the right part of a deck editor. * This panel is to be placed in the right part of a deck editor.

View File

@@ -33,8 +33,8 @@ import forge.Card;
import forge.CardCharactersticName; import forge.CardCharactersticName;
import forge.Singletons; import forge.Singletons;
import forge.card.CardEdition; import forge.card.CardEdition;
import forge.gui.game.CardDetailPanel; import forge.gui.CardDetailPanel;
import forge.gui.game.CardPicturePanel; import forge.gui.CardPicturePanel;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.item.InventoryItem; import forge.item.InventoryItem;
import forge.item.OpenablePack; import forge.item.OpenablePack;

View File

@@ -26,7 +26,7 @@ import javax.swing.JCheckBox;
import forge.card.CardRules; import forge.card.CardRules;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.util.Predicate; import forge.util.closures.Predicate;
/** /**
* A structural class for some checkboxes need for a deck editor, contains no * A structural class for some checkboxes need for a deck editor, contains no

View File

@@ -36,8 +36,8 @@ import forge.card.CardRules;
import forge.card.CardEdition; import forge.card.CardEdition;
import forge.game.GameFormat; import forge.game.GameFormat;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.util.Predicate; import forge.util.closures.Predicate;
import forge.util.PredicateString.StringOp; import forge.util.closures.PredicateString.StringOp;
/** /**
* A panel that holds Name, Type, Rules text fields aligned horizontally * A panel that holds Name, Type, Rules text fields aligned horizontally

View File

@@ -21,7 +21,7 @@ import java.util.Map.Entry;
import javax.swing.table.TableCellRenderer; import javax.swing.table.TableCellRenderer;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
/** /**

View File

@@ -21,7 +21,7 @@ import java.util.Comparator;
import java.util.Map.Entry; import java.util.Map.Entry;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
/** /**
* <p> * <p>

View File

@@ -36,7 +36,7 @@ import forge.card.CardRules;
import forge.item.InventoryItem; import forge.item.InventoryItem;
import forge.item.ItemPool; import forge.item.ItemPool;
import forge.item.ItemPoolView; import forge.item.ItemPoolView;
import forge.util.Predicate; import forge.util.closures.Predicate;
/** /**
* TableWithCards. * TableWithCards.

View File

@@ -1,3 +0,0 @@
/** Forge Card Game. */
package forge.gui.game;

View File

@@ -35,7 +35,6 @@ import javax.swing.border.LineBorder;
import javax.swing.border.MatteBorder; import javax.swing.border.MatteBorder;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import arcane.ui.PlayArea;
import forge.gui.layout.DragTab; import forge.gui.layout.DragTab;
import forge.gui.layout.EDocID; import forge.gui.layout.EDocID;
import forge.gui.layout.ICDoc; import forge.gui.layout.ICDoc;
@@ -43,6 +42,7 @@ import forge.gui.layout.IVDoc;
import forge.gui.toolbox.FLabel; import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.FSkin; import forge.gui.toolbox.FSkin;
import forge.gui.toolbox.FSkin.SkinProp; import forge.gui.toolbox.FSkin.SkinProp;
import forge.view.arcane.PlayArea;
/** /**
* Assembles Swing components of a player field instance. * Assembles Swing components of a player field instance.

View File

@@ -23,11 +23,11 @@ import javax.swing.JPanel;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import arcane.ui.HandArea;
import forge.gui.layout.DragTab; import forge.gui.layout.DragTab;
import forge.gui.layout.EDocID; import forge.gui.layout.EDocID;
import forge.gui.layout.ICDoc; import forge.gui.layout.ICDoc;
import forge.gui.layout.IVDoc; import forge.gui.layout.IVDoc;
import forge.view.arcane.HandArea;
/** /**
* Assembles Swing components of hand area. * Assembles Swing components of hand area.
@@ -87,7 +87,7 @@ public enum VHand implements IVDoc {
/** /**
* Gets the hand area. * Gets the hand area.
* *
* @return {@link arcane.ui.HandArea} * @return {@link forge.view.arcane.HandArea}
*/ */
public HandArea getHandArea() { public HandArea getHandArea() {
return VHand.this.hand; return VHand.this.hand;

View File

@@ -22,7 +22,7 @@ import java.awt.Component;
import javax.swing.JPanel; import javax.swing.JPanel;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import forge.gui.game.CardDetailPanel; import forge.gui.CardDetailPanel;
import forge.gui.layout.DragTab; import forge.gui.layout.DragTab;
import forge.gui.layout.EDocID; import forge.gui.layout.EDocID;
import forge.gui.layout.ICDoc; import forge.gui.layout.ICDoc;
@@ -57,7 +57,7 @@ public enum VDetail implements IVDoc {
pnl.add(pnlDetail, "w 100%!, h 100%!"); pnl.add(pnlDetail, "w 100%!, h 100%!");
} }
/** @return {@link forge.gui.game.CardDetailPanel} */ /** @return {@link forge.gui.CardDetailPanel} */
public CardDetailPanel getPnlDetail() { public CardDetailPanel getPnlDetail() {
return pnlDetail; return pnlDetail;
} }

View File

@@ -22,7 +22,7 @@ import java.awt.Component;
import javax.swing.JPanel; import javax.swing.JPanel;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import forge.gui.game.CardPicturePanel; import forge.gui.CardPicturePanel;
import forge.gui.layout.DragTab; import forge.gui.layout.DragTab;
import forge.gui.layout.EDocID; import forge.gui.layout.EDocID;
import forge.gui.layout.ICDoc; import forge.gui.layout.ICDoc;
@@ -85,7 +85,7 @@ public enum VPicture implements IVDoc {
return null; return null;
} }
/** @return {@link forge.gui.game.CardPicturePanel} */ /** @return {@link forge.gui.CardPicturePanel} */
public CardPicturePanel getPnlPicture() { public CardPicturePanel getPnlPicture() {
return pnlPicture; return pnlPicture;
} }

View File

@@ -23,10 +23,11 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.StringTokenizer; import java.util.StringTokenizer;
import arcane.ui.util.UI;
import com.esotericsoftware.minlog.Log; import com.esotericsoftware.minlog.Log;
import forge.view.arcane.util.UI;
/** /**
* <p> * <p>
* CardFaceSymbols class. * CardFaceSymbols class.

View File

@@ -28,8 +28,8 @@ import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener; import javax.swing.event.ListSelectionListener;
import forge.Card; import forge.Card;
import forge.gui.game.CardDetailPanel; import forge.gui.CardDetailPanel;
import forge.gui.game.CardPicturePanel; import forge.gui.CardPicturePanel;
import forge.item.CardPrinted; import forge.item.CardPrinted;
/** /**

View File

@@ -22,7 +22,7 @@ import forge.ImageCache;
import forge.Singletons; import forge.Singletons;
import forge.card.BoosterData; import forge.card.BoosterData;
import forge.card.CardEdition; import forge.card.CardEdition;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
/** /**
* TODO Write javadoc for this type. * TODO Write javadoc for this type.

View File

@@ -34,8 +34,8 @@ import forge.Singletons;
import forge.card.CardInSet; import forge.card.CardInSet;
import forge.card.CardRules; import forge.card.CardRules;
import forge.card.MtgDataParser; import forge.card.MtgDataParser;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
import forge.util.Predicate; import forge.util.closures.Predicate;
/** /**
* <p> * <p>

View File

@@ -30,10 +30,10 @@ import forge.CardUtil;
import forge.card.CardRarity; import forge.card.CardRarity;
import forge.card.CardRules; import forge.card.CardRules;
import forge.game.player.Player; import forge.game.player.Player;
import forge.util.Lambda1;
import forge.util.MyRandom; import forge.util.MyRandom;
import forge.util.Predicate; import forge.util.closures.Lambda1;
import forge.util.PredicateString; import forge.util.closures.Predicate;
import forge.util.closures.PredicateString;
/** /**
* <p> * <p>

View File

@@ -24,7 +24,7 @@ import forge.ImageCache;
import forge.Singletons; import forge.Singletons;
import forge.card.CardEdition; import forge.card.CardEdition;
import forge.card.FatPackData; import forge.card.FatPackData;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
/** /**
* TODO Write javadoc for this type. * TODO Write javadoc for this type.

View File

@@ -26,7 +26,7 @@ import java.util.Map.Entry;
import forge.CardList; import forge.CardList;
import forge.card.CardRules; import forge.card.CardRules;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
/** /**
* <p> * <p>

View File

@@ -1,7 +1,7 @@
package forge.item; package forge.item;
import forge.util.Predicate; import forge.util.closures.Predicate;
/** /**
* Filtering conditions for miscellaneous InventoryItems. * Filtering conditions for miscellaneous InventoryItems.

View File

@@ -22,7 +22,7 @@ import java.util.List;
import forge.card.BoosterData; import forge.card.BoosterData;
import forge.card.BoosterGenerator; import forge.card.BoosterGenerator;
import forge.card.CardRules; import forge.card.CardRules;
import forge.util.Predicate; import forge.util.closures.Predicate;
/** /**
* TODO: Write javadoc for this type. * TODO: Write javadoc for this type.

View File

@@ -28,7 +28,7 @@ import forge.deck.Deck;
import forge.quest.SellRules; import forge.quest.SellRules;
import forge.util.FileSection; import forge.util.FileSection;
import forge.util.FileUtil; import forge.util.FileUtil;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
/** /**
* TODO: Write javadoc for this type. * TODO: Write javadoc for this type.

View File

@@ -24,7 +24,7 @@ import forge.Singletons;
import forge.card.BoosterData; import forge.card.BoosterData;
import forge.card.BoosterGenerator; import forge.card.BoosterGenerator;
import forge.card.CardEdition; import forge.card.CardEdition;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
/** /**
* TODO Write javadoc for this type. * TODO Write javadoc for this type.

View File

@@ -25,7 +25,6 @@ import java.io.OutputStream;
import java.io.PrintStream; import java.io.PrintStream;
import java.util.List; import java.util.List;
import arcane.util.MultiplexOutputStream;
import forge.AllZone; import forge.AllZone;
import forge.Constant; import forge.Constant;
import forge.GameAction; import forge.GameAction;
@@ -50,6 +49,7 @@ import forge.quest.data.QuestPreferences;
import forge.util.FileUtil; import forge.util.FileUtil;
import forge.util.HttpUtil; import forge.util.HttpUtil;
import forge.util.IStorageView; import forge.util.IStorageView;
import forge.util.MultiplexOutputStream;
import forge.util.StorageView; import forge.util.StorageView;
import forge.view.match.ViewField; import forge.view.match.ViewField;
import forge.view.match.ViewTabber; import forge.view.match.ViewTabber;

View File

@@ -28,9 +28,9 @@ import forge.card.CardRules;
import forge.card.UnOpenedProduct; import forge.card.UnOpenedProduct;
import forge.item.CardDb; import forge.item.CardDb;
import forge.item.CardPrinted; import forge.item.CardPrinted;
import forge.util.Lambda1;
import forge.util.MyRandom; import forge.util.MyRandom;
import forge.util.Predicate; import forge.util.closures.Lambda1;
import forge.util.closures.Predicate;
// The BoosterPack generates cards for the Card Pool in Quest Mode // The BoosterPack generates cards for the Card Pool in Quest Mode
/** /**

View File

@@ -37,8 +37,8 @@ import forge.quest.data.QuestPreferences.QPref;
import forge.quest.io.PreconReader; import forge.quest.io.PreconReader;
import forge.util.IStorage; import forge.util.IStorage;
import forge.util.IStorageView; import forge.util.IStorageView;
import forge.util.Predicate;
import forge.util.StorageView; import forge.util.StorageView;
import forge.util.closures.Predicate;
/** /**
* TODO: Write javadoc for this type. * TODO: Write javadoc for this type.

View File

@@ -27,9 +27,9 @@ import forge.quest.bazaar.QuestItemType;
import forge.quest.data.QuestAssets; import forge.quest.data.QuestAssets;
import forge.quest.data.QuestPreferences; import forge.quest.data.QuestPreferences;
import forge.quest.data.QuestPreferences.QPref; import forge.quest.data.QuestPreferences.QPref;
import forge.util.Lambda1;
import forge.util.MyRandom; import forge.util.MyRandom;
import forge.util.Predicate; import forge.util.closures.Lambda1;
import forge.util.closures.Predicate;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package arcane.util; package forge.util;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;

View File

@@ -26,6 +26,8 @@ import javax.swing.JOptionPane;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import forge.util.closures.Lambda1;
/** /**
* This class treats every line of a given file as a source for a named object. * This class treats every line of a given file as a source for a named object.
* *

View File

@@ -33,6 +33,7 @@ import org.apache.commons.lang3.StringUtils;
import forge.deck.io.OldDeckFileFormatException; import forge.deck.io.OldDeckFileFormatException;
import forge.error.ErrorViewer; import forge.error.ErrorViewer;
import forge.util.closures.Lambda1;
/** /**
* This class treats every file in the given folder as a source for a named * This class treats every file in the given folder as a source for a named

View File

@@ -18,7 +18,7 @@
* limitations under the Apache License. * limitations under the Apache License.
* *
*/ */
package net.slightlymagic.braids.util; package forge.util;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
@@ -26,7 +26,7 @@ import javax.swing.SwingUtilities;
/** /**
* Some general-purpose functions. * Some general-purpose functions.
*/ */
public final class UtilFunctions { public final class ThreadUtil {
/** /**
* Invoke the given Runnable in an Event Dispatch Thread and wait for it to * Invoke the given Runnable in an Event Dispatch Thread and wait for it to

View File

@@ -18,7 +18,7 @@
* limitations under the Apache License. * limitations under the Apache License.
* *
*/ */
package forge.util; package forge.util.closures;
/** /**
* The Interface Lambda. * The Interface Lambda.

View File

@@ -18,7 +18,7 @@
* limitations under the Apache License. * limitations under the Apache License.
* *
*/ */
package forge.util; package forge.util.closures;
/** /**

View File

@@ -18,7 +18,7 @@
* limitations under the Apache License. * limitations under the Apache License.
* *
*/ */
package forge.util; package forge.util.closures;
/** /**

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package forge.util; package forge.util.closures;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Hashtable; import java.util.Hashtable;

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package forge.util; package forge.util.closures;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package arcane.ui; package forge.view.arcane;
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension; import java.awt.Dimension;
@@ -30,8 +30,9 @@ import javax.swing.JLayeredPane;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import arcane.ui.util.Animation; import forge.view.arcane.util.Animation;
import arcane.ui.util.CardPanelMouseListener; import forge.view.arcane.util.CardPanelMouseListener;
/** /**
* <p> * <p>

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package arcane.ui; package forge.view.arcane;
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension; import java.awt.Dimension;
@@ -36,9 +36,6 @@ import javax.swing.JPanel;
import javax.swing.JRootPane; import javax.swing.JRootPane;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import arcane.ui.ScaledImagePanel.MultipassType;
import arcane.ui.ScaledImagePanel.ScalingType;
import arcane.ui.util.GlowText;
import forge.AllZoneUtil; import forge.AllZoneUtil;
import forge.Card; import forge.Card;
import forge.Counters; import forge.Counters;
@@ -47,6 +44,9 @@ import forge.Singletons;
import forge.gui.CardContainer; import forge.gui.CardContainer;
import forge.gui.toolbox.CardFaceSymbols; import forge.gui.toolbox.CardFaceSymbols;
import forge.properties.ForgePreferences.FPref; import forge.properties.ForgePreferences.FPref;
import forge.view.arcane.ScaledImagePanel.MultipassType;
import forge.view.arcane.ScaledImagePanel.ScalingType;
import forge.view.arcane.util.GlowText;
/** /**
* <p> * <p>
@@ -208,7 +208,7 @@ public class CardPanel extends JPanel implements CardContainer {
* </p> * </p>
* *
* @param panel * @param panel
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
*/ */
public final void setImage(final CardPanel panel) { public final void setImage(final CardPanel panel) {
synchronized (panel.imagePanel) { synchronized (panel.imagePanel) {
@@ -226,7 +226,7 @@ public class CardPanel extends JPanel implements CardContainer {
* </p> * </p>
* *
* @param scalingType * @param scalingType
* a {@link arcane.ui.ScaledImagePanel.ScalingType} object. * a {@link forge.view.arcane.ScaledImagePanel.ScalingType} object.
*/ */
public final void setScalingType(final ScalingType scalingType) { public final void setScalingType(final ScalingType scalingType) {
this.imagePanel.setScalingType(scalingType); this.imagePanel.setScalingType(scalingType);

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package arcane.ui; package forge.view.arcane;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Rectangle; import java.awt.Rectangle;
@@ -29,10 +29,10 @@ import javax.swing.JPanel;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import arcane.ui.util.CardPanelMouseListener;
import arcane.ui.util.UI;
import forge.Card; import forge.Card;
import forge.Constant; import forge.Constant;
import forge.view.arcane.util.CardPanelMouseListener;
import forge.view.arcane.util.UI;
/** /**
* Manages mouse events and common functionality for CardPanel containing * Manages mouse events and common functionality for CardPanel containing
@@ -236,7 +236,7 @@ public abstract class CardPanelContainer extends JPanel {
* a int. * a int.
* @param y * @param y
* a int. * a int.
* @return a {@link arcane.ui.CardPanel} object. * @return a {@link forge.view.arcane.CardPanel} object.
*/ */
protected abstract CardPanel getCardPanel(int x, int y); protected abstract CardPanel getCardPanel(int x, int y);
@@ -245,7 +245,7 @@ public abstract class CardPanelContainer extends JPanel {
* *
* @param card * @param card
* a {@link forge.Card} object. * a {@link forge.Card} object.
* @return a {@link arcane.ui.CardPanel} object. * @return a {@link forge.view.arcane.CardPanel} object.
*/ */
public final CardPanel addCard(final Card card) { public final CardPanel addCard(final Card card) {
final CardPanel placeholder = new CardPanel(card); final CardPanel placeholder = new CardPanel(card);
@@ -267,7 +267,7 @@ public abstract class CardPanelContainer extends JPanel {
* *
* @param gameCardID * @param gameCardID
* a int. * a int.
* @return a {@link arcane.ui.CardPanel} object. * @return a {@link forge.view.arcane.CardPanel} object.
*/ */
public final CardPanel getCardPanel(final int gameCardID) { public final CardPanel getCardPanel(final int gameCardID) {
for (final CardPanel panel : this.getCardPanels()) { for (final CardPanel panel : this.getCardPanels()) {
@@ -284,7 +284,7 @@ public abstract class CardPanelContainer extends JPanel {
* </p> * </p>
* *
* @param fromPanel * @param fromPanel
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
*/ */
public final void removeCardPanel(final CardPanel fromPanel) { public final void removeCardPanel(final CardPanel fromPanel) {
UI.invokeAndWait(new Runnable() { UI.invokeAndWait(new Runnable() {
@@ -411,7 +411,7 @@ public abstract class CardPanelContainer extends JPanel {
* </p> * </p>
* *
* @param listener * @param listener
* a {@link arcane.ui.util.CardPanelMouseListener} object. * a {@link forge.view.arcane.util.CardPanelMouseListener} object.
*/ */
public final void addCardPanelMouseListener(final CardPanelMouseListener listener) { public final void addCardPanelMouseListener(final CardPanelMouseListener listener) {
this.listeners.add(listener); this.listeners.add(listener);
@@ -423,7 +423,7 @@ public abstract class CardPanelContainer extends JPanel {
* </p> * </p>
* *
* @param panel * @param panel
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
* @param evt * @param evt
* a {@link java.awt.event.MouseEvent} object. * a {@link java.awt.event.MouseEvent} object.
*/ */
@@ -439,7 +439,7 @@ public abstract class CardPanelContainer extends JPanel {
* </p> * </p>
* *
* @param panel * @param panel
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
* @param evt * @param evt
* a {@link java.awt.event.MouseEvent} object. * a {@link java.awt.event.MouseEvent} object.
*/ */
@@ -455,7 +455,7 @@ public abstract class CardPanelContainer extends JPanel {
* </p> * </p>
* *
* @param panel * @param panel
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
* @param evt * @param evt
* a {@link java.awt.event.MouseEvent} object. * a {@link java.awt.event.MouseEvent} object.
*/ */
@@ -471,7 +471,7 @@ public abstract class CardPanelContainer extends JPanel {
* </p> * </p>
* *
* @param dragPanel * @param dragPanel
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
* @param evt * @param evt
* a {@link java.awt.event.MouseEvent} object. * a {@link java.awt.event.MouseEvent} object.
*/ */
@@ -487,7 +487,7 @@ public abstract class CardPanelContainer extends JPanel {
* </p> * </p>
* *
* @param dragPanel * @param dragPanel
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
* @param dragOffsetX * @param dragOffsetX
* a int. * a int.
* @param dragOffsetY * @param dragOffsetY
@@ -508,7 +508,7 @@ public abstract class CardPanelContainer extends JPanel {
* </p> * </p>
* *
* @param dragPanel * @param dragPanel
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
* @param evt * @param evt
* a {@link java.awt.event.MouseEvent} object. * a {@link java.awt.event.MouseEvent} object.
*/ */
@@ -524,7 +524,7 @@ public abstract class CardPanelContainer extends JPanel {
* </p> * </p>
* *
* @param panel * @param panel
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
* @param evt * @param evt
* a {@link java.awt.event.MouseEvent} object. * a {@link java.awt.event.MouseEvent} object.
*/ */
@@ -540,7 +540,7 @@ public abstract class CardPanelContainer extends JPanel {
* </p> * </p>
* *
* @param panel * @param panel
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
* @param evt * @param evt
* a {@link java.awt.event.MouseEvent} object. * a {@link java.awt.event.MouseEvent} object.
*/ */

View File

@@ -15,13 +15,14 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package arcane.ui; package forge.view.arcane;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import arcane.ui.util.CardPanelMouseListener; import forge.view.arcane.util.CardPanelMouseListener;
/** /**
* <p> * <p>

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package arcane.ui; package forge.view.arcane;
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension; import java.awt.Dimension;
@@ -27,8 +27,8 @@ import java.util.List;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import arcane.ui.util.CardPanelMouseListener;
import forge.Card; import forge.Card;
import forge.view.arcane.util.CardPanelMouseListener;
/** /**
* <p> * <p>
@@ -314,7 +314,7 @@ public class PlayArea extends CardPanelContainer implements CardPanelMouseListen
* </p> * </p>
* *
* @param sourceRow * @param sourceRow
* a {@link arcane.ui.PlayArea.CardStackRow} object. * a {@link forge.view.arcane.PlayArea.CardStackRow} object.
* @param rows * @param rows
* a {@link java.util.List} object. * a {@link java.util.List} object.
* @param insertIndex * @param insertIndex
@@ -383,13 +383,13 @@ public class PlayArea extends CardPanelContainer implements CardPanelMouseListen
* </p> * </p>
* *
* @param sourceRow * @param sourceRow
* a {@link arcane.ui.PlayArea.CardStackRow} object. * a {@link forge.view.arcane.PlayArea.CardStackRow} object.
* @param rows * @param rows
* a {@link java.util.List} object. * a {@link java.util.List} object.
* @param rows * @param rows
* a {@link java.util.List} object. * a {@link java.util.List} object.
* @param row * @param row
* a {@link arcane.ui.PlayArea.CardStackRow} object. * a {@link forge.view.arcane.PlayArea.CardStackRow} object.
*/ */
private void fillRow(final CardStackRow sourceRow, final List<CardStackRow> rows, final CardStackRow row) { private void fillRow(final CardStackRow sourceRow, final List<CardStackRow> rows, final CardStackRow row) {
int rowWidth = row.getWidth(); int rowWidth = row.getWidth();

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package arcane.ui; package forge.view.arcane;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.Graphics2D; import java.awt.Graphics2D;
@@ -94,7 +94,7 @@ public class ScaledImagePanel extends JPanel {
* </p> * </p>
* *
* @param multiPassType * @param multiPassType
* a {@link arcane.ui.ScaledImagePanel.MultipassType} object. * a {@link forge.view.arcane.ScaledImagePanel.MultipassType} object.
*/ */
public final void setScalingMultiPassType(final MultipassType multiPassType) { public final void setScalingMultiPassType(final MultipassType multiPassType) {
this.multiPassType = multiPassType; this.multiPassType = multiPassType;
@@ -106,7 +106,7 @@ public class ScaledImagePanel extends JPanel {
* </p> * </p>
* *
* @param scalingType * @param scalingType
* a {@link arcane.ui.ScaledImagePanel.ScalingType} object. * a {@link forge.view.arcane.ScaledImagePanel.ScalingType} object.
*/ */
public final void setScalingType(final ScalingType scalingType) { public final void setScalingType(final ScalingType scalingType) {
this.scalingType = scalingType; this.scalingType = scalingType;
@@ -152,7 +152,7 @@ public class ScaledImagePanel extends JPanel {
* getScalingInfo. * getScalingInfo.
* </p> * </p>
* *
* @return a {@link arcane.ui.ScaledImagePanel.ScalingInfo} object. * @return a {@link forge.view.arcane.ScaledImagePanel.ScalingInfo} object.
*/ */
private ScalingInfo getScalingInfo() { private ScalingInfo getScalingInfo() {
final int panelWidth = this.getWidth(); final int panelWidth = this.getWidth();
@@ -219,7 +219,7 @@ public class ScaledImagePanel extends JPanel {
* @param g2 * @param g2
* a {@link java.awt.Graphics2D} object. * a {@link java.awt.Graphics2D} object.
* @param info * @param info
* a {@link arcane.ui.ScaledImagePanel.ScalingInfo} object. * a {@link forge.view.arcane.ScaledImagePanel.ScalingInfo} object.
* @param hints * @param hints
* a int. * a int.
*/ */
@@ -237,7 +237,7 @@ public class ScaledImagePanel extends JPanel {
* @param g2 * @param g2
* a {@link java.awt.Graphics2D} object. * a {@link java.awt.Graphics2D} object.
* @param info * @param info
* a {@link arcane.ui.ScaledImagePanel.ScalingInfo} object. * a {@link forge.view.arcane.ScaledImagePanel.ScalingInfo} object.
* @param hint * @param hint
* a {@link java.lang.Object} object. * a {@link java.lang.Object} object.
*/ */
@@ -320,7 +320,7 @@ public class ScaledImagePanel extends JPanel {
* </p> * </p>
* *
* @param info * @param info
* a {@link arcane.ui.ScaledImagePanel.ScalingInfo} object. * a {@link forge.view.arcane.ScaledImagePanel.ScalingInfo} object.
* @return a {@link java.awt.Image} object. * @return a {@link java.awt.Image} object.
*/ */
private Image getSourceImage(final ScalingInfo info) { private Image getSourceImage(final ScalingInfo info) {

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package arcane.ui; package forge.view.arcane;
import java.awt.BorderLayout; import java.awt.BorderLayout;
@@ -76,7 +76,7 @@ public class ViewPanel extends JPanel {
* </p> * </p>
* *
* @param panel * @param panel
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
*/ */
public final void setCardPanel(final CardPanel panel) { public final void setCardPanel(final CardPanel panel) {
// CardPanel newPanel = new CardPanel(panel.gameCard); // CardPanel newPanel = new CardPanel(panel.gameCard);

View File

@@ -0,0 +1,3 @@
/** Forge Card Game. */
package forge.view.arcane;

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package arcane.ui.util; package forge.view.arcane.util;
import java.awt.Container; import java.awt.Container;
import java.awt.EventQueue; import java.awt.EventQueue;
@@ -27,8 +27,8 @@ import java.util.TimerTask;
import javax.swing.JLayeredPane; import javax.swing.JLayeredPane;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import arcane.ui.CardPanel; import forge.view.arcane.CardPanel;
import arcane.util.Util;
/** /**
* <p> * <p>
@@ -191,7 +191,7 @@ public abstract class Animation {
* </p> * </p>
* *
* @param panel * @param panel
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
*/ */
public static void tapCardToggle(final CardPanel panel) { public static void tapCardToggle(final CardPanel panel) {
new Animation(200) { new Animation(200) {
@@ -233,9 +233,9 @@ public abstract class Animation {
* @param endWidth * @param endWidth
* a int. * a int.
* @param animationPanel * @param animationPanel
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
* @param placeholder * @param placeholder
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
* @param layeredPane * @param layeredPane
* a {@link javax.swing.JLayeredPane} object. * a {@link javax.swing.JLayeredPane} object.
* @param speed * @param speed
@@ -324,9 +324,9 @@ public abstract class Animation {
* @param endWidth * @param endWidth
* a int. * a int.
* @param animationPanel * @param animationPanel
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
* @param placeholder * @param placeholder
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
* @param layeredPane * @param layeredPane
* a {@link javax.swing.JLayeredPane} object. * a {@link javax.swing.JLayeredPane} object.
* @param speed * @param speed
@@ -382,7 +382,7 @@ public abstract class Animation {
* </p> * </p>
* *
* @param placeholder * @param placeholder
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
*/ */
public static void moveCard(final CardPanel placeholder) { public static void moveCard(final CardPanel placeholder) {
UI.invokeLater(new Runnable() { UI.invokeLater(new Runnable() {
@@ -464,7 +464,7 @@ public abstract class Animation {
* </p> * </p>
* *
* @param overPanel * @param overPanel
* a {@link arcane.ui.CardPanel} object. * a {@link forge.view.arcane.CardPanel} object.
* @param clientFrame * @param clientFrame
* a {@link java.awt.Frame} object. * a {@link java.awt.Frame} object.
* @param delay * @param delay
@@ -534,13 +534,14 @@ public abstract class Animation {
// clientFrame.clearArrows(); // clientFrame.clearArrows();
animationPanel.setTappedAngle(overPanel.getTappedAngle()); animationPanel.setTappedAngle(overPanel.getTappedAngle());
try { try {
Util.invokeAndWait(new Runnable() { SwingUtilities.invokeAndWait(new Runnable() {
public void run() { public void run() {
layeredPane.add(animationPanel); layeredPane.add(animationPanel);
layeredPane.setLayer(animationPanel, JLayeredPane.DRAG_LAYER); layeredPane.setLayer(animationPanel, JLayeredPane.DRAG_LAYER);
} }
}); });
} catch (Exception e) { } catch (Exception ex) {
throw new RuntimeException("Error invoking runnable in UI thread.", ex);
} }
} }

View File

@@ -15,12 +15,13 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package arcane.ui.util; package forge.view.arcane.util;
import arcane.ui.CardPanel;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import forge.view.arcane.CardPanel;
/** /**
* <p>CardPanelMouseListener interface.</p> * <p>CardPanelMouseListener interface.</p>
* *
@@ -31,7 +32,7 @@ public interface CardPanelMouseListener {
/** /**
* <p>mouseOver.</p> * <p>mouseOver.</p>
* *
* @param panel a {@link arcane.ui.CardPanel} object. * @param panel a {@link forge.view.arcane.CardPanel} object.
* @param evt a {@link java.awt.event.MouseEvent} object. * @param evt a {@link java.awt.event.MouseEvent} object.
*/ */
void mouseOver(CardPanel panel, MouseEvent evt); void mouseOver(CardPanel panel, MouseEvent evt);
@@ -39,7 +40,7 @@ public interface CardPanelMouseListener {
/** /**
* <p>mouseOut.</p> * <p>mouseOut.</p>
* *
* @param panel a {@link arcane.ui.CardPanel} object. * @param panel a {@link forge.view.arcane.CardPanel} object.
* @param evt a {@link java.awt.event.MouseEvent} object. * @param evt a {@link java.awt.event.MouseEvent} object.
*/ */
void mouseOut(CardPanel panel, MouseEvent evt); void mouseOut(CardPanel panel, MouseEvent evt);
@@ -47,7 +48,7 @@ public interface CardPanelMouseListener {
/** /**
* <p>mouseLeftClicked.</p> * <p>mouseLeftClicked.</p>
* *
* @param panel a {@link arcane.ui.CardPanel} object. * @param panel a {@link forge.view.arcane.CardPanel} object.
* @param evt a {@link java.awt.event.MouseEvent} object. * @param evt a {@link java.awt.event.MouseEvent} object.
*/ */
void mouseLeftClicked(CardPanel panel, MouseEvent evt); void mouseLeftClicked(CardPanel panel, MouseEvent evt);
@@ -55,7 +56,7 @@ public interface CardPanelMouseListener {
/** /**
* <p>mouseMiddleClicked.</p> * <p>mouseMiddleClicked.</p>
* *
* @param panel a {@link arcane.ui.CardPanel} object. * @param panel a {@link forge.view.arcane.CardPanel} object.
* @param evt a {@link java.awt.event.MouseEvent} object. * @param evt a {@link java.awt.event.MouseEvent} object.
*/ */
void mouseMiddleClicked(CardPanel panel, MouseEvent evt); void mouseMiddleClicked(CardPanel panel, MouseEvent evt);
@@ -63,7 +64,7 @@ public interface CardPanelMouseListener {
/** /**
* <p>mouseRightClicked.</p> * <p>mouseRightClicked.</p>
* *
* @param panel a {@link arcane.ui.CardPanel} object. * @param panel a {@link forge.view.arcane.CardPanel} object.
* @param evt a {@link java.awt.event.MouseEvent} object. * @param evt a {@link java.awt.event.MouseEvent} object.
*/ */
void mouseRightClicked(CardPanel panel, MouseEvent evt); void mouseRightClicked(CardPanel panel, MouseEvent evt);
@@ -71,7 +72,7 @@ public interface CardPanelMouseListener {
/** /**
* <p>mouseDragStart.</p> * <p>mouseDragStart.</p>
* *
* @param dragPanel a {@link arcane.ui.CardPanel} object. * @param dragPanel a {@link forge.view.arcane.CardPanel} object.
* @param evt a {@link java.awt.event.MouseEvent} object. * @param evt a {@link java.awt.event.MouseEvent} object.
*/ */
void mouseDragStart(CardPanel dragPanel, MouseEvent evt); void mouseDragStart(CardPanel dragPanel, MouseEvent evt);
@@ -79,7 +80,7 @@ public interface CardPanelMouseListener {
/** /**
* <p>mouseDragged.</p> * <p>mouseDragged.</p>
* *
* @param dragPanel a {@link arcane.ui.CardPanel} object. * @param dragPanel a {@link forge.view.arcane.CardPanel} object.
* @param dragOffsetX a int. * @param dragOffsetX a int.
* @param dragOffsetY a int. * @param dragOffsetY a int.
* @param evt a {@link java.awt.event.MouseEvent} object. * @param evt a {@link java.awt.event.MouseEvent} object.
@@ -89,7 +90,7 @@ public interface CardPanelMouseListener {
/** /**
* <p>mouseDragEnd.</p> * <p>mouseDragEnd.</p>
* *
* @param dragPanel a {@link arcane.ui.CardPanel} object. * @param dragPanel a {@link forge.view.arcane.CardPanel} object.
* @param evt a {@link java.awt.event.MouseEvent} object. * @param evt a {@link java.awt.event.MouseEvent} object.
*/ */
void mouseDragEnd(CardPanel dragPanel, MouseEvent evt); void mouseDragEnd(CardPanel dragPanel, MouseEvent evt);

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package arcane.ui.util; package forge.view.arcane.util;
import java.awt.AlphaComposite; import java.awt.AlphaComposite;
import java.awt.Color; import java.awt.Color;

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package arcane.ui.util; package forge.view.arcane.util;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.awt.Image; import java.awt.Image;

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package arcane.ui.util; package forge.view.arcane.util;
import java.awt.Component; import java.awt.Component;
import java.awt.Container; import java.awt.Container;

View File

@@ -0,0 +1,2 @@
/** Forge Card Game. */
package forge.view.arcane.util;

View File

@@ -27,8 +27,8 @@ import javax.swing.event.ListSelectionListener;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import forge.Card; import forge.Card;
import forge.gui.game.CardDetailPanel; import forge.gui.CardDetailPanel;
import forge.gui.game.CardPicturePanel; import forge.gui.CardPicturePanel;
import forge.gui.toolbox.FList; import forge.gui.toolbox.FList;
import forge.gui.toolbox.FPanel; import forge.gui.toolbox.FPanel;
import forge.gui.toolbox.FScrollPane; import forge.gui.toolbox.FScrollPane;

View File

@@ -19,7 +19,7 @@ package forge.view.match;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import forge.control.match.ControlDetail; import forge.control.match.ControlDetail;
import forge.gui.game.CardDetailPanel; import forge.gui.CardDetailPanel;
import forge.gui.toolbox.FPanel; import forge.gui.toolbox.FPanel;
import forge.gui.toolbox.FSkin; import forge.gui.toolbox.FSkin;

View File

@@ -34,7 +34,6 @@ import javax.swing.border.LineBorder;
import javax.swing.border.MatteBorder; import javax.swing.border.MatteBorder;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import arcane.ui.PlayArea;
import forge.AllZone; import forge.AllZone;
import forge.Constant.Zone; import forge.Constant.Zone;
import forge.Singletons; import forge.Singletons;
@@ -46,6 +45,7 @@ import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.FPanel; import forge.gui.toolbox.FPanel;
import forge.gui.toolbox.FSkin; import forge.gui.toolbox.FSkin;
import forge.gui.toolbox.FSkin.SkinProp; import forge.gui.toolbox.FSkin.SkinProp;
import forge.view.arcane.PlayArea;
/** /**
* Assembles Swing components of player field instance. * Assembles Swing components of player field instance.

View File

@@ -20,10 +20,10 @@ package forge.view.match;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import arcane.ui.HandArea;
import forge.control.match.ControlHand; import forge.control.match.ControlHand;
import forge.gui.toolbox.FPanel; import forge.gui.toolbox.FPanel;
import forge.view.ViewMatchUI; import forge.view.ViewMatchUI;
import forge.view.arcane.HandArea;
/** /**
* VIEW - Swing components for user hand. * VIEW - Swing components for user hand.

View File

@@ -19,7 +19,7 @@ package forge.view.match;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import forge.control.match.ControlPicture; import forge.control.match.ControlPicture;
import forge.gui.game.CardPicturePanel; import forge.gui.CardPicturePanel;
import forge.gui.toolbox.FPanel; import forge.gui.toolbox.FPanel;
/** /**

View File

@@ -1,90 +0,0 @@
/*
* The files in the directory "net/slightlymagic/braids" and in all subdirectories of it (the "Files") are
* Copyright 2011 Braids Cabal-Conjurer. They are available under either Forge's
* main license (the GNU Public License; see LICENSE.txt in Forge's top directory)
* or under the Apache License, as explained below.
*
* The Files are additionally licensed under the Apache License, Version 2.0 (the
* "Apache License"); you may not use the files in this directory except in
* compliance with one of its two licenses. You may obtain a copy of the Apache
* License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the Apache License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the Apache License for the specific language governing permissions and
* limitations under the Apache License.
*
*/
package net.slightlymagic.braids.util;
import java.util.Iterator;
/**
* Acts as both immutable Iterator and Iterable; remove method always throws
* exception.
*
* @param <T>
* the generic type
*/
public class ImmutableIterableFrom<T> implements Iterable<T>, Iterator<T> {
private Iterator<T> iterator;
/**
* Wrap an iterable so that it cannot be changed via the remove method.
*
* @param iterable
* the iterable to wrap
*/
public ImmutableIterableFrom(final Iterable<T> iterable) {
this.iterator = iterable.iterator();
}
/**
* Wrap an iterator so that its container cannot be changed via the remove
* method.
*
* @param iterator
* the iterator to wrap
*/
public ImmutableIterableFrom(final Iterator<T> iterator) {
this.iterator = iterator;
}
/**
* This class acts as both an Iterable and an Iterator.
*
* @return the iterator
*/
public final Iterator<T> iterator() {
return this;
}
/**
* Returns hasNext from the wrapped [object's] iterator.
*
* @return true, if successful
*/
public final boolean hasNext() {
return iterator.hasNext();
}
/**
* Returns next from the wrapped [object's] iterator.
*
* @return the t
*/
public final T next() {
return iterator.next();
}
/**
* Never succeeeds.
*
*/
public final void remove() {
throw new UnsupportedOperationException();
}
}

View File

@@ -28,7 +28,7 @@ import com.google.code.jyield.Generator;
import com.google.code.jyield.YieldUtils; import com.google.code.jyield.YieldUtils;
import com.google.code.jyield.Yieldable; import com.google.code.jyield.Yieldable;
import forge.util.Lambda1; import forge.util.closures.Lambda1;
/** /**
* For documentation on Java-Yield and its generators, see. * For documentation on Java-Yield and its generators, see.

Some files were not shown because too many files have changed in this diff Show More