diff options
author | David McMackins II <contact@mcmackins.org> | 2016-11-19 15:40:16 -0600 |
---|---|---|
committer | David McMackins II <contact@mcmackins.org> | 2016-11-19 15:40:16 -0600 |
commit | e71915be899624bd63f34628cd0789c31c4fa1d3 (patch) | |
tree | 3e700f945d787e980cc0b012386dc92ba864c473 /src/com/delwink | |
parent | 2bde1f51b4c5c684757666163f0d1c4d3d2d5767 (diff) |
Implement reorder only checkbox
Diffstat (limited to 'src/com/delwink')
-rw-r--r-- | src/com/delwink/icebox/swing/MainWindow.java | 8 | ||||
-rw-r--r-- | src/com/delwink/icebox/table/MainWindowTableModel.java | 19 |
2 files changed, 18 insertions, 9 deletions
diff --git a/src/com/delwink/icebox/swing/MainWindow.java b/src/com/delwink/icebox/swing/MainWindow.java index 6b12c1d..d5dd8ee 100644 --- a/src/com/delwink/icebox/swing/MainWindow.java +++ b/src/com/delwink/icebox/swing/MainWindow.java @@ -111,7 +111,7 @@ public class MainWindow extends JFrame { REORDER_ONLY.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - throw new UnsupportedOperationException("Not supported yet."); + INVENTORY_TABLE.setModel(new MainWindowTableModel(INVENTORY, REORDER_ONLY.isSelected())); } }); @@ -119,7 +119,7 @@ public class MainWindow extends JFrame { optionBox.add(REORDER_ONLY); // center section - INVENTORY_TABLE = new JTable(new MainWindowTableModel(INVENTORY)); + INVENTORY_TABLE = new JTable(new MainWindowTableModel(INVENTORY, false)); JScrollPane inventoryBox = new JScrollPane(INVENTORY_TABLE); // bottom section @@ -132,7 +132,7 @@ public class MainWindow extends JFrame { editor.addSaveListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - INVENTORY_TABLE.setModel(new MainWindowTableModel(INVENTORY)); + INVENTORY_TABLE.setModel(new MainWindowTableModel(INVENTORY, REORDER_ONLY.isSelected())); } }); @@ -150,7 +150,7 @@ public class MainWindow extends JFrame { @Override public void windowClosed(WindowEvent e) { INVENTORY.refreshQuantities(); - INVENTORY_TABLE.setModel(new MainWindowTableModel(INVENTORY)); + INVENTORY_TABLE.setModel(new MainWindowTableModel(INVENTORY, REORDER_ONLY.isSelected())); } }); diff --git a/src/com/delwink/icebox/table/MainWindowTableModel.java b/src/com/delwink/icebox/table/MainWindowTableModel.java index 66a904e..187ee02 100644 --- a/src/com/delwink/icebox/table/MainWindowTableModel.java +++ b/src/com/delwink/icebox/table/MainWindowTableModel.java @@ -20,6 +20,8 @@ package com.delwink.icebox.table; import com.delwink.icebox.Inventory; import com.delwink.icebox.InventoryItem; import com.delwink.icebox.lang.Lang; +import java.util.ArrayList; +import java.util.List; import javax.swing.table.AbstractTableModel; /** @@ -27,15 +29,22 @@ import javax.swing.table.AbstractTableModel; * @author David McMackins II */ public class MainWindowTableModel extends AbstractTableModel { - private final Inventory INVENTORY; + private final List<InventoryItem> ITEMS; - public MainWindowTableModel(Inventory inventory) { - INVENTORY = inventory; + public MainWindowTableModel(Inventory inventory, boolean reorderOnly) { + if (reorderOnly) { + ITEMS = new ArrayList<>(); + for (InventoryItem item : inventory.getItems()) + if (item.getStock() <= item.getReorderAt()) + ITEMS.add(item); + } else { + ITEMS = new ArrayList<>(inventory.getItems()); + } } @Override public int getRowCount() { - return INVENTORY.getItems().size(); + return ITEMS.size(); } @Override @@ -56,7 +65,7 @@ public class MainWindowTableModel extends AbstractTableModel { @Override public Object getValueAt(int i, int j) { InventoryItem item = null; - for (InventoryItem temp : INVENTORY.getItems()) { + for (InventoryItem temp : ITEMS) { if (i-- == 0) { item = temp; break; |