|
1 | 1 | package org.csstudio.display.widget; |
2 | 2 |
|
| 3 | +import org.csstudio.display.builder.model.Version; |
3 | 4 | import org.csstudio.display.builder.model.Widget; |
4 | 5 | import org.csstudio.display.builder.model.WidgetCategory; |
| 6 | +import org.csstudio.display.builder.model.WidgetConfigurator; |
5 | 7 | import org.csstudio.display.builder.model.WidgetDescriptor; |
6 | 8 | import org.csstudio.display.builder.model.WidgetProperty; |
7 | 9 | import org.csstudio.display.builder.model.WidgetPropertyCategory; |
8 | 10 | import org.csstudio.display.builder.model.WidgetPropertyDescriptor; |
| 11 | +import org.csstudio.display.builder.model.persist.ModelReader; |
9 | 12 | import org.csstudio.display.builder.model.persist.NamedWidgetFonts; |
10 | 13 | import org.csstudio.display.builder.model.persist.WidgetFontService; |
11 | 14 | import org.csstudio.display.builder.model.properties.WidgetColor; |
12 | 15 | import org.csstudio.display.builder.model.properties.WidgetFont; |
| 16 | +import org.csstudio.display.builder.model.widgets.PolygonWidget; |
13 | 17 | import org.csstudio.display.builder.model.widgets.WritablePVWidget; |
| 18 | +import org.phoebus.framework.persistence.XMLUtil; |
| 19 | +import org.w3c.dom.Element; |
14 | 20 |
|
15 | 21 | import java.util.Arrays; |
16 | 22 | import java.util.List; |
| 23 | +import java.util.Optional; |
17 | 24 |
|
18 | 25 | import static org.csstudio.display.builder.model.properties.CommonWidgetProperties.newBooleanPropertyDescriptor; |
19 | 26 | import static org.csstudio.display.builder.model.properties.CommonWidgetProperties.newColorPropertyDescriptor; |
@@ -192,4 +199,37 @@ public WidgetProperty<Boolean> propSpinnerShaped() |
192 | 199 | return spinner_shaped; |
193 | 200 | } |
194 | 201 |
|
| 202 | + @Override |
| 203 | + public WidgetConfigurator getConfigurator(final Version persisted_version) |
| 204 | + throws Exception |
| 205 | + { |
| 206 | + return new LegacyWidgetConfigurator(persisted_version); |
| 207 | + } |
| 208 | + |
| 209 | + private static class LegacyWidgetConfigurator extends WidgetConfigurator |
| 210 | + { |
| 211 | + public LegacyWidgetConfigurator(Version xml_version) { |
| 212 | + super(xml_version); |
| 213 | + } |
| 214 | + |
| 215 | + @Override |
| 216 | + public boolean configureFromXML(ModelReader model_reader, Widget widget, Element widget_xml) throws Exception { |
| 217 | + if (!super.configureFromXML(model_reader, widget, widget_xml)) |
| 218 | + return false; |
| 219 | + |
| 220 | + final Optional<String> integerDigits = XMLUtil.getChildString(widget_xml, "integerDigits"); |
| 221 | + if(integerDigits.isPresent()) |
| 222 | + { |
| 223 | + int integer_digits = Integer.parseInt(integerDigits.get()); |
| 224 | + widget.getProperty(propIntegerDigits).setValue(integer_digits); |
| 225 | + } |
| 226 | + final Optional<String> decimalDigits = XMLUtil.getChildString(widget_xml, "decimalDigits"); |
| 227 | + if(decimalDigits.isPresent()) |
| 228 | + { |
| 229 | + int decimal_digits = Integer.parseInt(decimalDigits.get()); |
| 230 | + widget.getProperty(propDecimalDigits).setValue(decimal_digits); |
| 231 | + } |
| 232 | + return true; |
| 233 | + } |
| 234 | + } |
195 | 235 | } |
0 commit comments