From e68f1da78bc96da5410d19e0486446917d263fc6 Mon Sep 17 00:00:00 2001
From: Alejandro Acuña <alejandro.acuna@aluvisagrupo.com>
Date: Mon, 07 Oct 2024 06:39:12 +0000
Subject: [PATCH] bacl
---
servers/rtzserver/data/art.servers.rtzserver/symbols/22/Controller.svg | 476 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 462 insertions(+), 14 deletions(-)
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/22/Controller.svg b/servers/rtzserver/data/art.servers.rtzserver/symbols/22/Controller.svg
index bb909a0..c9139b8 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/22/Controller.svg
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/22/Controller.svg
@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="27.331806mm"
height="36.046158mm"
viewBox="0 0 27.331806 36.046158"
version="1.1"
id="svg1894"
- inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
- sodipodi:docname="Controller.svg"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/">
+ inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+ sodipodi:docname="Controller.svg">
<defs
id="defs1888" />
<sodipodi:namedview
@@ -23,9 +23,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="3.959798"
- inkscape:cx="-47.855976"
- inkscape:cy="66.29126"
+ inkscape:zoom="2.8"
+ inkscape:cx="-18.366845"
+ inkscape:cy="133.59352"
inkscape:document-units="mm"
inkscape:current-layer="g4133"
showgrid="false"
@@ -34,7 +34,7 @@
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1920"
- inkscape:window-height="1017"
+ inkscape:window-height="1027"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
@@ -43,7 +43,455 @@
inkscape:deskcolor="#d1d1d1" />
<metadata
id="Metadata"
- art.script=" public void status() { try { statusSubcontroller(); } catch (Exception e) { } } public void statusSubcontroller() { art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller controller = (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller) getDevice(); art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerStatus controllerStatus = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerStatus) controller.getDeviceStatus(); art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation controllerInformation = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation) controller.getDeviceInformation(); art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status subcontrollerStatus = controllerStatus.rtz32; art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerRealtime subcontrollerRealtime = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerRealtime) device.getDeviceRealtime(); art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerConfiguration subcontrollerConfiguration = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerConfiguration) device.getDeviceConfiguration(); SVGElement emergency = getElement("Emergency"); SVGElement lock = getElement("Lock"); SVGElement run = getElement("Run"); SVGElement remote = getElement("Remote"); SVGElement background = getElement("Background"); SVGElement border = getElement("Border"); SVGElement ribbon = getElement("Ribbon"); SVGElement elapsed1 = getElement("Elapsed1"); SVGElement elapsed2 = getElement("Elapsed2"); setAttribute(emergency, "fill-opacity", "1.0", 999); setAttribute(lock, "fill-opacity", "1.0", 999); setAttribute(run, "fill-opacity", "1.0", 999); setAttribute(remote, "fill-opacity", "1.0", 999); setAttribute(emergency, "fill", "#804080", 999); setAttribute(lock, "fill", "#804080", 999); setAttribute(run, "fill", "#804080", 999); setAttribute(remote, "fill", "#804080", 999); setText("Text number", String.format("%05d", controllerInformation.number)); setText("Text information", ""); setText("Text offset", ""); setText("Text cycle", ""); setText("Text elapsed", ""); if (art.client.models.Shared.configuration.general.darkMap == true) { setAttribute("Text number", "fill", "#FFFFFF"); setAttribute("Text information", "fill", "#FFFFFF"); setAttribute("Text offset", "fill", "#FFFFFF"); setAttribute("Text cycle", "fill", "#FFFFFF"); } else { setAttribute("Text number", "fill", "#000000"); setAttribute("Text information", "fill", "#000000"); setAttribute("Text offset", "fill", "#000000"); setAttribute("Text cycle", "fill", "#000000"); } setAttribute(elapsed1, "display", "none"); setAttribute(elapsed2, "display", "none"); setAttribute(border, "stroke", "#800080"); setAttribute(border, "display", "inline"); setAttribute(border, "stroke-width", 6.5); setAttribute(border, "stroke-opacity", 0.75); setAttribute(ribbon, "stroke-opacity", 0.50); setAttribute(ribbon, "stroke", "#FF80FF"); setAttribute(background, "fill", "#FF80FF"); switch (controllerStatus.status) { case art.library.model.devices.DeviceStatus.STATUS_ONLINE: break; case art.library.model.devices.DeviceStatus.STATUS_WARNING: break; case art.library.model.devices.DeviceStatus.STATUS_ALARM: break; case art.library.model.devices.DeviceStatus.STATUS_DISABLE: setAttribute(background, "fill", "#404040"); setAttribute(ribbon, "stroke", "#404040"); setAttribute(border, "stroke", "#808080"); setAttribute(border, "display", "inline"); setAttribute(border, "stroke-width", 6.5); setAttribute(border, "stroke-opacity", 1.0); setAttribute(emergency, "fill-opacity", "0.0", 999); setAttribute(lock, "fill-opacity", "0.0", 999); setAttribute(run, "fill-opacity", "0.0", 999); setAttribute(remote, "fill-opacity", "0.0", 999); return; case art.library.model.devices.DeviceStatus.STATUS_SIMULATION: setAttribute(background, "fill", "#0000FF"); setAttribute(ribbon, "stroke", "#0000FF"); setAttribute(border, "stroke", "#000080"); setAttribute(border, "display", "inline"); setAttribute(border, "stroke-width", 6.5); setAttribute(border, "stroke-opacity", 1.0); break; case art.library.model.devices.DeviceStatus.STATUS_INVALID: case art.library.model.devices.DeviceStatus.STATUS_OFFLINE: case art.library.model.devices.DeviceStatus.STATUS_UNKNOWN: setAttribute(background, "fill", "#FF00FF"); setAttribute(ribbon, "stroke", "#FF00FF"); setAttribute(border, "stroke", "#FF00FF"); setAttribute(border, "display", "inline"); setAttribute(border, "stroke-width", 6.5); setAttribute(border, "stroke-opacity", 1.0); return; } if (subcontrollerStatus.forcings != null && (subcontrollerStatus.forcings.centralized != null || subcontrollerStatus.forcings.colorsMode != null || subcontrollerStatus.forcings.computerMode != null || subcontrollerStatus.forcings.control != null || subcontrollerStatus.forcings.plan != null)) { setAttribute(lock, "fill-opacity", "1.0", 999); setAttribute(lock, "fill", "#FF0000", 999); } else { setAttribute(lock, "fill-opacity", "0.15", 999); setAttribute(lock, "fill", "#000000", 999); } if (subcontrollerStatus.general.emergency == true) { setAttribute(emergency, "fill-opacity", "1.0", 999); } else if (subcontrollerStatus.general.emergency == false) { setAttribute(emergency, "fill-opacity", "0.15", 999); setAttribute(emergency, "fill", "#000000", 999); } switch (subcontrollerStatus.general.planMode) { case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_ONLINE_ORDERS: { break; } case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_TIMETABLE: case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DELAYED_ORDERS: case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DYNAMIC_SELECTION: case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_FORCED: { break; } } setAttribute("Text information", "display", "iniline", 999); setAttribute("Text offset", "display", "iniline", 999); setAttribute("Text cycle", "display", "iniline", 999); if ((subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_COMPUTER)) { setAttribute(remote, "fill-opacity", "1.0", 999); setAttribute(remote, "fill", "#0000FF", 999); } else { setAttribute(remote, "fill-opacity", "0.15", 999); setAttribute(remote, "fill", "#000000", 999); } if (subcontrollerRealtime != null && subcontrollerRealtime.rtz32 != null && subcontrollerRealtime.rtz32.junctionRealtime == true) { setAttribute(run, "fill-opacity", "1.0", 999); setAttribute(run, "fill", "#0000FF", 999); } else { setAttribute(run, "fill-opacity", "0.15", 999); setAttribute(run, "fill", "#000000", 999); } double strokeopacity = Math.pow(2, controller.getDeviceAlarms().getServerityAlarm()) / 32; if (controller.getDeviceAlarms().getServerityAlarm() > 0) { setAttribute(border, "display", "inline"); setAttribute(border, "stroke", "#FF0000"); setAttribute(border, "stroke-opacity", strokeopacity); setAttribute(border, "stroke-width", 6.5 + (6.5 * strokeopacity)); } else { setAttribute(border, "stroke", "#808080"); setAttribute(border, "display", "inline"); setAttribute(border, "stroke-width", 6.5); setAttribute(border, "stroke-opacity", 1.0); } java.util.Calendar calendardate = java.util.Calendar.getInstance(); calendardate.set(java.util.Calendar.MILLISECOND, 0); long seconds = calendardate.getTimeInMillis() / 1000; boolean even = seconds % 2 == 0; switch (subcontrollerStatus.general.state) { case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_UNKNOWN: setAttribute(background, "fill", "#808080"); setAttribute(ribbon, "stroke", "#808080"); setAttribute(elapsed2, "fill", "#808080"); setText("Text information", "OFF"); return; case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_FLASHING: setAttribute("Text information", "display","none",999); setAttribute("Text offset", "display","none",999); setAttribute("Text cycle", "display","none",999); if (even) { setAttribute(background, "fill", "#FFFF00"); setAttribute(ribbon, "stroke", "#FFFF00"); setAttribute(elapsed2, "fill", "#FFFF00"); } else { setAttribute(background, "fill", "#808000"); setAttribute(ribbon, "stroke", "#808000"); setAttribute(elapsed2, "fill", "#808000"); } setText("Text information", "Y^"); break; case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_STARTUP: if (subcontrollerStatus.general.emergency == true) { setAttribute(background, "fill", even ? "#FF8000" : "#804000"); setAttribute(ribbon, "stroke", even ? "#FF8000" : "#804000"); setAttribute(elapsed2, "fill", even ? "#FF8000" : "#804000"); } else if (subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL) { setAttribute(background, "fill", even ? "#008000" : "#004000"); setAttribute(ribbon, "stroke", even ?"#008000" : "#004000"); setAttribute(elapsed2, "fill",even ? "#008000" : "#004000"); } else { setAttribute(background, "fill", even ? "#00FF00" : "#008000"); setAttribute(ribbon, "stroke", even ? "#00FF00" : "#008000"); setAttribute(elapsed2, "fill", even ? "#00FF00" : "#008000"); } break; case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_COLORS: if (subcontrollerStatus.general.emergency == true) { setAttribute(background, "fill", "#FF8000"); setAttribute(ribbon, "stroke", "#FF8000"); setAttribute(elapsed2, "fill", "#FF8000"); } else if (subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL) { setAttribute(background, "fill", "#008000"); setAttribute(ribbon, "stroke", "#008000"); setAttribute(elapsed2, "fill", "#008000"); } else { setAttribute(background, "fill", "#00FF00"); setAttribute(ribbon, "stroke", "#00FF00"); setAttribute(elapsed2, "fill", "#00FF00"); } break; } art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program plan = null; if (subcontrollerStatus.plan != null && subcontrollerStatus.plan.number > 0) { try { plan = subcontrollerConfiguration.rtz32.getProgram(subcontrollerStatus.plan.number); } catch (Exception e) { } } if (plan != null) { String information = ""; if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED) information = "C"; else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_MASTER) information = "M"; else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_MASTER_SLAVE) information = "M-E"; else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_SLAVE) information = "E"; else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_SLAVE_MASTER) information = "E-M"; else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_TROLLEY) information = "CTw"; else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_NON_CENTRALIZED) information = "NC"; else information = "?"; information = information + plan.number; switch (subcontrollerStatus.general.planMode) { case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DELAYED_ORDERS: information = information + "d"; break; case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DYNAMIC_SELECTION: information = information + "ds"; break; case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_FORCED: information = information + "f"; break; case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_ONLINE_ORDERS: information = information + "o"; break; case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_TIMETABLE: information = information + "t"; break; } setText("Text information", information); if (plan.offset > 0) { setText("Text offset", "" + plan.offset); } else { setText("Text offset", ""); } setText("Text cycle", "" + plan.cycle); if (subcontrollerRealtime != null) { try { String text = subcontrollerRealtime.rtz32.phase.phaseNumber + ":" + subcontrollerRealtime.rtz32.counters.cycle; setText("Text elapsed", text); setAttribute(elapsed1, "display", "inline"); setAttribute(elapsed2, "display", "inline"); int elapsedWidth = getAttributeInteger(elapsed1, "width") - 2; float ratio = 1; setAttribute(elapsed2, "width", (elapsedWidth * Math.min(1.0f, ratio))); update(elapsed2); } catch (Exception ex) { } } java.awt.Color bckColor = java.awt.Color.decode(background.getStyleAbsolute("fill").getStringValue()); java.awt.Color darkerColor = bckColor.darker(); String darkHex = String.format("#%02x%02x%02x", darkerColor.darker().getRed(), darkerColor.darker().getGreen(), darkerColor.darker().getBlue()); setAttribute("Text information", "fill", darkHex, 999); setAttribute("Text offset", "fill", darkHex, 999); setAttribute("Text cycle", "fill", darkHex, 999); setAttribute(emergency, "fill", darkHex, 999); setAttribute(lock, "fill", darkHex, 999); setAttribute(run, "fill", darkHex, 999); setAttribute(remote, "fill", darkHex, 999); } } public void paintNoStatusAvailable() { art.library.model.devices.colors.controller.M.M_Controller controller = (art.library.model.devices.colors.controller.M.M_Controller) getDevice(); SVGElement thunderbolt = getElement("Thunderbolt"); SVGElement emergency = getElement("Emergency"); SVGElement lock = getElement("Lock"); SVGElement calendar = getElement("Calendar"); SVGElement run = getElement("Run"); SVGElement remote = getElement("Remote"); SVGElement background = getElement("Background"); SVGElement border = getElement("Border"); SVGElement ribbon = getElement("Ribbon"); SVGElement elapsed1 = getElement("Elapsed1"); SVGElement elapsed2 = getElement("Elapsed2"); setAttribute(thunderbolt, "fill-opacity", "1.0", 999); setAttribute(emergency, "fill-opacity", "1.0", 999); setAttribute(lock, "fill-opacity", "1.0", 999); setAttribute(calendar, "fill-opacity", "1.0", 999); setAttribute(run, "fill-opacity", "1.0", 999); setAttribute(remote, "fill-opacity", "1.0", 999); setAttribute(thunderbolt, "fill", "#804080", 999); setAttribute(emergency, "fill", "#804080", 999); setAttribute(lock, "fill", "#804080", 999); setAttribute(calendar, "fill", "#804080", 999); setAttribute(run, "fill", "#804080", 999); setAttribute(remote, "fill", "#804080", 999); setText("Text number", String.format("%05d", controller.getDeviceInformation().number)); setText("Text information", ""); setText("Text offset", ""); setText("Text cycle", ""); setText("Text elapsed", ""); setAttribute(elapsed1, "display", "none"); setAttribute(elapsed2, "display", "none"); setAttribute(ribbon, "stroke-opacity", 0.50); setAttribute(background, "fill", "#FF00FF"); setAttribute(ribbon, "stroke", "#FF00FF"); setAttribute(border, "stroke", "#FF00FF"); setAttribute(border, "display", "inline"); setAttribute(border, "stroke-width", 6.5); setAttribute(border, "stroke-opacity", 1.0); } public void commands() { final String colorNoCommandsBorder = "#00007C"; final String colorNoCommandsBackground = "#7C7CFA"; final String colorCommandsBorder = "#007C00"; final String colorCommandsBackground = "#7CFA7C"; art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller controller = (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller) getDevice(); art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation controllerInformation = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation) controller.getDeviceInformation(); SVGElement background = getElement("Background"); SVGElement border = getElement("Border"); SVGElement ribbon = getElement("Ribbon"); SVGElement emergency = getElement("Emergency"); SVGElement lock = getElement("Lock"); SVGElement run = getElement("Run"); SVGElement remote = getElement("Remote"); setAttribute(border, "stroke", !getDeviceCommands().isEmpty() ? colorCommandsBorder : colorNoCommandsBorder); setAttribute(border, "display", "inline"); setAttribute(border, "stroke-width", 6.5); setAttribute(border, "stroke-opacity", 0.75); setAttribute(ribbon, "stroke-opacity", 0.50); setAttribute(ribbon, "stroke", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground); setAttribute(background, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground); setAttribute(emergency, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999); setAttribute(lock, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999); setAttribute(run, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999); setAttribute(remote, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999); setText("Text number", String.format("%05d", controllerInformation.number)); setAttribute("Text information", "display", "none", 999); setAttribute("Text offset", "display", "none", 999); setAttribute("Text cycle", "display", "none", 999); setAttribute("Text elapsed", "display", "none", 999); } ">
+ art.script=" public void status()
+ {
+ try
+ {
+ statusSubcontroller();
+ } catch (Exception e)
+ {
+ }
+ }
+
+ public void statusSubcontroller()
+ {
+ java.util.Calendar calendardate = java.util.Calendar.getInstance();
+ calendardate.set(java.util.Calendar.MILLISECOND, 0);
+ long seconds = calendardate.getTimeInMillis() / 1000;
+ boolean even = seconds % 2 == 0;
+
+ art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller controller = (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller) getDevice();
+ art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerStatus controllerStatus = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerStatus) controller.getDeviceStatus();
+ art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation controllerInformation = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation) controller.getDeviceInformation();
+ art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status subcontrollerStatus = controllerStatus.rtz32;
+ art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerRealtime subcontrollerRealtime = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerRealtime) device.getDeviceRealtime();
+ art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerConfiguration subcontrollerConfiguration = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerConfiguration) device.getDeviceConfiguration();
+
+ SVGElement emergency = getElement("Emergency");
+ SVGElement lock = getElement("Lock");
+ SVGElement run = getElement("Run");
+ SVGElement remote = getElement("Remote");
+ SVGElement background = getElement("Background");
+ SVGElement border = getElement("Border");
+ SVGElement ribbon = getElement("Ribbon");
+ SVGElement elapsed1 = getElement("Elapsed1");
+ SVGElement elapsed2 = getElement("Elapsed2");
+ setAttribute(emergency, "fill-opacity", "1.0", 999);
+ setAttribute(lock, "fill-opacity", "1.0", 999);
+ setAttribute(run, "fill-opacity", "1.0", 999);
+ setAttribute(remote, "fill-opacity", "1.0", 999);
+ setAttribute(emergency, "fill", "#804080", 999);
+ setAttribute(lock, "fill", "#804080", 999);
+ setAttribute(run, "fill", "#804080", 999);
+ setAttribute(remote, "fill", "#804080", 999);
+ setText("Text number", String.format("%04d", controllerInformation.number));
+ setText("Text information", "");
+ setText("Text offset", "");
+ setText("Text cycle", "");
+ setText("Text elapsed", "");
+
+ try
+ {
+ if (art.client.models.Shared.configuration.general.darkMap == true)
+ {
+ setAttribute("Text number", "fill", "#FFFFFF");
+ setAttribute("Text information", "fill", "#FFFFFF");
+ setAttribute("Text offset", "fill", "#FFFFFF");
+ setAttribute("Text cycle", "fill", "#FFFFFF");
+ } else
+ {
+ setAttribute("Text number", "fill", "#000000");
+ setAttribute("Text information", "fill", "#000000");
+ setAttribute("Text offset", "fill", "#000000");
+ setAttribute("Text cycle", "fill", "#000000");
+ }
+ } catch (Exception ex)
+ {
+ }
+
+
+ setAttribute(elapsed1, "display", "none");
+ setAttribute(elapsed2, "display", "none");
+ /* setAttribute(border, "stroke", "#800080");*/
+ setAttribute(border, "display", "inline");
+ setAttribute(border, "stroke-width", 6.5);
+ setAttribute(border, "stroke-opacity", 0.75);
+ setAttribute(ribbon, "stroke-opacity", 0.50);
+ setAttribute(ribbon, "stroke", "#FF80FF");
+ setAttribute(background, "fill", "#FF80FF");
+
+ if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_NON_CENTRALIZED)
+ {
+ setAttribute(border, "stroke", "#FFFFFF",999);
+ setAttribute(background, "fill", "#FFFFFF",999);
+ setAttribute(ribbon, "stroke", "#FFFFFF",999);
+ }
+ else
+ {
+ setAttribute(border, "display", "none", 999);
+
+ if (controllerStatus.rtz32.centralized.centralized == false)
+ {
+ setAttribute(border, "fill", "#808080", 999);
+ setAttribute(background, "fill", "#808080", 999);
+ setAttribute(ribbon, "stroke", "#808080", 999);
+ }
+ else
+ {
+ boolean semiactuated = controllerStatus.rtz32.general.semiactuated ;
+ boolean offline = false;
+
+ if (device.getAlarm("alarm_controller_offline") > 0 || device.getAlarm("alarm_offline") > 0)
+ {
+ offline = true;
+ setAttribute(background, "display", even ? "inline" : "none", 999);
+ }
+
+ if (controllerStatus.rtz32.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_COMPUTER)
+ {
+ setAttribute(background, "fill", "#00FF00", 999);
+ setAttribute(ribbon, "stroke", "#00FF00", 999);
+
+ if(offline == true)
+ {
+ setAttribute(background, "display", even || semiactuated ? "none" : "inline", 999);
+ }
+ }
+ else if (controllerStatus.rtz32.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL)
+ {
+ setAttribute(background, "fill", "#FF0000", 999);
+ setAttribute(ribbon, "stroke", "#FF0000", 999);
+
+ if (offline == true)
+ {
+ setAttribute(background, "display", even ? "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).getDeviceAlarms().rtz32.flashing.getServerityAlarm() > 0)
+ {
+ setAttribute(background, "fill", "#FFFF00", 999);
+ setAttribute(ribbon, "stroke", "#FFFF00", 999);
+ setAttribute(background, "display", even ? "inline" : "none", 999);
+
+ }
+ }
+ }
+ }
+
+ if (subcontrollerStatus.forcings != null
+ && (subcontrollerStatus.forcings.centralized != null
+ || subcontrollerStatus.forcings.colorsMode != null
+ || subcontrollerStatus.forcings.computerMode != null
+ || subcontrollerStatus.forcings.control != null
+ || subcontrollerStatus.forcings.plan != null))
+ {
+ setAttribute(lock, "fill-opacity", "1.0", 999);
+ setAttribute(lock, "fill", "#FF0000", 999);
+ } else
+ {
+ setAttribute(lock, "fill-opacity", "0.15", 999);
+ setAttribute(lock, "fill", "#000000", 999);
+ }
+ if (subcontrollerStatus.general.emergency == true)
+ {
+ setAttribute(emergency, "fill-opacity", "1.0", 999);
+ } else if (subcontrollerStatus.general.emergency == false)
+ {
+ setAttribute(emergency, "fill-opacity", "0.15", 999);
+ setAttribute(emergency, "fill", "#000000", 999);
+ }
+
+
+
+ setAttribute("Text information", "display", "iniline", 999);
+ setAttribute("Text offset", "display", "iniline", 999);
+ setAttribute("Text cycle", "display", "iniline", 999);
+
+ if ((subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_COMPUTER))
+ {
+ setAttribute(remote, "fill-opacity", "1.0", 999);
+ setAttribute(remote, "fill", "#0000FF", 999);
+ } else
+ {
+ setAttribute(remote, "fill-opacity", "0.15", 999);
+ setAttribute(remote, "fill", "#000000", 999);
+ }
+ if (subcontrollerRealtime != null && subcontrollerRealtime.rtz32 != null && subcontrollerRealtime.rtz32.junctionRealtime == true)
+ {
+ setAttribute(run, "fill-opacity", "1.0", 999);
+ setAttribute(run, "fill", "#0000FF", 999);
+ } else
+ {
+ setAttribute(run, "fill-opacity", "0.15", 999);
+ setAttribute(run, "fill", "#000000", 999);
+ }
+
+ double strokeopacity = Math.pow(2, controller.getDeviceAlarms().getServerityAlarm()) / 32;
+
+ /* if (controller.getDeviceAlarms().getServerityAlarm() > 0)
+ {
+ setAttribute(border, "display", "inline");
+ setAttribute(border, "stroke", "#FF0000");
+ setAttribute(border, "stroke-opacity", strokeopacity);
+ setAttribute(border, "stroke-width", 6.5 + (6.5 * strokeopacity));
+ } else
+ {
+ setAttribute(border, "stroke", "#808080");
+ setAttribute(border, "display", "inline");
+ setAttribute(border, "stroke-width", 6.5);
+ setAttribute(border, "stroke-opacity", 1.0);
+ }*/
+
+
+
+ switch (subcontrollerStatus.general.state)
+ {
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_UNKNOWN:
+ /*setAttribute(background, "fill", "#808080");
+ setAttribute(ribbon, "stroke", "#808080");*/
+ setAttribute(elapsed2, "fill", "#808080");
+ setText("Text information", "OFF");
+ return;
+
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_FLASHING:
+ setAttribute("Text information", "display","none",999);
+ setAttribute("Text offset", "display","none",999);
+ setAttribute("Text cycle", "display","none",999);
+
+ if (even)
+ {
+ /* setAttribute(background, "fill", "#FFFF00");
+ setAttribute(ribbon, "stroke", "#FFFF00");*/
+ setAttribute(elapsed2, "fill", "#FFFF00");
+ } else
+ {
+ /* setAttribute(background, "fill", "#808000");
+ setAttribute(ribbon, "stroke", "#808000");*/
+ setAttribute(elapsed2, "fill", "#808000");
+ }
+ setText("Text information", "Y^");
+ break;
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_STARTUP:
+ if (subcontrollerStatus.general.emergency == true)
+ {
+ /* setAttribute(background, "fill", even ? "#FF8000" : "#804000");
+ setAttribute(ribbon, "stroke", even ? "#FF8000" : "#804000");*/
+ setAttribute(elapsed2, "fill", even ? "#FF8000" : "#804000");
+ } else if (subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL)
+ {
+ /* setAttribute(background, "fill", even ? "#008000" : "#004000");
+ setAttribute(ribbon, "stroke", even ?"#008000" : "#004000");*/
+ setAttribute(elapsed2, "fill",even ? "#008000" : "#004000");
+ } else
+ {
+ /* setAttribute(background, "fill", even ? "#00FF00" : "#008000");
+ setAttribute(ribbon, "stroke", even ? "#00FF00" : "#008000");*/
+ setAttribute(elapsed2, "fill", even ? "#00FF00" : "#008000");
+ }
+ break;
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_COLORS:
+ if (subcontrollerStatus.general.emergency == true)
+ {
+ /* setAttribute(background, "fill", "#FF8000"); */
+ setAttribute(ribbon, "stroke", "#FF8000");
+ setAttribute(elapsed2, "fill", "#FF8000");
+ }
+ else if (subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL)
+ {
+ /* setAttribute(background, "fill", "#008000");
+ setAttribute(ribbon, "stroke", "#008000");*/
+ setAttribute(elapsed2, "fill", "#008000");
+ } else
+ {
+ /* setAttribute(background, "fill", "#00FF00");
+ setAttribute(ribbon, "stroke", "#00FF00");*/
+ setAttribute(elapsed2, "fill", "#00FF00");
+ }
+ break;
+ }
+ art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program plan = null;
+ if (subcontrollerStatus.plan != null && subcontrollerStatus.plan.number > 0)
+ {
+ try
+ {
+ plan = subcontrollerConfiguration.rtz32.getProgram(subcontrollerStatus.plan.number);
+ } catch (Exception e)
+ {
+ }
+ }
+
+ if (plan != null)
+ {
+
+ String information = "";
+
+ if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED)
+ information = "C";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_MASTER)
+ information = "M";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_MASTER_SLAVE)
+ information = "M-E";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_SLAVE)
+ information = "E";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_SLAVE_MASTER)
+ information = "E-M";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_TROLLEY)
+ information = "CTw";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_NON_CENTRALIZED)
+ information = "NC";
+ else
+ information = "?";
+
+ information = information + plan.number;
+
+ switch (subcontrollerStatus.general.planMode)
+ {
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DELAYED_ORDERS:
+ information = information + "d";
+ break;
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DYNAMIC_SELECTION:
+ information = information + "ds";
+ break;
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_FORCED:
+ information = information + "f";
+ break;
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_ONLINE_ORDERS:
+ information = information + "o";
+ break;
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_TIMETABLE:
+ information = information + "t";
+ break;
+ }
+
+ setText("Text information", information);
+ if (plan.offset > 0)
+ {
+ setText("Text offset", "" + plan.offset);
+ } else
+ {
+ setText("Text offset", "");
+ }
+ setText("Text cycle", "" + plan.cycle);
+
+ if (subcontrollerRealtime != null)
+ {
+ try
+ {
+ String text = subcontrollerRealtime.rtz32.phase.phaseNumber + ":" + subcontrollerRealtime.rtz32.counters.cycle;
+
+ setText("Text elapsed", text);
+ setAttribute(elapsed1, "display", "inline");
+ setAttribute(elapsed2, "display", "inline");
+ int elapsedWidth = getAttributeInteger(elapsed1, "width") - 2;
+ float ratio = 1;
+ setAttribute(elapsed2, "width", (elapsedWidth * Math.min(1.0f, ratio)));
+ update(elapsed2);
+ } catch (Exception ex)
+ {
+ }
+ }
+
+ java.awt.Color bckColor = java.awt.Color.decode(background.getStyleAbsolute("fill").getStringValue());
+ java.awt.Color darkerColor = bckColor.darker();
+ String darkHex = String.format("#%02x%02x%02x", darkerColor.darker().getRed(), darkerColor.darker().getGreen(), darkerColor.darker().getBlue());
+
+ setAttribute("Text information", "fill", darkHex, 999);
+ setAttribute("Text offset", "fill", darkHex, 999);
+ setAttribute("Text cycle", "fill", darkHex, 999);
+
+ setAttribute(emergency, "fill", darkHex, 999);
+ setAttribute(lock, "fill", darkHex, 999);
+ setAttribute(run, "fill", darkHex, 999);
+ setAttribute(remote, "fill", darkHex, 999);
+ }
+ }
+
+ public void paintNoStatusAvailable()
+ {
+ art.library.model.devices.colors.controller.M.M_Controller controller = (art.library.model.devices.colors.controller.M.M_Controller) getDevice();
+ SVGElement thunderbolt = getElement("Thunderbolt");
+ SVGElement emergency = getElement("Emergency");
+ SVGElement lock = getElement("Lock");
+ SVGElement calendar = getElement("Calendar");
+ SVGElement run = getElement("Run");
+ SVGElement remote = getElement("Remote");
+ SVGElement background = getElement("Background");
+ SVGElement border = getElement("Border");
+ SVGElement ribbon = getElement("Ribbon");
+ SVGElement elapsed1 = getElement("Elapsed1");
+ SVGElement elapsed2 = getElement("Elapsed2");
+ setAttribute(thunderbolt, "fill-opacity", "1.0", 999);
+ setAttribute(emergency, "fill-opacity", "1.0", 999);
+ setAttribute(lock, "fill-opacity", "1.0", 999);
+ setAttribute(calendar, "fill-opacity", "1.0", 999);
+ setAttribute(run, "fill-opacity", "1.0", 999);
+ setAttribute(remote, "fill-opacity", "1.0", 999);
+ setAttribute(thunderbolt, "fill", "#804080", 999);
+ setAttribute(emergency, "fill", "#804080", 999);
+ setAttribute(lock, "fill", "#804080", 999);
+ setAttribute(calendar, "fill", "#804080", 999);
+ setAttribute(run, "fill", "#804080", 999);
+ setAttribute(remote, "fill", "#804080", 999);
+ setText("Text number", String.format("%04d", controller.getDeviceInformation().number));
+ setText("Text information", "");
+ setText("Text offset", "");
+ setText("Text cycle", "");
+ setText("Text elapsed", "");
+ setAttribute(elapsed1, "display", "none");
+ setAttribute(elapsed2, "display", "none");
+ setAttribute(ribbon, "stroke-opacity", 0.50);
+ setAttribute(background, "fill", "#FF00FF");
+ setAttribute(ribbon, "stroke", "#FF00FF");
+ setAttribute(border, "stroke", "#FF00FF");
+ setAttribute(border, "display", "inline");
+ setAttribute(border, "stroke-width", 6.5);
+ setAttribute(border, "stroke-opacity", 1.0);
+ }
+
+ public void commands()
+ {
+ final String colorNoCommandsBorder = "#00007C";
+ final String colorNoCommandsBackground = "#7C7CFA";
+
+ final String colorCommandsBorder = "#007C00";
+ final String colorCommandsBackground = "#7CFA7C";
+
+ art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller controller = (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller) getDevice();
+ art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation controllerInformation = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation) controller.getDeviceInformation();
+
+ SVGElement background = getElement("Background");
+ SVGElement border = getElement("Border");
+ SVGElement ribbon = getElement("Ribbon");
+
+ SVGElement emergency = getElement("Emergency");
+ SVGElement lock = getElement("Lock");
+ SVGElement run = getElement("Run");
+ SVGElement remote = getElement("Remote");
+
+ setAttribute(border, "stroke", !getDeviceCommands().isEmpty() ? colorCommandsBorder : colorNoCommandsBorder);
+ setAttribute(border, "display", "inline");
+ setAttribute(border, "stroke-width", 6.5);
+ setAttribute(border, "stroke-opacity", 0.75);
+ setAttribute(ribbon, "stroke-opacity", 0.50);
+ setAttribute(ribbon, "stroke", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground);
+ setAttribute(background, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground);
+
+ setAttribute(emergency, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999);
+ setAttribute(lock, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999);
+ setAttribute(run, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999);
+ setAttribute(remote, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999);
+
+ setText("Text number", String.format("%04d", controllerInformation.number));
+ setAttribute("Text information", "display", "none", 999);
+ setAttribute("Text offset", "display", "none", 999);
+ setAttribute("Text cycle", "display", "none", 999);
+ setAttribute("Text elapsed", "display", "none", 999);
+
+ }
+">
<rdf:RDF>
<cc:Work
rdf:about="">
--
Gitblit v1.10.0