1 14 package org.compiere.grid.ed; 15 16 import javax.swing.*; 17 import javax.swing.border.*; 18 import java.awt.*; 19 import java.awt.event.*; 20 import java.beans.*; 21 import java.sql.*; 22 23 import org.compiere.util.*; 24 import org.compiere.model.*; 25 26 32 public class VImage extends JButton 33 implements VEditor, ActionListener 34 { 35 39 public VImage(int WindowNo) 40 { 41 super("-/-"); 42 m_WindowNo = WindowNo; 43 super.addActionListener(this); 44 } 46 49 public void dispose() 50 { 51 m_mImage = null; 52 } 54 55 56 57 private int m_WindowNo; 58 59 private MImage m_mImage = null; 60 61 private boolean m_mandatory = false; 62 63 private static final String COLUMN_NAME = "AD_Image_ID"; 64 65 66 70 public void setValue(Object value) 71 { 72 Log.trace(Log.l4_Data, "VImage.setValue - " + value); 73 int newValue = 0; 74 if (value == null && value instanceof Integer ) 75 newValue = ((Integer )value).intValue(); 76 77 if (m_mImage == null || newValue != m_mImage.getID()) 79 m_mImage = new MImage(Env.getCtx(), newValue); 80 Log.trace(Log.l5_DData, m_mImage.toString()); 82 super.setIcon(m_mImage.getImage()); 83 super.setToolTipText(m_mImage.getName()); 84 } 86 90 public Object getValue() 91 { 92 if (m_mImage.getID() == 0) 93 return null; 94 return new Integer (m_mImage.getID()); 95 } 97 101 public String getDisplay() 102 { 103 return m_mImage.getName(); 104 } 106 110 public void setReadWrite (boolean rw) 111 { 112 if (isEnabled() != rw) 113 setEnabled (rw); 114 } 116 120 public boolean isReadWrite() 121 { 122 return super.isEnabled(); 123 } 125 129 public void setMandatory (boolean mandatory) 130 { 131 m_mandatory = mandatory; 132 } 134 138 public boolean isMandatory() 139 { 140 return m_mandatory; 141 } 143 147 public void setBackground(Color color) 148 { 149 } 151 154 public void setBackground() 155 { 156 } 158 162 public void setBackground(boolean error) 163 { 164 } 166 170 public void propertyChange(PropertyChangeEvent evt) 171 { 172 if (evt.getPropertyName().equals(org.compiere.model.MField.PROPERTY)) 173 setValue(evt.getNewValue()); 174 } 176 180 public void actionPerformed (ActionEvent e) 181 { 182 VImageDialog vid = new VImageDialog(Env.getWindow(m_WindowNo), m_mImage); 183 vid.show(); Integer value = null; 186 if (m_mImage.getID() != 0) 187 value = new Integer (m_mImage.getID()); 188 try 189 { 190 fireVetoableChange(COLUMN_NAME, null, value); 191 } 192 catch (PropertyVetoException pve) {} 193 } 195 199 public void setField (org.compiere.model.MField mField) 200 { 201 } 203 } | Popular Tags |