From 44b33e24b644459038edd956cfce7345ce3236c1 Mon Sep 17 00:00:00 2001
From: Alejandro Acuña <alejandro.acuna@aluvisagrupo.com>
Date: Wed, 18 Dec 2024 08:54:47 +0000
Subject: [PATCH] no message
---
servers/rtzserver/data/art.servers.rtzserver/symbols/18.5/Thumbs.db | 0
servers/rtzserver/data/art.servers.rtzserver/symbols/19.5/Thumbs.db | 0
svgDevicesTest/src/AccessEnforcement/mockers/AccessEnforcementMockerMap.java | 20
servers/macroserver.rar | 0
servers/rtzserver/data/art.servers.rtzserver/symbols/19/Thumbs.db | 0
servers/rtzserver/data/art.servers.rtzserver/symbols/17/Thumbs.db | 0
svgDevicesTest/build/classes/AAAMain/SvgDeviceStatusTest.class | 0
servers/rtzserver/data/art.servers.rtzserver/symbols/19/Controller.svg | 399 +++++
servers/rtzserver/data/art.servers.rtzserver/symbols/19.5/Controller.svg | 399 +++++
servers/rtzserver/data/art.servers.rtzserver/symbols/20/Thumbs.db | 0
svgDevicesTest/src/Rtz/mockers/RtzMockerMapComplex.java | 50
svgDevicesTest/build/classes/Rtz/RtzMapComplex.class | 0
svgDevicesTest/src/AAAMain/SvgDeviceStatusTest.java | 2
svgDevicesTest/src/Rtz/RtzMapComplex.java | 182 -
servers/rtzserver/data/art.servers.rtzserver/symbols/20.5/Controller.svg | 399 +++++
servers/rtzserver/data/art.servers.rtzserver/symbols/17.5/Thumbs.db | 0
servers/rtzserver/data/art.servers.rtzserver/symbols/22/Thumbs.db | 0
svgDevicesTest/build/built-jar.properties | 2
svgDevicesTest/build/classes/AccessEnforcement/mockers/AccessEnforcementMockerMap.class | 0
servers/rtzserver/data/art.servers.rtzserver/symbols/18/Thumbs.db | 0
servers/rtzserver/data/art.servers.rtzserver/symbols/20/Controller.svg | 399 +++++
servers/gost-access-server-git.rar | 0
servers/rtzserver/data/art.servers.rtzserver/symbols/17.5/Controller.svg | 399 +++++
servers/rtzserver/data/art.servers.rtzserver/symbols/21/Controller.svg | 399 +++++
servers/rtzserver/data/art.servers.rtzserver/symbols/17/Controller.svg | 399 +++++
svgDevicesTest/src/svgdevicestest/mock/DeviceMocker.java | 4
servers/rtzserver/data/art.servers.rtzserver/symbols/21.5/Controller.svg | 399 +++++
servers/rtzserver/data/art.servers.rtzserver/symbols/21.5/Thumbs.db | 0
svgDevicesTest/build/classes/Rtz/mockers/RtzMockerMapComplex.class | 0
servers/rtzserver/data/art.servers.rtzserver/symbols/22/Controller.svg | 181 -
servers/rtzserver/data/art.servers.rtzserver/symbols/18.5/Controller.svg | 399 +++++
servers/rtzserver/data/art.servers.rtzserver/symbols/21/Thumbs.db | 0
svgDevicesTest/build/classes/svgdevicestest/mock/DeviceMocker.class | 0
servers/rtzserver/data/art.servers.rtzserver/symbols/20.5/Thumbs.db | 0
servers/rtzserver/data/art.servers.rtzserver/symbols/18/Controller.svg | 399 +++++
35 files changed, 4,009 insertions(+), 422 deletions(-)
diff --git a/servers/gost-access-server-git.rar b/servers/gost-access-server-git.rar
new file mode 100644
index 0000000..bcf3a11
--- /dev/null
+++ b/servers/gost-access-server-git.rar
Binary files differ
diff --git a/servers/macroserver.rar b/servers/macroserver.rar
new file mode 100644
index 0000000..a386897
--- /dev/null
+++ b/servers/macroserver.rar
Binary files differ
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/17.5/Controller.svg b/servers/rtzserver/data/art.servers.rtzserver/symbols/17.5/Controller.svg
index bb909a0..1160a0a 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/17.5/Controller.svg
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/17.5/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
@@ -24,8 +24,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
- inkscape:cx="-47.855976"
- inkscape:cy="66.29126"
+ inkscape:cx="-57.110407"
+ inkscape:cy="95.513044"
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,380 @@
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);
+ setAttribute(background, "display", "inline");
+ } 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="">
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/17.5/Thumbs.db b/servers/rtzserver/data/art.servers.rtzserver/symbols/17.5/Thumbs.db
new file mode 100644
index 0000000..2f3df48
--- /dev/null
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/17.5/Thumbs.db
Binary files differ
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/17/Controller.svg b/servers/rtzserver/data/art.servers.rtzserver/symbols/17/Controller.svg
index bb909a0..1160a0a 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/17/Controller.svg
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/17/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
@@ -24,8 +24,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
- inkscape:cx="-47.855976"
- inkscape:cy="66.29126"
+ inkscape:cx="-57.110407"
+ inkscape:cy="95.513044"
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,380 @@
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);
+ setAttribute(background, "display", "inline");
+ } 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="">
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/17/Thumbs.db b/servers/rtzserver/data/art.servers.rtzserver/symbols/17/Thumbs.db
new file mode 100644
index 0000000..934e805
--- /dev/null
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/17/Thumbs.db
Binary files differ
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/18.5/Controller.svg b/servers/rtzserver/data/art.servers.rtzserver/symbols/18.5/Controller.svg
index bb909a0..1160a0a 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/18.5/Controller.svg
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/18.5/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
@@ -24,8 +24,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
- inkscape:cx="-47.855976"
- inkscape:cy="66.29126"
+ inkscape:cx="-57.110407"
+ inkscape:cy="95.513044"
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,380 @@
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);
+ setAttribute(background, "display", "inline");
+ } 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="">
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/18.5/Thumbs.db b/servers/rtzserver/data/art.servers.rtzserver/symbols/18.5/Thumbs.db
new file mode 100644
index 0000000..fb374ec
--- /dev/null
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/18.5/Thumbs.db
Binary files differ
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/18/Controller.svg b/servers/rtzserver/data/art.servers.rtzserver/symbols/18/Controller.svg
index bb909a0..1160a0a 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/18/Controller.svg
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/18/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
@@ -24,8 +24,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
- inkscape:cx="-47.855976"
- inkscape:cy="66.29126"
+ inkscape:cx="-57.110407"
+ inkscape:cy="95.513044"
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,380 @@
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);
+ setAttribute(background, "display", "inline");
+ } 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="">
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/18/Thumbs.db b/servers/rtzserver/data/art.servers.rtzserver/symbols/18/Thumbs.db
new file mode 100644
index 0000000..c0d1cc9
--- /dev/null
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/18/Thumbs.db
Binary files differ
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/19.5/Controller.svg b/servers/rtzserver/data/art.servers.rtzserver/symbols/19.5/Controller.svg
index bb909a0..1160a0a 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/19.5/Controller.svg
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/19.5/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
@@ -24,8 +24,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
- inkscape:cx="-47.855976"
- inkscape:cy="66.29126"
+ inkscape:cx="-57.110407"
+ inkscape:cy="95.513044"
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,380 @@
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);
+ setAttribute(background, "display", "inline");
+ } 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="">
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/19.5/Thumbs.db b/servers/rtzserver/data/art.servers.rtzserver/symbols/19.5/Thumbs.db
index 4b59484..a0cea89 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/19.5/Thumbs.db
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/19.5/Thumbs.db
Binary files differ
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/19/Controller.svg b/servers/rtzserver/data/art.servers.rtzserver/symbols/19/Controller.svg
index bb909a0..1160a0a 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/19/Controller.svg
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/19/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
@@ -24,8 +24,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
- inkscape:cx="-47.855976"
- inkscape:cy="66.29126"
+ inkscape:cx="-57.110407"
+ inkscape:cy="95.513044"
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,380 @@
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);
+ setAttribute(background, "display", "inline");
+ } 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="">
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/19/Thumbs.db b/servers/rtzserver/data/art.servers.rtzserver/symbols/19/Thumbs.db
index 4b59484..7ceece0 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/19/Thumbs.db
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/19/Thumbs.db
Binary files differ
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/20.5/Controller.svg b/servers/rtzserver/data/art.servers.rtzserver/symbols/20.5/Controller.svg
index bb909a0..1160a0a 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/20.5/Controller.svg
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/20.5/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
@@ -24,8 +24,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
- inkscape:cx="-47.855976"
- inkscape:cy="66.29126"
+ inkscape:cx="-57.110407"
+ inkscape:cy="95.513044"
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,380 @@
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);
+ setAttribute(background, "display", "inline");
+ } 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="">
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/20.5/Thumbs.db b/servers/rtzserver/data/art.servers.rtzserver/symbols/20.5/Thumbs.db
index 4b59484..aac2fbd 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/20.5/Thumbs.db
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/20.5/Thumbs.db
Binary files differ
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/20/Controller.svg b/servers/rtzserver/data/art.servers.rtzserver/symbols/20/Controller.svg
index bb909a0..1160a0a 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/20/Controller.svg
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/20/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
@@ -24,8 +24,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
- inkscape:cx="-47.855976"
- inkscape:cy="66.29126"
+ inkscape:cx="-57.110407"
+ inkscape:cy="95.513044"
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,380 @@
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);
+ setAttribute(background, "display", "inline");
+ } 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="">
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/20/Thumbs.db b/servers/rtzserver/data/art.servers.rtzserver/symbols/20/Thumbs.db
index 4b59484..376b01a 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/20/Thumbs.db
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/20/Thumbs.db
Binary files differ
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/21.5/Controller.svg b/servers/rtzserver/data/art.servers.rtzserver/symbols/21.5/Controller.svg
index bb909a0..1160a0a 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/21.5/Controller.svg
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/21.5/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
@@ -24,8 +24,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
- inkscape:cx="-47.855976"
- inkscape:cy="66.29126"
+ inkscape:cx="-57.110407"
+ inkscape:cy="95.513044"
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,380 @@
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);
+ setAttribute(background, "display", "inline");
+ } 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="">
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/21.5/Thumbs.db b/servers/rtzserver/data/art.servers.rtzserver/symbols/21.5/Thumbs.db
index 4b59484..17c252b 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/21.5/Thumbs.db
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/21.5/Thumbs.db
Binary files differ
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/21/Controller.svg b/servers/rtzserver/data/art.servers.rtzserver/symbols/21/Controller.svg
index bb909a0..1160a0a 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/21/Controller.svg
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/21/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
@@ -24,8 +24,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
- inkscape:cx="-47.855976"
- inkscape:cy="66.29126"
+ inkscape:cx="-57.110407"
+ inkscape:cy="95.513044"
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,380 @@
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);
+ setAttribute(background, "display", "inline");
+ } 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="">
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/21/Thumbs.db b/servers/rtzserver/data/art.servers.rtzserver/symbols/21/Thumbs.db
index 4b59484..760785c 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/21/Thumbs.db
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/21/Thumbs.db
Binary files differ
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 c9139b8..1160a0a 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/22/Controller.svg
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/22/Controller.svg
@@ -23,9 +23,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="2.8"
- inkscape:cx="-18.366845"
- inkscape:cy="133.59352"
+ inkscape:zoom="3.959798"
+ inkscape:cx="-57.110407"
+ inkscape:cy="95.513044"
inkscape:document-units="mm"
inkscape:current-layer="g4133"
showgrid="false"
@@ -43,7 +43,7 @@
inkscape:deskcolor="#d1d1d1" />
<metadata
id="Metadata"
- art.script=" public void status()
+ art.script="public void status()
{
try
{
@@ -54,19 +54,17 @@
}
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");
@@ -89,7 +87,6 @@
setText("Text offset", "");
setText("Text cycle", "");
setText("Text elapsed", "");
-
try
{
if (art.client.models.Shared.configuration.general.darkMap == true)
@@ -108,85 +105,66 @@
} catch (Exception ex)
{
}
-
-
setAttribute(elapsed1, "display", "none");
setAttribute(elapsed2, "display", "none");
- /* setAttribute(border, "stroke", "#800080");*/
- setAttribute(border, "display", "inline");
+ /* 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, "stroke", "#FFFFFF", 999);
+ setAttribute(background, "fill", "#FFFFFF", 999);
+ setAttribute(ribbon, "stroke", "#FFFFFF", 999);
+ } else
{
- setAttribute(border, "display", "none", 999);
-
+ 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
+ setAttribute(background, "display", "inline");
+ } else
{
- boolean semiactuated = controllerStatus.rtz32.general.semiactuated ;
+ 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)
+ 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)
+ } 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);
-
+ 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(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))
+ 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);
@@ -195,7 +173,7 @@
setAttribute(lock, "fill-opacity", "0.15", 999);
setAttribute(lock, "fill", "#000000", 999);
}
- if (subcontrollerStatus.general.emergency == true)
+ if (subcontrollerStatus.general.emergency == true)
{
setAttribute(emergency, "fill-opacity", "1.0", 999);
} else if (subcontrollerStatus.general.emergency == false)
@@ -203,18 +181,14 @@
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
+ } else
{
setAttribute(remote, "fill-opacity", "0.15", 999);
setAttribute(remote, "fill", "#000000", 999);
@@ -228,87 +202,49 @@
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)
+ /* 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");
+ /*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);
-
+ 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");
+ /* 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");
+ /* 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");
+ /* 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");
+ /* 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");
+ /* 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(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)
+ } 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");
+ /* 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");
+ /* setAttribute(background, "fill", "#00FF00"); setAttribute(ribbon, "stroke", "#00FF00");*/ setAttribute(elapsed2, "fill", "#00FF00");
}
break;
}
@@ -322,31 +258,35 @@
{
}
}
-
if (plan != null)
{
-
String information = "";
-
- if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED)
+ 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)
+ } 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)
+ } 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)
+ } 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)
+ } 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)
+ } 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)
+ } else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_NON_CENTRALIZED)
+ {
information = "NC";
- else
+ } 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:
@@ -365,7 +305,6 @@
information = information + "t";
break;
}
-
setText("Text information", information);
if (plan.offset > 0)
{
@@ -375,13 +314,11 @@
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");
@@ -393,15 +330,12 @@
{
}
}
-
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);
@@ -455,22 +389,17 @@
{
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);
@@ -478,20 +407,16 @@
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="">
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/22/Thumbs.db b/servers/rtzserver/data/art.servers.rtzserver/symbols/22/Thumbs.db
index 4b59484..9410e8c 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/22/Thumbs.db
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/22/Thumbs.db
Binary files differ
diff --git a/svgDevicesTest/build/built-jar.properties b/svgDevicesTest/build/built-jar.properties
index 7f34374..011199b 100644
--- a/svgDevicesTest/build/built-jar.properties
+++ b/svgDevicesTest/build/built-jar.properties
@@ -1,4 +1,4 @@
-#Mon, 14 Oct 2024 14:28:16 +0200
+#Fri, 29 Nov 2024 11:24:46 +0100
D\:\\LocalBackup\\svgDevicesTest=
diff --git a/svgDevicesTest/build/classes/AAAMain/SvgDeviceStatusTest.class b/svgDevicesTest/build/classes/AAAMain/SvgDeviceStatusTest.class
index bc733c8..20b9fcc 100644
--- a/svgDevicesTest/build/classes/AAAMain/SvgDeviceStatusTest.class
+++ b/svgDevicesTest/build/classes/AAAMain/SvgDeviceStatusTest.class
Binary files differ
diff --git a/svgDevicesTest/build/classes/AccessEnforcement/mockers/AccessEnforcementMockerMap.class b/svgDevicesTest/build/classes/AccessEnforcement/mockers/AccessEnforcementMockerMap.class
index dcf13bb..b9958ea 100644
--- a/svgDevicesTest/build/classes/AccessEnforcement/mockers/AccessEnforcementMockerMap.class
+++ b/svgDevicesTest/build/classes/AccessEnforcement/mockers/AccessEnforcementMockerMap.class
Binary files differ
diff --git a/svgDevicesTest/build/classes/Rtz/RtzMapComplex.class b/svgDevicesTest/build/classes/Rtz/RtzMapComplex.class
index 06201a3..f8ad6ed 100644
--- a/svgDevicesTest/build/classes/Rtz/RtzMapComplex.class
+++ b/svgDevicesTest/build/classes/Rtz/RtzMapComplex.class
Binary files differ
diff --git a/svgDevicesTest/build/classes/Rtz/mockers/RtzMockerMapComplex.class b/svgDevicesTest/build/classes/Rtz/mockers/RtzMockerMapComplex.class
index 79afc98..8b67e2f 100644
--- a/svgDevicesTest/build/classes/Rtz/mockers/RtzMockerMapComplex.class
+++ b/svgDevicesTest/build/classes/Rtz/mockers/RtzMockerMapComplex.class
Binary files differ
diff --git a/svgDevicesTest/build/classes/svgdevicestest/mock/DeviceMocker.class b/svgDevicesTest/build/classes/svgdevicestest/mock/DeviceMocker.class
index f97868d..05b4411 100644
--- a/svgDevicesTest/build/classes/svgdevicestest/mock/DeviceMocker.class
+++ b/svgDevicesTest/build/classes/svgdevicestest/mock/DeviceMocker.class
Binary files differ
diff --git a/svgDevicesTest/src/AAAMain/SvgDeviceStatusTest.java b/svgDevicesTest/src/AAAMain/SvgDeviceStatusTest.java
index d92c2bc..bb3441f 100644
--- a/svgDevicesTest/src/AAAMain/SvgDeviceStatusTest.java
+++ b/svgDevicesTest/src/AAAMain/SvgDeviceStatusTest.java
@@ -54,7 +54,7 @@
public class SvgDeviceStatusTest
{
- private static final SvgMocker SELECTED_MOCKER = SvgMocker.ParkingUrbiotica;
+ private static final SvgMocker SELECTED_MOCKER = SvgMocker.RTZMapComplex;
public static String mapPath;
diff --git a/svgDevicesTest/src/AccessEnforcement/mockers/AccessEnforcementMockerMap.java b/svgDevicesTest/src/AccessEnforcement/mockers/AccessEnforcementMockerMap.java
index 2233c7b..294d164 100644
--- a/svgDevicesTest/src/AccessEnforcement/mockers/AccessEnforcementMockerMap.java
+++ b/svgDevicesTest/src/AccessEnforcement/mockers/AccessEnforcementMockerMap.java
@@ -1,9 +1,15 @@
package AccessEnforcement.mockers;
+import AccessEnforcement.AccessEnforcementMap;
import Mocker.IDeviceMocker;
-import SpeedEnforcement.SpeedEnforcementMap;
+import art.library.interop.serialization.Serialization;
+import art.library.interop.serialization.SerializationException;
+import art.library.model.devices.Device;
import art.library.model.devices.gost.access.AccessEnforcement;
import devices.mockers.LocalFileDeviceMocker;
+import java.io.File;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import svgdevicestest.mock.*;
public class AccessEnforcementMockerMap extends DeviceMocker implements IDeviceMocker
@@ -22,13 +28,19 @@
@Override
public void updateDevice(boolean active)
{
-
+ try
+ {
+ device = (Device)Serialization.deserialize(AccessEnforcement.class, new File("C:\\Users\\Konstantin\\Desktop\\zpr14.txt"));
+ } catch (SerializationException ex)
+ {
+ Logger.getLogger(AccessEnforcementMockerMap.class.getName()).log(Level.SEVERE, null, ex);
+ }
}
@Override
public String getFilePath()
{
- return "C:\\Users\\Konstantin\\Documents\\LocalBackup\\Obras\\Oviedo\\gost-access-server\\data\\art.servers.gost-access-server\\symbols\\18\\Access.svg";
+ return "D:\\LocalBackup\\servers\\gost-access-server-git\\data\\art.servers.gost-access-server\\symbols\\20\\Access.svg";
}
@Override
@@ -40,6 +52,6 @@
@Override
public Class getScriptClass()
{
- return SpeedEnforcementMap.class;
+ return AccessEnforcementMap.class;
}
}
diff --git a/svgDevicesTest/src/Rtz/RtzMapComplex.java b/svgDevicesTest/src/Rtz/RtzMapComplex.java
index cad8a33..f13ad41 100644
--- a/svgDevicesTest/src/Rtz/RtzMapComplex.java
+++ b/svgDevicesTest/src/Rtz/RtzMapComplex.java
@@ -17,30 +17,29 @@
super(device, commands, diagram);
}
- public void status()
+ public void status()
{
try
{
statusSubcontroller();
- } catch (Exception e)
+ }
+ 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");
@@ -63,7 +62,6 @@
setText("Text offset", "");
setText("Text cycle", "");
setText("Text elapsed", "");
-
try
{
if (art.client.models.Shared.configuration.general.darkMap == true)
@@ -82,85 +80,66 @@
} catch (Exception ex)
{
}
-
-
setAttribute(elapsed1, "display", "none");
setAttribute(elapsed2, "display", "none");
- /* setAttribute(border, "stroke", "#800080");*/
- setAttribute(border, "display", "inline");
+ /* 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, "stroke", "#FFFFFF", 999);
+ setAttribute(background, "fill", "#FFFFFF", 999);
+ setAttribute(ribbon, "stroke", "#FFFFFF", 999);
+ } else
{
- setAttribute(border, "display", "none", 999);
-
+ 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
+ setAttribute(background, "display", "inline");
+ } else
{
- boolean semiactuated = controllerStatus.rtz32.general.semiactuated ;
+ 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)
+ 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)
+ } 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);
-
+ 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(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))
+ 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);
@@ -169,7 +148,7 @@
setAttribute(lock, "fill-opacity", "0.15", 999);
setAttribute(lock, "fill", "#000000", 999);
}
- if (subcontrollerStatus.general.emergency == true)
+ if (subcontrollerStatus.general.emergency == true)
{
setAttribute(emergency, "fill-opacity", "1.0", 999);
} else if (subcontrollerStatus.general.emergency == false)
@@ -177,18 +156,14 @@
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
+ } else
{
setAttribute(remote, "fill-opacity", "0.15", 999);
setAttribute(remote, "fill", "#000000", 999);
@@ -202,87 +177,49 @@
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)
+ /* 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");
+ /*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);
-
+ 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");
+ /* 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");
+ /* 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");
+ /* 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");
+ /* 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");
+ /* 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(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)
+ } 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");
+ /* 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");
+ /* setAttribute(background, "fill", "#00FF00"); setAttribute(ribbon, "stroke", "#00FF00");*/ setAttribute(elapsed2, "fill", "#00FF00");
}
break;
}
@@ -296,31 +233,35 @@
{
}
}
-
if (plan != null)
{
-
String information = "";
-
- if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED)
+ 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)
+ } 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)
+ } 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)
+ } 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)
+ } 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)
+ } 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)
+ } else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_NON_CENTRALIZED)
+ {
information = "NC";
- else
+ } 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:
@@ -339,7 +280,6 @@
information = information + "t";
break;
}
-
setText("Text information", information);
if (plan.offset > 0)
{
@@ -349,13 +289,11 @@
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");
@@ -367,15 +305,12 @@
{
}
}
-
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);
@@ -429,22 +364,17 @@
{
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);
@@ -452,22 +382,14 @@
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);
-
- }
-
-
-// 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);
-//
+ }
}
diff --git a/svgDevicesTest/src/Rtz/mockers/RtzMockerMapComplex.java b/svgDevicesTest/src/Rtz/mockers/RtzMockerMapComplex.java
index 15af223..b51a7ee 100644
--- a/svgDevicesTest/src/Rtz/mockers/RtzMockerMapComplex.java
+++ b/svgDevicesTest/src/Rtz/mockers/RtzMockerMapComplex.java
@@ -2,11 +2,9 @@
import Mocker.IDeviceMocker;
import art.library.interop.serialization.Serialization;
+import art.library.interop.serialization.SerializationException;
import art.library.model.devices.Device;
import art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller;
-import art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation;
-import art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General;
-import devices.mockers.LocalFileDeviceMocker;
import java.io.File;
import java.util.Random;
import svgdevicestest.mock.*;
@@ -15,9 +13,9 @@
{
private final static Random rnd = new Random();
- public RtzMockerMapComplex()
+ public RtzMockerMapComplex() throws SerializationException
{
- super(new LocalFileDeviceMocker<RTZ32_Controller>(RTZ32_Controller.class).getDevice(), new LocalFileDeviceMocker<RTZ32_Controller>(RTZ32_Controller.class).getDevice().getDeviceCommandsEmpty());
+ super((Device)Serialization.deserialize(RTZ32_Controller.class, new File("C:\\Users\\Konstantin\\Desktop\\rtz_svg.txt")));
}
public RtzMockerMapComplex getMocker()
@@ -41,27 +39,27 @@
// information.mode = RTZ32_ControllerInformation.MODE_NON_CENTRALIZED;
// }
- Device d = Serialization.deserialize(RTZ32_Controller.class, new File("C:\\Users\\Konstantin\\Desktop\\rtz.txt"));
-
- RTZ32_Controller controller = (RTZ32_Controller) d;
-
- d.setAlarm("alarm_offline", false);
-
- controller.getDeviceAlarms().rtz32.flashing.alarm_flashing_bus_I2C = 1000;
-
- controller.getDeviceInformation().mode = RTZ32_ControllerInformation.MODE_CENTRALIZED;
-
-// controller.getDeviceStatus().rtz32.centralized = new RTZ32_Status_Centralized();
-// {
-// controller.getDeviceStatus().rtz32.centralized.centralized = false;
-// }
-
- controller.getDeviceStatus().rtz32.general.control = RTZ32_Status_General.CONTROL_LOCAL;
-
- device.status = controller.status;
- device.information = controller.information;
- device.configuration = controller.configuration;
- device.alarms = controller.alarms;
+ Device d = Serialization.deserialize(RTZ32_Controller.class, new File("C:\\Users\\Konstantin\\Desktop\\rtz_svg.txt"));
+ device = d;
+// RTZ32_Controller controller = (RTZ32_Controller) d;
+//
+// d.setAlarm("alarm_offline", false);
+//
+// controller.getDeviceAlarms().rtz32.flashing.alarm_flashing_bus_I2C = 1000;
+//
+// controller.getDeviceInformation().mode = RTZ32_ControllerInformation.MODE_CENTRALIZED;
+//
+//// controller.getDeviceStatus().rtz32.centralized = new RTZ32_Status_Centralized();
+//// {
+//// controller.getDeviceStatus().rtz32.centralized.centralized = false;
+//// }
+//
+// controller.getDeviceStatus().rtz32.general.control = RTZ32_Status_General.CONTROL_LOCAL;
+//
+// device.status = controller.status;
+// device.information = controller.information;
+// device.configuration = controller.configuration;
+// device.alarms = controller.alarms;
//
diff --git a/svgDevicesTest/src/svgdevicestest/mock/DeviceMocker.java b/svgDevicesTest/src/svgdevicestest/mock/DeviceMocker.java
index bf2ea93..f0c904c 100644
--- a/svgDevicesTest/src/svgdevicestest/mock/DeviceMocker.java
+++ b/svgDevicesTest/src/svgdevicestest/mock/DeviceMocker.java
@@ -5,7 +5,7 @@
public abstract class DeviceMocker <T extends Device, Y extends DeviceCommands> {
- public final T device;
+ public T device;
public final Y commands;
public DeviceMocker(T device) {
@@ -14,7 +14,7 @@
}
public DeviceMocker(T device, Y commands) {
- this.device = device;
+ this.device = device;
this.commands = commands;
}
--
Gitblit v1.10.0