Support applying format filter

This commit is contained in:
drdev
2014-07-24 23:10:38 +00:00
parent f154dbf267
commit 85f22db6df
2 changed files with 9 additions and 4 deletions

View File

@@ -703,7 +703,7 @@ public abstract class ItemManager<T extends InventoryItem> extends FContainer im
filterPredicate = newFilterPredicate; filterPredicate = newFilterPredicate;
if (pool != null) { if (pool != null) {
updateView(true, getSelectedItems()); updateView(true, null);
} }
return true; return true;
} }

View File

@@ -1,5 +1,6 @@
package forge.itemmanager.filters; package forge.itemmanager.filters;
import forge.assets.FSkinFont;
import forge.game.GameFormat; import forge.game.GameFormat;
import forge.item.InventoryItem; import forge.item.InventoryItem;
import forge.itemmanager.ItemManager; import forge.itemmanager.ItemManager;
@@ -19,27 +20,31 @@ public abstract class FormatFilter<T extends InventoryItem> extends ItemFilter<T
public FormatFilter(ItemManager<? super T> itemManager0) { public FormatFilter(ItemManager<? super T> itemManager0) {
super(itemManager0); super(itemManager0);
cbxFormats.addItem("All Formats"); cbxFormats.setFont(FSkinFont.get(12));
cbxFormats.addItem("All Sets/Formats");
for (GameFormat format : FModel.getFormats().getOrderedList()) { for (GameFormat format : FModel.getFormats().getOrderedList()) {
cbxFormats.addItem(format); cbxFormats.addItem(format);
} }
cbxFormats.addItem("More..."); cbxFormats.addItem("Choose Sets...");
cbxFormats.setSelectedIndex(0);
cbxFormats.setChangedHandler(new FEventHandler() { cbxFormats.setChangedHandler(new FEventHandler() {
@Override @Override
public void handleEvent(FEvent e) { public void handleEvent(FEvent e) {
if (cbxFormats.getSelectedIndex() == 0) { if (cbxFormats.getSelectedIndex() == 0) {
formats.clear(); formats.clear();
applyChange();
} }
else if (cbxFormats.getSelectedIndex() < cbxFormats.getItemCount() - 1) { else if (cbxFormats.getSelectedIndex() < cbxFormats.getItemCount() - 1) {
formats.clear(); formats.clear();
formats.add((GameFormat)cbxFormats.getSelectedItem()); formats.add((GameFormat)cbxFormats.getSelectedItem());
applyChange();
} }
else { else {
//TODO: Open screen to select one or more sets and/or formats //TODO: Open screen to select one or more sets and/or formats
} }
} }
}); });
cbxFormats.setSelectedIndex(0);
} }
@Override @Override