📄 productseditor.java
字号:
// Tina POS is a point of sales application designed for touch screens.// Copyright (C) 2005 Adrian Romero Corchado.// http://sourceforge.net/projects/tinapos//// This program 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 2 of the License, or// (at your option) any later version.//// This program 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 this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USApackage net.adrianromero.tpv.inventory;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import java.awt.image.*;import javax.swing.event.DocumentEvent;import javax.swing.event.DocumentListener;import net.adrianromero.tpv.forms.AppView;import net.adrianromero.tpv.forms.AppLocal;import net.adrianromero.format.Formats;import net.adrianromero.basic.BasicException;import net.adrianromero.data.gui.ComboBoxValModel;import net.adrianromero.data.gui.ListCellRendererBasic;import net.adrianromero.data.loader.RenderStringBasic;import net.adrianromero.data.loader.SentenceList;import net.adrianromero.data.user.EditorRecord;import net.adrianromero.data.user.DirtyManager;import net.adrianromero.tpv.forms.SentenceContainer;import net.adrianromero.tpv.ticket.TaxInfo;public class ProductsEditor extends JPanel implements EditorRecord { private DirtyManager m_Dirty = new DirtyManager(); private SentenceList m_sentcat; private ComboBoxValModel m_CategoryModel; private SentenceList m_senttax; private ComboBoxValModel m_TaxModel; private ComboBoxValModel m_CodetypeModel; private Double m_dPriceSell; private SentenceContainer m_sentcoms; /** Creates new form JEditProduct */ public ProductsEditor(AppView app) { initComponents(); // temporal jTabbedPane1.removeTabAt(3); // .addTab("tab3", jPanel3); // El modelo de categorias m_sentcat = app.lookupDataLogic(SentenceContainer.class).getCategoriesList(); m_CategoryModel = new ComboBoxValModel(); // El modelo de impuestos m_senttax = app.lookupDataLogic(SentenceContainer.class).getTaxList(); m_TaxModel = new ComboBoxValModel(); m_CodetypeModel = new ComboBoxValModel(); m_CodetypeModel.add(null); m_CodetypeModel.add(CodeType.EAN13); m_CodetypeModel.add(CodeType.CODE128); m_jCodetype.setModel(m_CodetypeModel); m_jCodetype.setVisible(false); m_jproductscom.setCellRenderer(new ListCellRendererBasic(new RenderStringBasic(new Formats[] {Formats.STRING, Formats.STRING}))); m_sentcoms = app.lookupDataLogic(SentenceContainer.class); m_jRef.getDocument().addDocumentListener(m_Dirty); m_jCode.getDocument().addDocumentListener(m_Dirty); m_jName.getDocument().addDocumentListener(m_Dirty); m_jComment.addActionListener(m_Dirty); m_jScale.addActionListener(m_Dirty); m_jCategory.addActionListener(m_Dirty); m_jTax.addActionListener(m_Dirty); m_jPriceBuy.getDocument().addDocumentListener(m_Dirty); m_jPriceSell.getDocument().addDocumentListener(m_Dirty); m_jImage.addPropertyChangeListener("image", m_Dirty); m_jstockmaximum.getDocument().addDocumentListener(m_Dirty); m_jstocksecurity.getDocument().addDocumentListener(m_Dirty); m_jstockcost.getDocument().addDocumentListener(m_Dirty); m_jstockvolume.getDocument().addDocumentListener(m_Dirty); m_jInCatalog.addActionListener(m_Dirty); m_jCatalogOrder.getDocument().addDocumentListener(m_Dirty); // el informe de stock ReportManager rm = new ReportManager(); m_jPriceBuy.getDocument().addDocumentListener(rm); m_jTax.addActionListener(rm); m_jstocksecurity.getDocument().addDocumentListener(rm); m_jstockcost.getDocument().addDocumentListener(rm); m_jstockvolume.getDocument().addDocumentListener(rm); m_jPriceSell.getDocument().addDocumentListener(new PriceManager()); m_jPriceSellTax.getDocument().addDocumentListener(new PriceTaxManager()); m_jmargin.getDocument().addDocumentListener(new MarginManager()); writeValueEOF(); } public void activate() throws BasicException { m_CategoryModel = new ComboBoxValModel(m_sentcat.list()); m_jCategory.setModel(m_CategoryModel); m_TaxModel = new ComboBoxValModel(m_senttax.list()); m_jTax.setModel(m_TaxModel); } public void setStockEditor(StockEditor jeditorstock) { m_jpanStock.add(jeditorstock, BorderLayout.CENTER); } public void writeValueEOF() { // Los valores m_jTitle.setText(AppLocal.getIntString("label.recordeof")); m_jRef.setText(null); m_jCode.setText(null); m_jName.setText(null); m_jComment.setSelected(false); m_jScale.setSelected(false); m_CategoryModel.setSelectedKey(null); m_TaxModel.setSelectedKey(null); m_jPriceBuy.setText(null); m_bPriceSellLock = true; m_jPriceSell.setText(null); m_bPriceSellLock = false; m_jImage.setImage(null); m_jstocksecurity.setText(null); m_jstockmaximum.setText(null); m_jstockcost.setText(null); m_jstockvolume.setText(null); m_jInCatalog.setSelected(false); m_jCatalogOrder.setText(null); // Los habilitados m_jRef.setEnabled(false); m_jCode.setEnabled(false); m_jName.setEnabled(false); m_jComment.setEnabled(false); m_jScale.setEnabled(false); m_jCategory.setEnabled(false); m_jTax.setEnabled(false); m_jPriceBuy.setEnabled(false); m_jPriceSell.setEnabled(false); m_jPriceSellTax.setEnabled(false); m_jmargin.setEnabled(false); m_jImage.setEnabled(false); m_jstocksecurity.setEnabled(false); m_jstockmaximum.setEnabled(false); m_jstockcost.setEnabled(false); m_jstockvolume.setEnabled(false); m_jInCatalog.setEnabled(false); m_jCatalogOrder.setEnabled(false); // m_dUnits = null; writeReport(null, 0.0); } public void writeValueInsert() { // Los valores m_jTitle.setText(AppLocal.getIntString("label.recordnew")); m_jRef.setText(null); m_jCode.setText(null); m_jName.setText(null); m_jComment.setSelected(false); m_jScale.setSelected(false); m_CategoryModel.setSelectedKey(null); m_TaxModel.setSelectedKey(null); m_jPriceBuy.setText(null); m_dPriceSell = null; m_bPriceSellLock = true; m_jPriceSell.setText(null); m_bPriceSellLock = false; m_jImage.setImage(null); m_jstocksecurity.setText(null); m_jstockmaximum.setText(null); m_jstockcost.setText(null); m_jstockvolume.setText(null); m_jInCatalog.setSelected(false); m_jCatalogOrder.setText(null); // Los habilitados m_jRef.setEnabled(true); m_jCode.setEnabled(true); m_jName.setEnabled(true); m_jComment.setEnabled(true); m_jScale.setEnabled(true); m_jCategory.setEnabled(true); m_jTax.setEnabled(true); m_jPriceBuy.setEnabled(true); m_jPriceSell.setEnabled(true); m_jPriceSellTax.setEnabled(true); m_jmargin.setEnabled(true); m_jImage.setEnabled(true); m_jstocksecurity.setEnabled(true); m_jstockmaximum.setEnabled(true); m_jstockcost.setEnabled(true); m_jstockvolume.setEnabled(true); m_jInCatalog.setEnabled(true); m_jCatalogOrder.setEnabled(false);// m_dUnits = null; writeReport(null, 0.0); } public void writeValueDelete(Object value) { Object[] myprod = (Object[]) value; m_jTitle.setText(Formats.STRING.formatValue(myprod[0]) + " - " + Formats.STRING.formatValue(myprod[2]) + " " + AppLocal.getIntString("label.recorddeleted")); m_jRef.setText(Formats.STRING.formatValue(myprod[0])); m_jCode.setText(Formats.STRING.formatValue(myprod[1])); m_jName.setText(Formats.STRING.formatValue(myprod[2])); m_jComment.setSelected(((Boolean)myprod[3]).booleanValue()); m_jScale.setSelected(((Boolean)myprod[4]).booleanValue()); m_jPriceBuy.setText(Formats.CURRENCY.formatValue(myprod[5])); m_dPriceSell = (Double) myprod[6]; m_bPriceSellLock = true; m_jPriceSell.setText(Formats.CURRENCY.formatValue(m_dPriceSell)); m_bPriceSellLock = false; m_CategoryModel.setSelectedKey(myprod[7]); m_TaxModel.setSelectedKey(myprod[8]); m_jImage.setImage((BufferedImage) myprod[9]); m_jstocksecurity.setText(null); m_jstockmaximum.setText(null); m_jstockcost.setText(Formats.CURRENCY.formatValue(myprod[10])); m_jstockvolume.setText(Formats.DOUBLE.formatValue(myprod[11])); m_jInCatalog.setSelected(((Boolean)myprod[12]).booleanValue()); m_jCatalogOrder.setText(Formats.INT.formatValue(myprod[13])); // Los habilitados m_jRef.setEnabled(false); m_jCode.setEnabled(false); m_jName.setEnabled(false); m_jComment.setEnabled(false); m_jScale.setEnabled(false); m_jCategory.setEnabled(false); m_jTax.setEnabled(false); m_jPriceBuy.setEnabled(false); m_jPriceSell.setEnabled(false); m_jPriceSellTax.setEnabled(false); m_jmargin.setEnabled(false); m_jImage.setEnabled(false); m_jstocksecurity.setEnabled(false); m_jstockmaximum.setEnabled(false); m_jstockcost.setEnabled(false); m_jstockvolume.setEnabled(false); m_jInCatalog.setEnabled(false); m_jCatalogOrder.setEnabled(false); TaxInfo tax = (TaxInfo) m_TaxModel.getElementByKey(myprod[8]); double dTaxRate = (tax == null) ? 0.0 : tax.getRate(); writeReport((Double) myprod[5], dTaxRate); } public void writeValueEdit(Object value) { Object[] myprod = (Object[]) value; m_jTitle.setText(Formats.STRING.formatValue(myprod[0]) + " - " + Formats.STRING.formatValue(myprod[2])); m_jRef.setText(Formats.STRING.formatValue(myprod[0])); m_jCode.setText(Formats.STRING.formatValue(myprod[1])); m_jName.setText(Formats.STRING.formatValue(myprod[2])); m_jComment.setSelected(((Boolean)myprod[3]).booleanValue()); m_jScale.setSelected(((Boolean)myprod[4]).booleanValue()); m_jPriceBuy.setText(Formats.CURRENCY.formatValue(myprod[5])); m_dPriceSell = (Double) myprod[6]; m_bPriceSellLock = true; m_jPriceSell.setText(Formats.CURRENCY.formatValue(m_dPriceSell)); m_bPriceSellLock = false; m_CategoryModel.setSelectedKey(myprod[7]); m_TaxModel.setSelectedKey(myprod[8]); m_jImage.setImage((BufferedImage) myprod[9]); m_jstocksecurity.setText(null); m_jstockmaximum.setText(null); m_jstockcost.setText(Formats.CURRENCY.formatValue(myprod[10])); m_jstockvolume.setText(Formats.DOUBLE.formatValue(myprod[11])); m_jInCatalog.setSelected(((Boolean)myprod[12]).booleanValue()); m_jCatalogOrder.setText(Formats.INT.formatValue(myprod[13])); // Los habilitados m_jRef.setEnabled(false); m_jCode.setEnabled(true); m_jName.setEnabled(true); m_jComment.setEnabled(true); m_jScale.setEnabled(true); m_jCategory.setEnabled(true); m_jTax.setEnabled(true); m_jPriceBuy.setEnabled(true); m_jPriceSell.setEnabled(true); m_jPriceSellTax.setEnabled(true);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -