|
import art.library.model.devices.Device;
|
import art.library.model.devices.DeviceStatus;
|
import com.kitfox.svg.SVGDiagram;
|
|
public class DeviceGraphicsRuntime_Inforpark_VmsBannerStatus extends DeviceGraphicsRuntime {
|
|
public DeviceGraphicsRuntime_Inforpark_VmsBannerStatus(art.library.model.devices.Device device, SVGDiagram diagram) {
|
super(device, diagram);
|
}
|
private int position = 0;
|
|
public void timer() {
|
try {
|
art.library.model.devices.vms.banner.BannerStatus status = (art.library.model.devices.vms.banner.BannerStatus) device.getDeviceStatus();
|
String text = status.rotulosElectronicos.text;
|
int fontlength = 10;
|
if (status.rotulosElectronicos.fontSize == 2) {
|
fontlength = 8;
|
}
|
if (text.length() > fontlength) {
|
position = position + 1;
|
if (position >= text.length()) {
|
position = 0;
|
}
|
status();
|
return;
|
}
|
} catch (Exception e) {
|
}
|
position = 0;
|
}
|
|
public void status() {
|
try {
|
Device device = getDevice();
|
art.library.model.devices.vms.banner.BannerInformation information = (art.library.model.devices.vms.banner.BannerInformation) device.getDeviceInformation();
|
art.library.model.devices.vms.banner.BannerStatus status = (art.library.model.devices.vms.banner.BannerStatus) device.getDeviceStatus();
|
art.library.model.devices.vms.banner.BannerAlarms alarms = (art.library.model.devices.vms.banner.BannerAlarms) device.getDeviceAlarms();
|
setAttribute("Font-12-Center", "display", "none");
|
setAttribute("Font-12-Right", "display", "none");
|
setAttribute("Font-12-Left", "display", "none");
|
setAttribute("Font-16-Center", "display", "none");
|
setAttribute("Font-16-Right", "display", "none");
|
setAttribute("Font-16-Left", "display", "none");
|
setAttribute("Background", "fill", "#FF00FF");
|
setAttribute("Auto", "display", "none");
|
setAttribute("Manual", "display", "none");
|
setAttribute("lblObert", "display", "none");
|
setAttribute("lblTancat", "display", "none");
|
String foreground = "#800080";
|
String background = "#FF00FF";
|
try {
|
setAttribute("Manual", "transform", "translate(54.25853,125.47335)");
|
switch (status.rotulosElectronicos.operationMode) {
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.OPERATION_MODE_MANUAL:
|
setAttribute("Manual", "display", "inline");
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.OPERATION_MODE_AUTOMATIC:
|
setAttribute("Auto", "display", "inline");
|
break;
|
}
|
} catch (Exception e) {
|
}
|
try {
|
switch (status.status) {
|
case DeviceStatus.STATUS_ONLINE:
|
background = "#0000FE";
|
break;
|
case DeviceStatus.STATUS_WARNING:
|
background = "#FFFF00";
|
break;
|
case DeviceStatus.STATUS_ALARM:
|
background = "#FF0000";
|
break;
|
case DeviceStatus.STATUS_INVALID:
|
background = "#B97A57";
|
break;
|
case DeviceStatus.STATUS_DISABLE:
|
background = "#808080";
|
break;
|
case DeviceStatus.STATUS_SIMULATION:
|
background = "#0000FF";
|
break;
|
case DeviceStatus.STATUS_OFFLINE:
|
background = "#FF00FF";
|
break;
|
case DeviceStatus.STATUS_UNKNOWN:
|
background = "#FF00FF";
|
break;
|
}
|
switch(status.rotulosElectronicos.state)
|
{
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.STATE_OPEN:
|
setAttribute("lblObert", "display", "inline");
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.STATE_CLOSE:
|
setAttribute("lblTancat", "display", "inline");
|
break;
|
|
}
|
|
|
if (status.rotulosElectronicos != null) {
|
switch (status.rotulosElectronicos.foreground) {
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_BLUE:
|
foreground = "#0000FF";
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_CYAN:
|
foreground = "#00FFFF";
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_GREEN:
|
foreground = "#00FF00";
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_PURPLE:
|
foreground = "#FF00FF0";
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_RED:
|
foreground = "#FF0000";
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_WHITE:
|
foreground = "#FFFFFF";
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_YELLOW:
|
foreground = "#FFFF00";
|
break;
|
default:
|
foreground = "#FFFFFF";
|
break;
|
}
|
}
|
setAttribute("Background", "fill", background);
|
setAttribute("Background", "stroke", background);
|
} catch (Exception e) {
|
}
|
try {
|
if (status.rotulosElectronicos != null) {
|
String fontsize = "Font-12-Center";
|
int fontlength = 10;
|
if (status.rotulosElectronicos.fontSize == 2) {
|
fontlength = 8;
|
fontsize = "Font-16-Center";
|
}
|
String text = status.rotulosElectronicos.text;
|
if (text.length() > fontlength) {
|
if (position > 0) {
|
text = text + " " + status.rotulosElectronicos.text;
|
}
|
text = text.substring(position, Math.min(position + fontlength, text.length()));
|
setText(fontsize, text);
|
} else {
|
switch (status.rotulosElectronicos.horizontalAlignment) {
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.ALIGNMENT_HORIZONTAL_LEFT:
|
fontsize = fontsize = "Font-" + fontsize.split("-")[1] + "-Left";
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.ALIGNMENT_HORIZONTAL_RIGHT:
|
fontsize = "Font-" + fontsize.split("-")[1] + "-Right";
|
break;
|
default:
|
fontsize = "Font-" + fontsize.split("-")[1] + "-Center";
|
break;
|
}
|
setText(fontsize, text);
|
}
|
setAttribute(fontsize, "fill", foreground);
|
setAttribute(fontsize, "display", "inline");
|
}
|
} catch (Exception e) {
|
}
|
} catch (Exception e) {
|
}
|
}
|
|
// java.io.StringWriter sw = new java.io.StringWriter();
|
// art.library.gui.flat.FlatDialog.showDialog(null, "Error", e.getMessage() + "\n\n" + sw.toString(), true, art.library.gui.flat.FlatDialog.DIALOG_ERROR);
|
//
|
}
|