// 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.mant; import java.awt.Component; import java.util.UUID; import javax.swing.*; import com.openbravo.pos.forms.AppLocal; import com.openbravo.format.Formats; import com.openbravo.basic.BasicException; import com.openbravo.data.gui.ComboBoxValModel; import com.openbravo.data.loader.SentenceList; import com.openbravo.data.user.EditorRecord; import com.openbravo.data.user.DirtyManager; import com.openbravo.pos.forms.DataLogicSales; /** * * @author adrianromero */ public class PlacesEditor extends JPanel implements EditorRecord { private SentenceList m_sentfloor; private ComboBoxValModel m_FloorModel; private String m_sID; /** Creates new form PlacesEditor */ public PlacesEditor(DataLogicSales dlSales, DirtyManager dirty) { initComponents(); m_sentfloor = dlSales.getFloorsList(); m_FloorModel = new ComboBoxValModel(); m_jName.getDocument().addDocumentListener(dirty); m_jFloor.addActionListener(dirty); m_jX.getDocument().addDocumentListener(dirty); m_jY.getDocument().addDocumentListener(dirty); writeValueEOF(); } public void activate() throws BasicException { m_FloorModel = new ComboBoxValModel(m_sentfloor.list()); m_jFloor.setModel(m_FloorModel); } public void refresh() { } public void writeValueEOF() { m_sID = null; m_jName.setText(null); m_FloorModel.setSelectedKey(null); m_jX.setText(null); m_jY.setText(null); m_jName.setEnabled(false); m_jFloor.setEnabled(false); m_jX.setEnabled(false); m_jY.setEnabled(false); } public void writeValueInsert() { m_sID = UUID.randomUUID().toString(); m_jName.setText(null); m_jName.setBackground(COLOR_MANDATORY_FIELD); m_FloorModel.setSelectedKey(null); m_jX.setText(null); m_jX.setBackground(COLOR_MANDATORY_FIELD); m_jY.setText(null); m_jY.setBackground(COLOR_MANDATORY_FIELD); m_jName.setEnabled(true); m_jFloor.setEnabled(true); m_jX.setEnabled(true); m_jY.setEnabled(true); } public void writeValueDelete(Object value) { Object[] place = (Object[]) value; m_sID = Formats.STRING.formatValue(place[0]); m_jName.setText(Formats.STRING.formatValue(place[1])); m_jName.setBackground(null); m_jX.setText(Formats.INT.formatValue(place[2])); m_jX.setBackground(null); m_jY.setText(Formats.INT.formatValue(place[3])); m_jY.setBackground(null); m_FloorModel.setSelectedKey(place[4]); m_jName.setEnabled(false); m_jFloor.setEnabled(false); m_jX.setEnabled(false); m_jY.setEnabled(false); } public void writeValueEdit(Object value) { Object[] place = (Object[]) value; m_sID = Formats.STRING.formatValue(place[0]); m_jName.setText(Formats.STRING.formatValue(place[1])); m_jX.setText(Formats.INT.formatValue(place[2])); m_jY.setText(Formats.INT.formatValue(place[3])); m_FloorModel.setSelectedKey(place[4]); m_jName.setEnabled(true); m_jFloor.setEnabled(true); m_jX.setEnabled(true); m_jY.setEnabled(true); } public Object createValue() throws BasicException { Object[] place = new Object[5]; place[0] = m_sID; place[1] = m_jName.getText(); place[2] = Formats.INT.parseValue(m_jX.getText()); place[3] = Formats.INT.parseValue(m_jY.getText()); place[4] = m_FloorModel.getSelectedKey(); return place; } public Component getComponent() { return this; } /** 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() { jLabel2 = new javax.swing.JLabel(); m_jName = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); m_jX = new javax.swing.JTextField(); m_jY = new javax.swing.JTextField(); jLabel1 = new javax.swing.JLabel(); m_jFloor = new javax.swing.JComboBox(); jLabel2.setText(AppLocal.getIntString("Label.Name")); // NOI18N jLabel3.setText(AppLocal.getIntString("label.placeposition")); // NOI18N jLabel1.setText(AppLocal.getIntString("label.placefloor")); // NOI18N 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() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(m_jFloor, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(m_jName, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(layout.createSequentialGroup() .addComponent(m_jX, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(m_jY, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel2) .addComponent(m_jName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel1) .addComponent(m_jFloor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(10, 10, 10) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel3) .addComponent(m_jX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(m_jY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); }// </editor-fold>//GEN-END:initComponents // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JComboBox m_jFloor; private javax.swing.JTextField m_jName; private javax.swing.JTextField m_jX; private javax.swing.JTextField m_jY; // End of variables declaration//GEN-END:variables }