package Rtz; import art.library.model.devices.Device; import art.library.model.devices.DeviceGraphicsRuntime; import com.kitfox.svg.SVGDiagram; import com.kitfox.svg.SVGElement; public class RtzMap extends DeviceGraphicsRuntime { public RtzMap(art.library.model.devices.Device device, SVGDiagram diagram) { super(device, diagram); } public RtzMap(art.library.model.devices.Device device, art.library.model.devices.DeviceCommands commands, SVGDiagram diagram) { super(device, commands, diagram); } private boolean flashOn = false; public void timer() { status(); } public void status() { flashOn = java.util.Calendar.getInstance().get(java.util.Calendar.SECOND) % 2 == 0; Device device = getDevice(); art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation information = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation) device.getDeviceInformation(); art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerStatus status = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerStatus) device.getDeviceStatus(); art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General statusGeneral = status.rtz32.general; SVGElement background = getElement("Background"); SVGElement border = getElement("Border"); setAttribute(border, "display", "inline",999); setAttribute(background, "display", "inline", 999); if (information.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_NON_CENTRALIZED) { setAttribute(border, "fill", "#FFFFFF",999); setAttribute(background, "fill", "#FFFFFF",999); } else { if (status.rtz32.centralized.centralized == false) { setAttribute(border, "fill", "#808080", 999); setAttribute(background, "fill", "#808080", 999); } else { boolean semiactuated = status.rtz32.general.semiactuated ; boolean offline = false; if (device.getAlarm("alarm_controller_offline") > 0 || device.getAlarm("alarm_offline") > 0) { offline = true; setAttribute(border, "display", flashOn ? "inline" : "none", 999); setAttribute(background, "display", flashOn ? "inline" : "none", 999); } if (status.rtz32.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_COMPUTER) { setAttribute(border, "fill", "#00FF00", 999); setAttribute(background, "fill", "#00FF00", 999); if(offline == true) { setAttribute(background, "display", flashOn || semiactuated ? "none" : "inline", 999); setAttribute(border, "display", flashOn ? "none" : "inline", 999); } if(semiactuated) setAttribute(background, "display", flashOn || semiactuated ? "none" : "inline", 999); } else if (status.rtz32.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL) { setAttribute(border, "fill", "#FF0000", 999); setAttribute(background, "fill", "#FF0000", 999); if (offline == true) { setAttribute(background, "display", flashOn || semiactuated ? "none" : "inline", 999); setAttribute(border, "display", flashOn ? "none" : "inline", 999); } if(semiactuated) setAttribute(background, "display", flashOn || semiactuated ? "none" : "inline", 999); } if (device.getAlarm("alarm_controller_offline") <= 0 && device.getAlarm("alarm_offline") <= 0) { if (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller.class.cast(device).getDeviceStatus().rtz32.general.state == status.rtz32.general.STATE_FLASHING) { setAttribute(border, "fill", "#FFFF00", 999); setAttribute(background, "fill", "#FFFF00", 999); setAttribute(border, "display", flashOn ? "inline" : "none", 999); setAttribute(background, "display", flashOn ? "inline" : "none", 999); if(semiactuated) setAttribute(background, "display","none", 999); } } } } } public void commands() { try { SVGElement background = getElement("Background"); SVGElement border = getElement("Border"); if (getDeviceCommands().isEmpty()) { setAttribute(border, "fill", "#00007C", 999); setAttribute(background, "fill", "#7C7CFA", 999); } else { setAttribute(border, "fill", "#007C00", 999); setAttribute(background, "fill", "#7CFA7C", 999); } } catch (Exception ex){} } // 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); // }