There are several different type of widget properties, such as Boolean, Double, Color, Font and so on. The method widget.setPropertyValue(prop_id, value) only accepts certain value types corresponding to the property type. Here is the list of the acceptable value types for each type of property. Property Value Type is the type of the object returned from widget.getPropertyValue(prop_id).
Actions Property and Script Property are not writeable as they are only loaded once during the initialization of widget.
Examples:
widget.setPropertyValue("enable", false);
widget.setPropertyValue("visible", true);
Examples:
//set border style to line style
widget.setPropertyValue("border_style", 1);
Examples:
importPackage(Packages.org.csstudio.opibuilder.scriptUtil);
var ORANGE = ColorFontUtil.getColorFromRGB(255,255,0);
widget.setPropertyValue("foreground_color",ORANGE);
widget.setPropertyValue("background_color", "Major"); //"Major" is a color macro
Examples:
importPackage(Packages.org.csstudio.opibuilder.scriptUtil);
var bigFont = ColorFontUtil.getFont("Times New Roman", 20, 1);
widget.setPropertyValue("font", bigFont);
Examples:
//load image from relative path
widget.getWidgetModel().setPropertyValue("image_file", "../pictures/fish.gif");
//load image from url
widget.getWidgetModel().setPropertyValue("image_file", "http://neutrons.ornl.gov/images/sns_aerial.jpg");
//load image from absolute workspace path
widget.getWidgetModel().setPropertyValue("image_file", "/BOY Examples/widgets/DynamicSymbols/Scared.jpg");
//load image from local file system
widget.getWidgetModel().setPropertyValue("image_file", "C:\\Users\\5hz\\Pictures\\me.gif");
Examples:
importPackage(Packages.org.csstudio.opibuilder.scriptUtil);
var jsArray = new Array(20,260,34,56,320,230);
//set the points for a polygon/polyline widget
widget.setPropertyValue("points", DataUtil.toJavaIntArray(jsArray));
Examples:
importPackage(Packages.org.csstudio.opibuilder.scriptUtil);
var macroInput = DataUtil.createMacrosInput(true);
macroInput.put("pv", PVUtil.getString(pvs[0]));
widget.setPropertyValue("macros", macroInput);
Examples:
importPackage(Packages.org.csstudio.opibuilder.scriptUtil);
var value = PVUtil.getString(pvs[0]);
widget.setPropertyValue("color_map", value);