From: Keith D. <kd...@us...> - 2004-07-30 13:12:42
|
Update of /cvsroot/spring-rich-c/spring-richclient/src/org/springframework/richclient/forms In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6013/src/org/springframework/richclient/forms Modified Files: SwingFormModel.java AbstractValueSetter.java PropertyEditorValueSetter.java Log Message: property editor fixes for custom editors Index: SwingFormModel.java =================================================================== RCS file: /cvsroot/spring-rich-c/spring-richclient/src/org/springframework/richclient/forms/SwingFormModel.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** SwingFormModel.java 30 Jul 2004 04:14:50 -0000 1.13 --- SwingFormModel.java 30 Jul 2004 13:12:32 -0000 1.14 *************** *** 343,349 **** "customEditors must be JComponents; however, you have provided a " + customEditor.getClass()); ! ValueModel valueModel = getOrCreateValueModel(formProperty); ! new PropertyEditorValueSetter(propertyEditor, valueModel); propertyEditor.setValue(valueModel.get()); return (JComponent)customEditor; } --- 343,356 ---- "customEditors must be JComponents; however, you have provided a " + customEditor.getClass()); ! ValueModel valueModel = getValueModel(formProperty); ! if (valueModel == null) { ! createFormValueModel(formProperty); ! // create above returns the display value model appyling the ! // property editor, the setter listener wants the 'wrapped' value ! // model... ! valueModel = getValueModel(formProperty); ! } propertyEditor.setValue(valueModel.get()); + new PropertyEditorValueSetter(propertyEditor, valueModel); return (JComponent)customEditor; } Index: AbstractValueSetter.java =================================================================== RCS file: /cvsroot/spring-rich-c/spring-richclient/src/org/springframework/richclient/forms/AbstractValueSetter.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AbstractValueSetter.java 19 Jul 2004 17:22:12 -0000 1.2 --- AbstractValueSetter.java 30 Jul 2004 13:12:32 -0000 1.3 *************** *** 25,29 **** */ public abstract class AbstractValueSetter implements ValueListener { ! protected final Log logger = LogFactory.getLog(getClass()); private ValueModel valueModel; --- 25,30 ---- */ public abstract class AbstractValueSetter implements ValueListener { ! protected static final Log logger = LogFactory ! .getLog(AbstractValueSetter.class); private ValueModel valueModel; *************** *** 41,45 **** return valueModel; } ! protected boolean isUpdating() { return updating; --- 42,46 ---- return valueModel; } ! protected boolean isUpdating() { return updating; Index: PropertyEditorValueSetter.java =================================================================== RCS file: /cvsroot/spring-rich-c/spring-richclient/src/org/springframework/richclient/forms/PropertyEditorValueSetter.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PropertyEditorValueSetter.java 15 Jul 2004 23:22:03 -0000 1.2 --- PropertyEditorValueSetter.java 30 Jul 2004 13:12:32 -0000 1.3 *************** *** 22,29 **** import org.springframework.rules.values.ValueModel; ! ! public class PropertyEditorValueSetter ! extends AbstractValueSetter ! implements PropertyChangeListener { private PropertyEditor propertyEditor; --- 22,27 ---- import org.springframework.rules.values.ValueModel; ! public class PropertyEditorValueSetter extends AbstractValueSetter implements ! PropertyChangeListener { private PropertyEditor propertyEditor; *************** *** 38,46 **** propertyEditor.setValue(value); } ! public void dispose() { this.propertyEditor.removePropertyChangeListener(this); } ! public void propertyChange(PropertyChangeEvent event) { componentValueChanged(propertyEditor.getValue()); --- 36,44 ---- propertyEditor.setValue(value); } ! public void dispose() { this.propertyEditor.removePropertyChangeListener(this); } ! public void propertyChange(PropertyChangeEvent event) { componentValueChanged(propertyEditor.getValue()); |