KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > compiere > grid > ed > VImage


1 /******************************************************************************
2  * The contents of this file are subject to the Compiere License Version 1.1
3  * ("License"); You may not use this file except in compliance with the License
4  * You may obtain a copy of the License at http://www.compiere.org/license.html
5  * Software distributed under the License is distributed on an "AS IS" basis,
6  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
7  * the specific language governing rights and limitations under the License.
8  * The Original Code is Compiere ERP & CRM Business Solution
9  * The Initial Developer of the Original Code is Jorg Janke and ComPiere, Inc.
10  * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts
11  * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved.
12  * Contributor(s): ______________________________________.
13  *****************************************************************************/

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 /**
27  * Image Display of AD_Iamge_ID
28  *
29  * @author Jorg Janke
30  * @version $Id: VImage.java,v 1.8 2002/04/13 01:36:04 jjanke Exp $
31  */

32 public class VImage extends JButton
33     implements VEditor, ActionListener
34 {
35     /**
36      * Image Editor
37      * @param WindowNo
38      */

39     public VImage(int WindowNo)
40     {
41         super("-/-");
42         m_WindowNo = WindowNo;
43         super.addActionListener(this);
44     } // VImage
45

46     /**
47      * Dispose
48      */

49     public void dispose()
50     {
51         m_mImage = null;
52     } // dispose
53

54     /** @todo Display existing Images from MImage */
55
56     /** WindowNo */
57     private int m_WindowNo;
58     /** The Image Model */
59     private MImage m_mImage = null;
60     /** Mandatory flag */
61     private boolean m_mandatory = false;
62     /** Column Name */
63     private static final String JavaDoc COLUMN_NAME = "AD_Image_ID";
64
65
66     /**
67      * Set Value
68      * @param value
69      */

70     public void setValue(Object JavaDoc value)
71     {
72         Log.trace(Log.l4_Data, "VImage.setValue - " + value);
73         int newValue = 0;
74         if (value == null && value instanceof Integer JavaDoc)
75             newValue = ((Integer JavaDoc)value).intValue();
76
77         // Get/Create Image
78
if (m_mImage == null || newValue != m_mImage.getID())
79             m_mImage = new MImage(Env.getCtx(), newValue);
80         //
81
Log.trace(Log.l5_DData, m_mImage.toString());
82         super.setIcon(m_mImage.getImage());
83         super.setToolTipText(m_mImage.getName());
84     } // setValue
85

86     /**
87      * Get Value
88      * @return value
89      */

90     public Object JavaDoc getValue()
91     {
92         if (m_mImage.getID() == 0)
93             return null;
94         return new Integer JavaDoc(m_mImage.getID());
95     } // getValue
96

97     /**
98      * Get Display Value
99      * @return image name
100      */

101     public String JavaDoc getDisplay()
102     {
103         return m_mImage.getName();
104     } // getDisplay
105

106     /**
107      * Set ReadWrite
108      * @param rw
109      */

110     public void setReadWrite (boolean rw)
111     {
112         if (isEnabled() != rw)
113             setEnabled (rw);
114     } // setReadWrite
115

116     /**
117      * Get ReadWrite
118      * @return true if rw
119      */

120     public boolean isReadWrite()
121     {
122         return super.isEnabled();
123     } // getReadWrite
124

125     /**
126      * Set Mandatory
127      * @param mandatory
128      */

129     public void setMandatory (boolean mandatory)
130     {
131         m_mandatory = mandatory;
132     } // setMandatory
133

134     /**
135      * Get Mandatory
136      * @return true if mandatory
137      */

138     public boolean isMandatory()
139     {
140         return m_mandatory;
141     } // isMandatory
142

143     /**
144      * Set Background - nop
145      * @param color
146      */

147     public void setBackground(Color color)
148     {
149     } // setBackground
150

151     /**
152      * Set Background - nop
153      */

154     public void setBackground()
155     {
156     } // setBackground
157

158     /**
159      * Set Background - nop
160      * @param error
161      */

162     public void setBackground(boolean error)
163     {
164     } // setBackground
165

166     /**
167      * Property Change
168      * @param evt
169      */

170     public void propertyChange(PropertyChangeEvent evt)
171     {
172         if (evt.getPropertyName().equals(org.compiere.model.MField.PROPERTY))
173             setValue(evt.getNewValue());
174     } // propertyChange
175

176     /**
177      * ActionListener - start dialog and set value
178      * @param e
179      */

180     public void actionPerformed (ActionEvent e)
181     {
182         VImageDialog vid = new VImageDialog(Env.getWindow(m_WindowNo), m_mImage);
183         vid.show(); // m_mImage is updated
184
//
185
Integer JavaDoc value = null;
186         if (m_mImage.getID() != 0)
187             value = new Integer JavaDoc(m_mImage.getID());
188         try
189         {
190             fireVetoableChange(COLUMN_NAME, null, value);
191         }
192         catch (PropertyVetoException pve) {}
193     } // actionPerformed
194

195     /**
196      * Set Field/WindowNo for ValuePreference (NOP)
197      * @param mField
198      */

199     public void setField (org.compiere.model.MField mField)
200     {
201     } // setField
202

203 } // VImage
204
Popular Tags