01: package org.conform.wings;
02:
03: import org.wings.table.STableCellEditor;
04: import org.wings.*;
05: import org.conform.*;
06: import org.wingx.table.EditableTableCellRenderer;
07:
08: import javax.swing.event.*;
09: import java.awt.event.ActionListener;
10: import java.awt.event.ActionEvent;
11: import java.util.EventObject;
12: import java.io.Serializable;
13:
14: public class PropertyEditableCellRenderer implements
15: EditableTableCellRenderer {
16: protected SComponent editorComponent;
17: private PropertyData propertyData;
18: private Editor editor;
19:
20: public PropertyEditableCellRenderer(Editor editor,
21: final PropertyMeta propertyMeta) {
22: this .editor = editor;
23: this .editorComponent = editor.createComponent(propertyMeta);
24: propertyData = new EditorPropertyData(propertyMeta);
25: this .editor.setPropertyData(this .editorComponent, propertyData);
26:
27: //addActionListener(this);
28: }
29:
30: public Object getValue() {
31: return propertyData.getValue();
32: }
33:
34: public SComponent getTableCellRendererComponent(STable table,
35: Object value, boolean isSelected, int row, int column) {
36: editorComponent.setEnabled(table.isEnabled());
37: propertyData.setValue(value);
38: return editorComponent;
39: }
40:
41: public LowLevelEventListener getLowLevelEventListener(STable table,
42: int row, int column) {
43: return (LowLevelEventListener) editorComponent;
44: }
45:
46: public void actionPerformed(ActionEvent e) {
47: }
48:
49: class EditorPropertyData extends AbstractPropertyData {
50: private Object value;
51: private Object invalidValue;
52:
53: protected EditorPropertyData(PropertyMeta propertyMeta) {
54: super (null, propertyMeta);
55: }
56:
57: public void setValue(Object value) {
58: this .value = value;
59: }
60:
61: public Object getValue() {
62: return value;
63: }
64:
65: public Data getRelationData() {
66: return null;
67: }
68:
69: public void setInvalidValue(Object text) {
70: invalidValue = text;
71: }
72:
73: protected void doSetValue(Object value) {
74: }
75:
76: protected Object doGetValue() {
77: return null;
78: }
79:
80: public Object getInvalidValue() {
81: return invalidValue;
82: }
83: }
84: }
|