Make progress on UI for ItemManager filters

This commit is contained in:
drdev
2013-08-23 01:06:03 +00:00
parent d6176eec0d
commit 4be5d02fd7
12 changed files with 76 additions and 23 deletions

View File

@@ -16,18 +16,16 @@ public final class LayoutHelper {
}
/**
* Layout component to fill remaining space of parent
* Layout component to fill remaining vertical space of parent
* @param comp
*/
public void fill(final JComponent comp) {
if (x >= parentWidth) {
newLine();
}
include(comp, parentWidth - x, parentHeight - y);
newLine(); //start new line if needed
include(comp, parentWidth, parentHeight - y);
}
/**
* Layout component to fill remaining space of current line
* Layout component to fill remaining horizontal space of current line
* @param comp
* @param height
*/

View File

@@ -136,13 +136,15 @@ public abstract class ItemManager<T extends InventoryItem> extends JPanel {
@Override
public void doLayout()
{
int number = 0;
LayoutHelper helper = new LayoutHelper(this);
/*helper.include(this.btnAddFilter, 30, FTextField.HEIGHT);
helper.include(this.txtSearch, 0.5f, FTextField.HEIGHT);
helper.newLine();
for (ItemFilter<T> filter : this.orderedFilters) {
/*for (ItemFilter<T> filter : this.orderedFilters) {
filter.updatePanelTitle(++number);
helper.fillLine(filter.getPanel(), ItemFilter.PANEL_HEIGHT);
}*/
}
helper.newLine();
helper.include(this.btnAddFilter, 30, FTextField.HEIGHT);
helper.include(this.txtSearch, 0.5f, FTextField.HEIGHT);*/
helper.fill(this.tableScroller);
}
@@ -397,6 +399,7 @@ public abstract class ItemManager<T extends InventoryItem> extends JPanel {
}
}
classFilters.add(filter);
orderedFilters.add(filter);
this.add(filter.getPanel());
this.revalidate();
}
@@ -409,6 +412,7 @@ public abstract class ItemManager<T extends InventoryItem> extends JPanel {
if (classFilters.size() == 0) {
this.filters.remove(filterClass);
}
orderedFilters.remove(filter);
this.remove(filter.getPanel());
this.revalidate();
}

View File

@@ -15,6 +15,11 @@ public class CardCMCFilter extends ValueRangeFilter<PaperCard> {
super(itemManager0);
}
@Override
protected String getTitle() {
return "Card CMC";
}
@Override
protected void buildPanel(JPanel panel) {

View File

@@ -15,6 +15,11 @@ public class CardColorFilter extends ToggleButtonsFilter<PaperCard> {
super(itemManager0);
}
@Override
protected String getTitle() {
return "Card Color";
}
@Override
protected void buildPanel(JPanel panel) {
addToggleButton(panel, StatTypes.WHITE);

View File

@@ -38,6 +38,11 @@ public class CardFormatFilter extends ListLabelFilter<PaperCard> {
return true;
}
@Override
protected String getTitle() {
return "Card Format";
}
@Override
protected void buildPanel(JPanel panel) {

View File

@@ -14,6 +14,11 @@ public class CardPowerFilter extends ValueRangeFilter<PaperCard> {
super(itemManager0);
}
@Override
protected String getTitle() {
return "Card Power";
}
@Override
protected void buildPanel(JPanel panel) {

View File

@@ -28,6 +28,11 @@ public class CardQuestWorldFilter extends ListLabelFilter<PaperCard> {
}
return existingFilter == null || !((CardQuestWorldFilter)existingFilter).questWorlds.contains(questWorld);
}
@Override
protected String getTitle() {
return "Quest World";
}
/**
* Merge the given filter with this filter if possible

View File

@@ -14,6 +14,11 @@ public class CardSearchFilter extends TextSearchFilter<PaperCard> {
super(itemManager0, text0);
}
@Override
protected String getTitle() {
return "Card Search";
}
@Override
protected void buildPanel(JPanel panel) {

View File

@@ -21,6 +21,11 @@ public class CardSetFilter extends ListLabelFilter<PaperCard> {
super(itemManager0);
this.sets.addAll(sets);
}
@Override
protected String getTitle() {
return "Card Set";
}
/**
* Merge the given filter with this filter if possible

View File

@@ -14,6 +14,11 @@ public class CardToughnessFilter extends ValueRangeFilter<PaperCard> {
super(itemManager0);
}
@Override
protected String getTitle() {
return "Card Toughness";
}
@Override
protected void buildPanel(JPanel panel) {

View File

@@ -15,6 +15,11 @@ public class CardTypeFilter extends ToggleButtonsFilter<PaperCard> {
super(itemManager0);
}
@Override
protected String getTitle() {
return "Card Type";
}
@Override
protected void buildPanel(JPanel panel) {
addToggleButton(panel, StatTypes.LAND);

View File

@@ -1,9 +1,13 @@
package forge.gui.toolbox.itemmanager.filters;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
import net.miginfocom.swing.MigLayout;
import forge.Command;
import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.FSkin;
import forge.gui.toolbox.itemmanager.ItemManager;
import forge.item.InventoryItem;
@@ -13,8 +17,8 @@ import forge.item.InventoryItem;
*/
public abstract class ItemFilter<T extends InventoryItem> {
private final ItemManager<T> itemManager;
private int number;
private JPanel panel;
private JLabel lblPanelTitle;
public static int PANEL_HEIGHT = 30;
@@ -22,21 +26,15 @@ public abstract class ItemFilter<T extends InventoryItem> {
this.itemManager = itemManager0;
}
public int getNumber() {
return this.number;
}
public void setNumber(int number0) {
this.number = number0;
}
@SuppressWarnings("serial")
public JPanel getPanel() {
if (this.panel == null) {
this.panel = new JPanel();
this.panel = new JPanel(new MigLayout("insets 0, gap 2"));
this.panel.setOpaque(false);
this.buildPanel(panel);
this.panel.setBorder(BorderFactory.createMatteBorder(1, 2, 1, 2, FSkin.getColor(FSkin.Colors.CLR_TEXT)));
this.lblPanelTitle = new FLabel.Builder().fontSize(10).build();
this.panel.add(this.lblPanelTitle, "top");
//add button to remove filter
this.panel.add(new FLabel.Builder()
@@ -51,10 +49,18 @@ public abstract class ItemFilter<T extends InventoryItem> {
ItemFilter.this.onRemoved();
}
}).build(), "top");
this.buildPanel(panel);
}
return this.panel;
}
public void updatePanelTitle(int number) {
this.lblPanelTitle.setText(number + ". " + this.getTitle());
}
protected abstract String getTitle();
protected void applyChange() {
this.itemManager.buildFilterPredicate();
}