TavernerPOS - Source Code
Clone:
git clone http://www.librarysmith.co.uk/tavernerPOS
/*
* MiscTicketItemDialog.java
*
* Created on September 8, 2006, 10:04 PM
*/
package com.floreantpos.ui.dialog;
import java.awt.FlowLayout;
import java.util.List;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import net.miginfocom.swing.MigLayout;
import org.apache.commons.lang.StringUtils;
import com.floreantpos.Messages;
import com.floreantpos.config.TerminalConfig;
import com.floreantpos.main.Application;
import com.floreantpos.model.PrinterGroup;
import com.floreantpos.model.Tax;
import com.floreantpos.model.TicketItem;
import com.floreantpos.model.dao.PrinterGroupDAO;
import com.floreantpos.model.dao.TaxDAO;
import com.floreantpos.swing.ComboBoxModel;
import com.floreantpos.swing.DoubleTextField;
import com.floreantpos.swing.FixedLengthTextField;
import com.floreantpos.swing.PosComboRenderer;
import com.floreantpos.swing.QwertyKeyPad;
import com.floreantpos.ui.TitlePanel;
/**
*
* @author MShahriar
*/
public class MiscTicketItemDialog extends POSDialog {
private TicketItem ticketItem;
/** Creates new form MiscTicketItemDialog */
public MiscTicketItemDialog() {
super(Application.getPosWindow(), true);
setTitle(Messages.getString("MiscTicketItemDialog.0")); //$NON-NLS-1$
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
private void initComponents() {
JPanel contentPane = new JPanel(new MigLayout("fillx", "", "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
TitlePanel titlePanel = new TitlePanel();
titlePanel.setTitle(Messages.getString("MiscTicketItemDialog.4")); //$NON-NLS-1$
contentPane.add(titlePanel, "grow, span"); //$NON-NLS-1$
JLabel lblName = new JLabel(Messages.getString("MiscTicketItemDialog.6")); //$NON-NLS-1$
contentPane.add(lblName, "newline,alignx trailing"); //$NON-NLS-1$
tfItemName = new FixedLengthTextField(120);
contentPane.add(tfItemName, "grow, span, h 40"); //$NON-NLS-1$
JLabel lblPrice = new JLabel(Messages.getString("MiscTicketItemDialog.9")); //$NON-NLS-1$
contentPane.add(lblPrice, "newline,alignx trailing"); //$NON-NLS-1$
tfItemPrice = new DoubleTextField();
contentPane.add(tfItemPrice, "grow, w 120, h 40"); //$NON-NLS-1$
contentPane.add(new JLabel(Messages.getString("MiscTicketItemDialog.12")), "alignx trailing"); //$NON-NLS-1$ //$NON-NLS-2$
PosComboRenderer comboRenderer = new PosComboRenderer();
comboRenderer.setEnableDefaultValueShowing(false);
cbTax = new JComboBox();
cbTax.setRenderer(comboRenderer);
contentPane.add(cbTax, "w 200!, h 40"); //$NON-NLS-1$
contentPane.add(new JLabel(Messages.getString("MiscTicketItemDialog.15")), "alignx trailing"); //$NON-NLS-1$ //$NON-NLS-2$
cbPrinterGroup = new JComboBox();
cbPrinterGroup.setRenderer(comboRenderer);
contentPane.add(cbPrinterGroup, "w 200!, h 40"); //$NON-NLS-1$
QwertyKeyPad keyPad = new QwertyKeyPad();
contentPane.add(keyPad, "newline, grow, span, h 300!, gaptop 10"); //$NON-NLS-1$
contentPane.add(new JSeparator(JSeparator.HORIZONTAL), "newline, grow, span, gaptop 10px"); //$NON-NLS-1$
btnOk = new com.floreantpos.swing.PosButton();
btnOk.setText(com.floreantpos.POSConstants.OK.toUpperCase());
btnOk.setPreferredSize(new java.awt.Dimension(120, 50));
btnOk.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
doFinish(evt);
}
});
btnCancel = new com.floreantpos.swing.PosButton();
btnCancel.setText(com.floreantpos.POSConstants.CANCEL.toUpperCase());
btnCancel.setPreferredSize(new java.awt.Dimension(120, 50));
btnCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
doCancel(evt);
}
});
JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
buttonPanel.add(btnOk);
buttonPanel.add(btnCancel);
contentPane.add(buttonPanel, "newline, grow, span"); //$NON-NLS-1$
getContentPane().add(contentPane);
initData();
}// </editor-fold>//GEN-END:initComponents
private void initData() {
List<Tax> taxes = TaxDAO.getInstance().findAll();
cbTax.setModel(new ComboBoxModel(taxes));
int defaultTaxId = TerminalConfig.getMiscItemDefaultTaxId();
if (defaultTaxId != -1) {
for (int i = 0; i < taxes.size(); i++) {
Tax tax = taxes.get(i);
if (tax.getId() == defaultTaxId) {
cbTax.setSelectedIndex(i);
break;
}
}
}
List<PrinterGroup> printerGroups = PrinterGroupDAO.getInstance().findAll();
cbPrinterGroup.setModel(new ComboBoxModel(printerGroups));
}
private void doCancel(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_doCancel
setCanceled(true);
ticketItem = null;
dispose();
}//GEN-LAST:event_doCancel
private void doFinish(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_doFinish
double amount = tfItemPrice.getDouble();
String itemName = tfItemName.getText();
if(StringUtils.isEmpty(itemName)) {
POSMessageDialog.showError(Application.getPosWindow(), Messages.getString("MiscTicketItemDialog.1")); //$NON-NLS-1$
return;
}
if(amount <= 0 || Double.isNaN(amount)) {
POSMessageDialog.showError(Application.getPosWindow(), Messages.getString("MiscTicketItemDialog.22")); //$NON-NLS-1$
return;
}
setCanceled(false);
ticketItem = new TicketItem();
ticketItem.setItemCount(1);
ticketItem.setUnitPrice(amount);
ticketItem.setName(itemName);
ticketItem.setCategoryName(com.floreantpos.POSConstants.MISC_BUTTON_TEXT);
ticketItem.setGroupName(com.floreantpos.POSConstants.MISC_BUTTON_TEXT);
ticketItem.setShouldPrintToKitchen(true);
Tax tax = (Tax) cbTax.getSelectedItem();
if (tax != null) {
ticketItem.setTaxRate(tax.getRate());
TerminalConfig.setMiscItemDefaultTaxId(tax.getId());
}
PrinterGroup printerGroup = (PrinterGroup) cbPrinterGroup.getSelectedItem();
if(printerGroup != null) {
ticketItem.setPrinterGroup(printerGroup);
}
dispose();
}//GEN-LAST:event_doFinish
public TicketItem getTicketItem() {
return ticketItem;
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JComboBox cbTax;
private com.floreantpos.swing.PosButton btnOk;
private com.floreantpos.swing.PosButton btnCancel;
// End of variables declaration//GEN-END:variables
private FixedLengthTextField tfItemName;
private DoubleTextField tfItemPrice;
private JComboBox cbPrinterGroup;
}
- Details
- Last Updated: Monday, 04 April 2016 02:04
- Hits: 35877976