Support toggling want unique on the fly for Catalog

This commit is contained in:
drdev
2014-08-01 16:40:49 +00:00
parent 91ac72b55e
commit 6534fcb575
2 changed files with 22 additions and 2 deletions

View File

@@ -33,6 +33,7 @@ import forge.itemmanager.ItemColumn;
import forge.itemmanager.ItemManager.ContextMenuBuilder;
import forge.itemmanager.ItemManagerConfig;
import forge.limited.BoosterDraft;
import forge.menu.FCheckBoxMenuItem;
import forge.menu.FDropDownMenu;
import forge.menu.FMenuItem;
import forge.menu.FPopupMenu;
@@ -320,6 +321,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
});
}
}));
((DeckEditorPage)getSelectedPage()).buildDeckMenu(this);
}
};
menu.show(btnMoreOptions, 0, btnMoreOptions.getHeight());
@@ -496,6 +498,9 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
super(caption0, icon0);
}
protected void buildDeckMenu(FPopupMenu menu) {
}
protected abstract void initialize();
}
@@ -740,7 +745,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
cardManager.setPool(cardpool);
break;
default:
cardManager.setPool(ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getUniqueCards(), PaperCard.class), true);
cardManager.setPool(ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(), PaperCard.class), true);
break;
}
}
@@ -851,6 +856,21 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
}
}
}
@Override
protected void buildDeckMenu(FPopupMenu menu) {
if (cardManager.getConfig().getShowUniqueCardsOption()) {
menu.addItem(new FCheckBoxMenuItem("Unique Cards Only", cardManager.getWantUnique(), new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
boolean wantUnique = !cardManager.getWantUnique();
cardManager.setWantUnique(wantUnique);
cardManager.refresh();
cardManager.getConfig().setUniqueCardsOnly(wantUnique);
}
}));
}
}
}
protected static class DeckSectionPage extends CardManagerPage {

View File

@@ -24,7 +24,7 @@ import org.w3c.dom.NodeList;
public enum ItemManagerConfig {
STRING_ONLY(SColumnUtil.getStringColumn(), false, false, true,
null, null, 1, 0),
CARD_CATALOG(SColumnUtil.getCatalogDefaultColumns(true), true, false, false,
CARD_CATALOG(SColumnUtil.getCatalogDefaultColumns(true), true, true, false,
null, null, 4, 0),
DECK_EDITOR(SColumnUtil.getDeckEditorDefaultColumns(), false, false, true,
GroupDef.DEFAULT, ColumnDef.CMC, 4, 1),