// Openbravo POS is a point of sales application designed for touch screens. // Copyright (C) 2007-2009 Openbravo, S.L. // http://www.openbravo.com/product/pos // // This file is part of Openbravo POS. // // Openbravo POS is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Openbravo POS is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Openbravo POS. If not, see <http://www.gnu.org/licenses/>. package com.openbravo.pos.reports; import com.openbravo.basic.BasicException; import com.openbravo.data.loader.Datas; import com.openbravo.data.loader.QBFCompareEnum; import com.openbravo.data.loader.SerializerWrite; import com.openbravo.data.loader.SerializerWriteBasic; import com.openbravo.pos.customers.DataLogicCustomers; import com.openbravo.pos.customers.JCustomerFinder; import com.openbravo.pos.forms.AppLocal; import com.openbravo.pos.customers.CustomerInfo; import com.openbravo.pos.forms.AppView; import java.awt.Component; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; /** * * @author adrianromero */ public class JParamsCustomer extends javax.swing.JPanel implements ReportEditorCreator { private DataLogicCustomers dlCustomers; private CustomerInfo currentcustomer; /** Creates new form JParamsCustomer */ public JParamsCustomer() { initComponents(); jTextField1.getDocument().addDocumentListener(new DocumentListener() { public void insertUpdate(DocumentEvent e) { currentcustomer = null; } public void removeUpdate(DocumentEvent e) { currentcustomer = null; } public void changedUpdate(DocumentEvent e) { currentcustomer = null; } }); } public void init(AppView app) { dlCustomers = (DataLogicCustomers) app.getBean("com.openbravo.pos.customers.DataLogicCustomers"); } public void activate() throws BasicException { currentcustomer = null; jTextField1.setText(null); } public SerializerWrite getSerializerWrite() { return new SerializerWriteBasic(new Datas[] {Datas.OBJECT, Datas.STRING, Datas.OBJECT, Datas.STRING}); } public Component getComponent() { return this; } public Object createValue() throws BasicException { if (currentcustomer == null) { if (jTextField1.getText() == null || jTextField1.getText().equals("")) { return new Object[] {QBFCompareEnum.COMP_NONE, null, QBFCompareEnum.COMP_NONE, null}; } else { return new Object[] {QBFCompareEnum.COMP_NONE, null, QBFCompareEnum.COMP_RE, jTextField1.getText()}; } } else { return new Object[] {QBFCompareEnum.COMP_EQUALS, currentcustomer.getId(), QBFCompareEnum.COMP_NONE, null}; } } /** 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() { jLabel1 = new javax.swing.JLabel(); jTextField1 = new javax.swing.JTextField(); btnCustomer = new javax.swing.JButton(); setBorder(javax.swing.BorderFactory.createTitledBorder(AppLocal.getIntString("label.bycustomer"))); // NOI18N setPreferredSize(new java.awt.Dimension(400, 60)); jLabel1.setText(AppLocal.getIntString("label.customer")); // NOI18N btnCustomer.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/openbravo/images/kuser.png"))); // NOI18N btnCustomer.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnCustomerActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, 0) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(10, 10, 10) .addComponent(btnCustomer) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel1) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnCustomer)) ); }// </editor-fold>//GEN-END:initComponents private void btnCustomerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCustomerActionPerformed JCustomerFinder finder = JCustomerFinder.getCustomerFinder(this, dlCustomers); finder.search(currentcustomer); finder.setVisible(true); currentcustomer = finder.getSelectedCustomer(); if (currentcustomer == null) { jTextField1.setText(null); } else { jTextField1.setText(currentcustomer.getName()); } }//GEN-LAST:event_btnCustomerActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnCustomer; private javax.swing.JLabel jLabel1; private javax.swing.JTextField jTextField1; // End of variables declaration//GEN-END:variables }