mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
Add ItemFilter.java (not committed by accident)
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -15022,6 +15022,7 @@ src/main/java/forge/gui/toolbox/itemmanager/filters/CardQuestWorldFilter.java -t
|
||||
src/main/java/forge/gui/toolbox/itemmanager/filters/CardSetFilter.java -text
|
||||
src/main/java/forge/gui/toolbox/itemmanager/filters/CardToughnessFilter.java -text
|
||||
src/main/java/forge/gui/toolbox/itemmanager/filters/CardTypeFilter.java -text
|
||||
src/main/java/forge/gui/toolbox/itemmanager/filters/ItemFilter.java -text
|
||||
src/main/java/forge/gui/toolbox/itemmanager/filters/ListLabelFilter.java -text
|
||||
src/main/java/forge/gui/toolbox/itemmanager/filters/TextFieldFilter.java -text
|
||||
src/main/java/forge/gui/toolbox/itemmanager/filters/ToggleButtonsFilter.java -text
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
package forge.gui.toolbox.itemmanager.filters;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
|
||||
import forge.Command;
|
||||
import forge.gui.toolbox.FLabel;
|
||||
import forge.gui.toolbox.itemmanager.ItemManager;
|
||||
import forge.item.InventoryItem;
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public abstract class ItemFilter<T extends InventoryItem> extends JPanel {
|
||||
private final ItemManager<T> itemManager;
|
||||
|
||||
public enum FilterTypes {
|
||||
CardCMC,
|
||||
CardColor,
|
||||
CardFormat,
|
||||
CardPower,
|
||||
CardQuestWorld,
|
||||
CardSet,
|
||||
CardToughness,
|
||||
CardType
|
||||
}
|
||||
|
||||
protected ItemFilter(ItemManager<T> itemManager0) {
|
||||
this.itemManager = itemManager0;
|
||||
this.setOpaque(false);
|
||||
this.addComponents();
|
||||
this.add(new FLabel.Builder().text("X").fontSize(10).hoverable(true)
|
||||
.tooltip("Remove filter").cmdClick(new Command() {
|
||||
@Override
|
||||
public void run() {
|
||||
itemManager.removeFilter(ItemFilter.this);
|
||||
ItemFilter.this.onRemoved();
|
||||
}
|
||||
}).build(), "top");
|
||||
}
|
||||
|
||||
protected void applyChange() {
|
||||
itemManager.buildFilterPredicate();
|
||||
}
|
||||
|
||||
public abstract FilterTypes getType();
|
||||
protected abstract void addComponents();
|
||||
protected abstract void onRemoved();
|
||||
}
|
||||
Reference in New Issue
Block a user