use of com.serotonin.m2m2.view.text.MultistateRenderer in project ma-modules-public by infiniteautomation.
the class TextRendererFactory method updateDataPoint.
/**
* @param data
* @param renderer
*/
public static void updateDataPoint(DataPointVO vo, BaseTextRendererModel<?> baseRendererModel) {
if (baseRendererModel.getType().equals(AnalogRenderer.getDefinition().getName())) {
AnalogTextRendererModel model = (AnalogTextRendererModel) baseRendererModel;
AnalogRenderer r = new AnalogRenderer();
r.setUseUnitAsSuffix(model.isUseUnitAsSuffix());
r.setUnit(UnitUtil.parseLocal(model.getUnit()));
r.setRenderedUnit(UnitUtil.parseLocal(model.getRenderedUnit()));
r.setFormat(model.getFormat());
r.setSuffix(model.getSuffix());
vo.setTextRenderer(r);
} else if (baseRendererModel.getType().equals(BinaryTextRenderer.getDefinition().getName())) {
BinaryTextRendererModel model = (BinaryTextRendererModel) baseRendererModel;
BinaryTextRenderer btr = new BinaryTextRenderer();
btr.setOneColour(model.getOneColour());
btr.setOneLabel(model.getOneLabel());
btr.setZeroColour(model.getZeroColour());
btr.setZeroLabel(model.getZeroLabel());
vo.setTextRenderer(btr);
} else if (baseRendererModel.getType().equals(MultistateRenderer.getDefinition().getName())) {
MultistateRenderer r = new MultistateRenderer();
MultistateTextRendererModel model = (MultistateTextRendererModel) baseRendererModel;
r.setMultistateValues(model.getMultistateValues());
vo.setTextRenderer(r);
} else if (baseRendererModel.getType().equals(NoneRenderer.getDefinition().getName())) {
NoneRenderer r = new NoneRenderer();
vo.setTextRenderer(r);
} else if (baseRendererModel.getType().equals(PlainRenderer.getDefinition().getName())) {
PlainTextRendererModel model = (PlainTextRendererModel) baseRendererModel;
PlainRenderer r = new PlainRenderer();
r.setUseUnitAsSuffix(model.isUseUnitAsSuffix());
r.setUnit(UnitUtil.parseLocal(model.getUnit()));
r.setRenderedUnit(UnitUtil.parseLocal(model.getRenderedUnit()));
r.setSuffix(model.getSuffix());
vo.setTextRenderer(r);
} else if (baseRendererModel.getType().equals(RangeRenderer.getDefinition().getName())) {
RangeTextRendererModel model = (RangeTextRendererModel) baseRendererModel;
RangeRenderer r = new RangeRenderer();
r.setUseUnitAsSuffix(model.isUseUnitAsSuffix());
r.setUnit(UnitUtil.parseLocal(model.getUnit()));
r.setRenderedUnit(UnitUtil.parseLocal(model.getRenderedUnit()));
r.setFormat(model.getFormat());
r.setRangeValues(model.getRangeValues());
vo.setTextRenderer(r);
} else if (baseRendererModel.getType().equals(TimeRenderer.getDefinition().getName())) {
TimeRenderer r = new TimeRenderer();
TimeTextRendererModel model = (TimeTextRendererModel) baseRendererModel;
r.setFormat(model.getFormat());
r.setConversionExponent(model.getConversionExponent());
vo.setTextRenderer(r);
} else {
throw new ShouldNeverHappenException("Unknown Text Renderer: " + baseRendererModel.getType());
}
}
use of com.serotonin.m2m2.view.text.MultistateRenderer in project ma-modules-public by infiniteautomation.
the class TextRendererFactory method createModel.
/**
* @param vo
* @return
*/
public static BaseTextRendererModel<?> createModel(DataPointVO vo) {
TextRenderer renderer = vo.getTextRenderer();
// For when a VO is created that has no renderer
if (renderer == null)
return new NoneTextRendererModel();
if (renderer.getTypeName().equals(AnalogRenderer.getDefinition().getName())) {
AnalogRenderer r = (AnalogRenderer) renderer;
AnalogTextRendererModel model = new AnalogTextRendererModel(r.isUseUnitAsSuffix(), UnitUtil.formatLocal(r.getUnit()), UnitUtil.formatLocal(r.getRenderedUnit()), r.getFormat(), r.getSuffix());
return model;
} else if (renderer.getTypeName().equals(BinaryTextRenderer.getDefinition().getName())) {
BinaryTextRendererModel model = new BinaryTextRendererModel();
BinaryTextRenderer btr = (BinaryTextRenderer) renderer;
model.setOneColour(btr.getOneColour());
model.setOneLabel(btr.getOneLabel());
model.setZeroColour(btr.getZeroColour());
model.setZeroLabel(btr.getZeroLabel());
return model;
} else if (renderer.getTypeName().equals(MultistateRenderer.getDefinition().getName())) {
MultistateRenderer r = (MultistateRenderer) renderer;
MultistateTextRendererModel model = new MultistateTextRendererModel(r.getMultistateValues());
return model;
} else if (renderer.getTypeName().equals(NoneRenderer.getDefinition().getName())) {
return new NoneTextRendererModel();
}
if (renderer.getTypeName().equals(PlainRenderer.getDefinition().getName())) {
PlainRenderer r = (PlainRenderer) renderer;
PlainTextRendererModel model = new PlainTextRendererModel(r.isUseUnitAsSuffix(), UnitUtil.formatLocal(r.getUnit()), UnitUtil.formatLocal(r.getRenderedUnit()), r.getSuffix());
return model;
} else if (renderer.getTypeName().equals(RangeRenderer.getDefinition().getName())) {
RangeRenderer r = (RangeRenderer) renderer;
RangeTextRendererModel model = new RangeTextRendererModel(r.isUseUnitAsSuffix(), UnitUtil.formatLocal(r.getUnit()), UnitUtil.formatLocal(r.getRenderedUnit()), r.getFormat(), r.getRangeValues());
return model;
} else if (renderer.getTypeName().equals(TimeRenderer.getDefinition().getName())) {
TimeRenderer r = (TimeRenderer) renderer;
TimeTextRendererModel model = new TimeTextRendererModel(r.getFormat(), r.getConversionExponent());
return model;
} else {
throw new ShouldNeverHappenException("Unknown Text Renderer: " + renderer.getDef().getName());
}
}
use of com.serotonin.m2m2.view.text.MultistateRenderer in project ma-core-public by infiniteautomation.
the class DataPointEditDwr method setMultistateRenderer.
@DwrPermission(user = true)
public void setMultistateRenderer(List<MultistateValue> values) {
MultistateRenderer r = new MultistateRenderer();
for (MultistateValue v : values) r.addMultistateValue(v.getKey(), v.getText(), v.getColour());
setTextRenderer(r);
}
Aggregations