summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid McMackins II <contact@mcmackins.org>2016-11-19 15:40:16 -0600
committerDavid McMackins II <contact@mcmackins.org>2016-11-19 15:40:16 -0600
commite71915be899624bd63f34628cd0789c31c4fa1d3 (patch)
tree3e700f945d787e980cc0b012386dc92ba864c473
parent2bde1f51b4c5c684757666163f0d1c4d3d2d5767 (diff)
Implement reorder only checkbox
-rw-r--r--src/com/delwink/icebox/swing/MainWindow.java8
-rw-r--r--src/com/delwink/icebox/table/MainWindowTableModel.java19
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;