diff --git a/src/main/java/tech/iBeans/POSware/Lite/OnTransact.form b/src/main/java/tech/iBeans/POSware/Lite/OnTransact.form
index 365d4dd..9eed8dc 100644
--- a/src/main/java/tech/iBeans/POSware/Lite/OnTransact.form
+++ b/src/main/java/tech/iBeans/POSware/Lite/OnTransact.form
@@ -39,26 +39,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -86,6 +66,16 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/tech/iBeans/POSware/Lite/OnTransact.java b/src/main/java/tech/iBeans/POSware/Lite/OnTransact.java
index 94318c3..36c595d 100644
--- a/src/main/java/tech/iBeans/POSware/Lite/OnTransact.java
+++ b/src/main/java/tech/iBeans/POSware/Lite/OnTransact.java
@@ -6,7 +6,6 @@ package tech.iBeans.POSware.Lite;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
-import tech.iBeans.POSware.Lite.transaction;
import tech.iBeans.POSware.Lite.transact;
import tech.iBeans.POSware.Lite.WindowManagement;
import tech.iBeans.POSware.Lite.receipt;
@@ -36,9 +35,9 @@ public class OnTransact extends javax.swing.JFrame {
java.awt.GridBagConstraints gridBagConstraints;
jPanel_statusinfo = new javax.swing.JPanel();
- jComboBox_Payment = new javax.swing.JComboBox<>();
jLabel_Status = new javax.swing.JLabel();
jToggleButton_Discard = new javax.swing.JToggleButton();
+ jButton_Action_Pay = new javax.swing.JButton();
jPanel_Main = new javax.swing.JPanel();
jPanel_Items = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
@@ -82,9 +81,6 @@ public class OnTransact extends javax.swing.JFrame {
jPanel_statusinfo.setLayout(new java.awt.BorderLayout());
- jComboBox_Payment.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
- jPanel_statusinfo.add(jComboBox_Payment, java.awt.BorderLayout.EAST);
-
jLabel_Status.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel_Status.setText("Store");
jPanel_statusinfo.add(jLabel_Status, java.awt.BorderLayout.CENTER);
@@ -98,6 +94,9 @@ public class OnTransact extends javax.swing.JFrame {
jPanel_statusinfo.add(jToggleButton_Discard, java.awt.BorderLayout.LINE_START);
jToggleButton_Discard.setVisible(interface_adjust_clear());
+ jButton_Action_Pay.setText("Payment");
+ jPanel_statusinfo.add(jButton_Action_Pay, java.awt.BorderLayout.LINE_END);
+
getContentPane().add(jPanel_statusinfo, java.awt.BorderLayout.PAGE_END);
jPanel_Main.setLayout(new java.awt.BorderLayout());
@@ -107,7 +106,7 @@ public class OnTransact extends javax.swing.JFrame {
jTextArea1.setColumns(20);
jTextArea1.setLineWrap(true);
jTextArea1.setRows(5);
- jTextArea1.setEnabled(false);
+ jTextArea1.setEditable(false);
jScrollPane1.setViewportView(jTextArea1);
jPanel_Items.add(jScrollPane1, java.awt.BorderLayout.CENTER);
@@ -278,6 +277,7 @@ public class OnTransact extends javax.swing.JFrame {
jPanel_ItemDetails.add(jTextField_ItemDetails_SKU, gridBagConstraints);
jLabel_ItemDetails_UnitPrice.setText("Unit Price");
+ jLabel_ItemDetails_UnitPrice.setHorizontalAlignment(javax.swing.JTextField.TRAILING);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
@@ -332,7 +332,7 @@ public class OnTransact extends javax.swing.JFrame {
private void transaction_check(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_transaction_check
boolean CLOSING_STATE = false;
- if (transact.items.size() <= 0) {
+ if (!transact.check()) {
CLOSING_STATE = true;
} else {
CLOSING_STATE = confirm_discard();
@@ -347,7 +347,13 @@ public class OnTransact extends javax.swing.JFrame {
}//GEN-LAST:event_jList1_InventoryValueChanged
private void jToggleButton_DiscardActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleButton_DiscardActionPerformed
- init();
+ boolean CLOSING_STATE = false;
+
+ if (transact.check()) {
+ CLOSING_STATE = confirm_discard();
+ };
+
+ if (CLOSING_STATE) {init();};
}//GEN-LAST:event_jToggleButton_DiscardActionPerformed
/**
@@ -356,10 +362,10 @@ public class OnTransact extends javax.swing.JFrame {
public static void display() {
/* Display the transaction. */
-
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new OnTransact().setVisible(true);
+ init();
}
});
}
@@ -405,18 +411,27 @@ public class OnTransact extends javax.swing.JFrame {
return (USER_CHOICE);
};
- private boolean interface_adjust_clear() {
+ private static boolean interface_adjust_clear() {
/* Adjust the ability to reset.
Returns: (boolean) the new state of the appearance
*/
- boolean CLEARABLE_STATE = (transact.items.size() > 0);
+ boolean CLEARABLE_STATE = (transact.check());
jToggleButton_Discard.setVisible(CLEARABLE_STATE);
return (jToggleButton_Discard.isVisible());
};
+
+ public static boolean interface_adjust_payment() {
+ /* Adjust the ability to pay.
+
+ Returns: (boolean) the payment status */
+
+ jButton_Action_Pay.setEnabled(transact.check());
+ return(transact.check());
+ }
- private AbstractListModel refresh_inventory_list() {
+ private static AbstractListModel refresh_inventory_list() {
/* Pull the list from inventory.
*/
@@ -429,7 +444,7 @@ public class OnTransact extends javax.swing.JFrame {
return(INVENTORY_LIST);
};
- private void cart_calculation_refresh() {
+ private static void cart_calculation_refresh() {
/* Refresh the cart's details, such as the total cost. */
Dictionary prices = transact.calculate();
@@ -440,14 +455,25 @@ public class OnTransact extends javax.swing.JFrame {
jTextField_price_discounted.setText(String.valueOf(prices.get("discount")));
jTextField_price_VAT_value.setText(String.valueOf(prices.get("tax")));
+ receipt_refresh();
+ product_information_refresh();
+ interface_adjust_payment();
interface_adjust_clear();
};
- private boolean product_information_refresh() {
- /* Refresh the select product information's details. */
+ private static boolean product_information_refresh() {
+ /* Refresh the select product information's details and the corresponding button states. */
Integer ITEM_SELECTED = jList1_Inventory.getSelectedIndex();
- if (ITEM_SELECTED == null) {return false;};
+ // Set the initial values.
+ jSpinner_item_quantity.setEnabled((ITEM_SELECTED >= 0));
+ jButton_item_void.setEnabled((ITEM_SELECTED >= 0));
+ jButton_item_add.setEnabled((ITEM_SELECTED >= 0));
+
+ if (ITEM_SELECTED < 0) {
+ // Stop when there is no value selected.
+ return(false);
+ };
Dictionary ITEM_SELECTED_DETAILS_PROCESSED = new Hashtable<>();
@@ -468,17 +494,23 @@ public class OnTransact extends javax.swing.JFrame {
ITEM_SELECTED_DETAILS_PROCESSED.put("Discount","");
};
+ // Change the void state. You can't void something that doesn't already exist in the cart.
+ jButton_item_void.setEnabled((((transact.items).get(ITEM_SELECTED_DETAILS_PROCESSED.get("SKU"))) != null));
+
// Place the corresponding information.
jTextField_ItemDetails_SKU.setText(ITEM_SELECTED_DETAILS_PROCESSED.get("SKU"));
jTextField_ItemDetails_UnitPrice.setText(ITEM_SELECTED_DETAILS_PROCESSED.get("Unit Price"));
jTextField_ItemDetails_Discount.setText(ITEM_SELECTED_DETAILS_PROCESSED.get("Discount"));
+
+
+
return (true);
};
private void cart_tip_add() {
/* Add a tip. */
- transact.price.put("tip", (double) jSpinner_price_tip_value.getValue());
+ transact.price.put("tip", Float.valueOf(String.valueOf(jSpinner_price_tip_value.getValue())));
transact.calculate();
cart_calculation_refresh();
};
@@ -491,7 +523,7 @@ public class OnTransact extends javax.swing.JFrame {
boolean state = false;
int ITEM_SELECTED = jList1_Inventory.getSelectedIndex();
- int ITEM_SELECTED_QUANTITY = (int) jSpinner_item_quantity.getValue();
+ int ITEM_SELECTED_QUANTITY = Integer.parseInt(String.valueOf(jSpinner_item_quantity.getValue()));
if (ITEM_SELECTED >= 0) {
// Get the selected details.
@@ -533,58 +565,64 @@ public class OnTransact extends javax.swing.JFrame {
return(state);
};
- private void init() {
- Boolean DISCARD_STATE = confirm_discard();
- if (DISCARD_STATE) {
- transact.init();
- refresh_inventory_list();
- cart_calculation_refresh();
- receipt.init();
- receipt.headers();
- receipt_refresh();
- };
+ public static void reset() {
+ /* Reset the transaction. */
+ Boolean DISCARD_STATE = confirm_discard();
+ if (DISCARD_STATE) {
+ init();
+ };
+
+ }
+
+ private static void init() {
+ transact.init();
+ refresh_inventory_list();
+ cart_calculation_refresh();
+ receipt_refresh();
+ product_information_refresh();
};
- private void receipt_refresh() {
+ private static void receipt_refresh() {
jTextArea1.setText(receipt.content);
};
+
// Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JButton jButton_item_add;
- private javax.swing.JButton jButton_item_void;
- private javax.swing.JComboBox jComboBox_Payment;
- private javax.swing.JLabel jLabel2_information_discount;
- private javax.swing.JLabel jLabel_ItemDetails_Discount;
- private javax.swing.JLabel jLabel_ItemDetails_SKU;
- private javax.swing.JLabel jLabel_ItemDetails_UnitPrice;
- private javax.swing.JLabel jLabel_Status;
- private javax.swing.JLabel jLabel_price_VAT;
- private javax.swing.JLabel jLabel_price_subtotal;
- private javax.swing.JLabel jLabel_price_tip;
- private javax.swing.JLabel jLabel_price_total;
- private javax.swing.JList jList1_Inventory;
- private javax.swing.JPanel jPanel_Information;
- private javax.swing.JPanel jPanel_Inventory;
- private javax.swing.JPanel jPanel_Inventory_Actions;
- private javax.swing.JPanel jPanel_ItemDetails;
- private javax.swing.JPanel jPanel_Items;
- private javax.swing.JPanel jPanel_Main;
- private javax.swing.JPanel jPanel_statusinfo;
- private javax.swing.JScrollPane jScrollPane1;
- private javax.swing.JScrollPane jScrollPane_Inventory;
- private javax.swing.JSpinner jSpinner_item_quantity;
- private javax.swing.JSpinner jSpinner_price_tip_value;
- private javax.swing.JTextArea jTextArea1;
- private javax.swing.JTextField jTextField_ItemDetails_Discount;
- private javax.swing.JTextField jTextField_ItemDetails_SKU;
- private javax.swing.JTextField jTextField_ItemDetails_UnitPrice;
- private javax.swing.JTextField jTextField_price_VAT_value;
- private javax.swing.JTextField jTextField_price_discounted;
- private javax.swing.JTextField jTextField_price_subtotal_value;
- private javax.swing.JTextField jTextField_price_total_value;
- private javax.swing.JToggleButton jToggleButton_Discard;
- private javax.swing.JToolBar jToolBar_Information;
- private javax.swing.JToolBar jToolBar_Inventory;
+ private static javax.swing.JButton jButton_Action_Pay;
+ private static javax.swing.JButton jButton_item_add;
+ private static javax.swing.JButton jButton_item_void;
+ private static javax.swing.JLabel jLabel2_information_discount;
+ private static javax.swing.JLabel jLabel_ItemDetails_Discount;
+ private static javax.swing.JLabel jLabel_ItemDetails_SKU;
+ private static javax.swing.JLabel jLabel_ItemDetails_UnitPrice;
+ private static javax.swing.JLabel jLabel_Status;
+ private static javax.swing.JLabel jLabel_price_VAT;
+ private static javax.swing.JLabel jLabel_price_subtotal;
+ private static javax.swing.JLabel jLabel_price_tip;
+ private static javax.swing.JLabel jLabel_price_total;
+ private static javax.swing.JList jList1_Inventory;
+ private static javax.swing.JPanel jPanel_Information;
+ private static javax.swing.JPanel jPanel_Inventory;
+ private static javax.swing.JPanel jPanel_Inventory_Actions;
+ private static javax.swing.JPanel jPanel_ItemDetails;
+ private static javax.swing.JPanel jPanel_Items;
+ private static javax.swing.JPanel jPanel_Main;
+ private static javax.swing.JPanel jPanel_statusinfo;
+ private static javax.swing.JScrollPane jScrollPane1;
+ private static javax.swing.JScrollPane jScrollPane_Inventory;
+ private static javax.swing.JSpinner jSpinner_item_quantity;
+ private static javax.swing.JSpinner jSpinner_price_tip_value;
+ private static javax.swing.JTextArea jTextArea1;
+ private static javax.swing.JTextField jTextField_ItemDetails_Discount;
+ private static javax.swing.JTextField jTextField_ItemDetails_SKU;
+ private static javax.swing.JTextField jTextField_ItemDetails_UnitPrice;
+ private static javax.swing.JTextField jTextField_price_VAT_value;
+ private static javax.swing.JTextField jTextField_price_discounted;
+ private static javax.swing.JTextField jTextField_price_subtotal_value;
+ private static javax.swing.JTextField jTextField_price_total_value;
+ private static javax.swing.JToggleButton jToggleButton_Discard;
+ private static javax.swing.JToolBar jToolBar_Information;
+ private static javax.swing.JToolBar jToolBar_Inventory;
// End of variables declaration//GEN-END:variables
}