From 4c5bbff21290ed921c7aaa248f8f40dce397f35e Mon Sep 17 00:00:00 2001 From: Sol Date: Sun, 9 Sep 2012 02:23:58 +0000 Subject: [PATCH] - UnsortedListModel that was moved from DualListBox actually added. --- .gitattributes | 1 + .../java/forge/gui/UnsortedListModel.java | 59 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 src/main/java/forge/gui/UnsortedListModel.java diff --git a/.gitattributes b/.gitattributes index 2e3102c66b9..6280cd9468b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -12235,6 +12235,7 @@ src/main/java/forge/gui/MultiLineLabel.java svneol=native#text/plain src/main/java/forge/gui/MultiLineLabelUI.java svneol=native#text/plain src/main/java/forge/gui/MultiPhaseProgressMonitorWithETA.java svneol=native#text/plain src/main/java/forge/gui/SOverlayUtils.java -text +src/main/java/forge/gui/UnsortedListModel.java -text src/main/java/forge/gui/WrapLayout.java -text src/main/java/forge/gui/deckeditor/CDeckEditorUI.java -text src/main/java/forge/gui/deckeditor/DeckImport.java -text diff --git a/src/main/java/forge/gui/UnsortedListModel.java b/src/main/java/forge/gui/UnsortedListModel.java new file mode 100644 index 00000000000..ccd0fb28911 --- /dev/null +++ b/src/main/java/forge/gui/UnsortedListModel.java @@ -0,0 +1,59 @@ +package forge.gui; + +import java.util.Arrays; +import java.util.Collection; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; + +import javax.swing.AbstractListModel; + +@SuppressWarnings("serial") +class UnsortedListModel extends AbstractListModel { + List model; + + public UnsortedListModel() { + model = new LinkedList(); + } + + public int getSize() { + return model.size(); + } + + public Object getElementAt(int index) { + return model.toArray()[index]; + } + + public void add(Object element) { + if (model.add(element)) { + fireContentsChanged(this, 0, getSize()); + } + } + + public void addAll(Object elements[]) { + Collection c = Arrays.asList(elements); + model.addAll(c); + fireContentsChanged(this, 0, getSize()); + } + + public void clear() { + model.clear(); + fireContentsChanged(this, 0, getSize()); + } + + public boolean contains(Object element) { + return model.contains(element); + } + + public Iterator iterator() { + return model.iterator(); + } + + public boolean removeElement(Object element) { + boolean removed = model.remove(element); + if (removed) { + fireContentsChanged(this, 0, getSize()); + } + return removed; + } +} \ No newline at end of file