|
import art.library.model.devices.Device;
|
import art.library.model.devices.DeviceCommands;
|
import art.library.model.devices.DeviceStatus;
|
import com.kitfox.svg.SVGDiagram;
|
import com.kitfox.svg.SVGElement;
|
|
|
public class DeviceGraphicsRuntime_Semaphore_map_noHide extends DeviceGraphicsRuntime
|
{
|
|
public DeviceGraphicsRuntime_Semaphore_map_noHide(art.library.model.devices.Device device, SVGDiagram diagram)
|
{
|
super(device, diagram);
|
}
|
|
private static boolean flashOn = false;
|
|
public void timer()
|
{
|
flashOn = !flashOn;
|
status();
|
}
|
|
public void status()
|
{
|
|
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;
|
|
Device device = getDevice();
|
art.library.model.devices.DeviceStatus status = ( art.library.model.devices.DeviceStatus) device.getDeviceStatus();
|
art.library.model.devices.DeviceAlarms alarms = (art.library.model.devices.DeviceAlarms) device.getDeviceAlarms();
|
art.library.model.devices.tunnel.semaphore.SemaphoreStatus semStatus = (art.library.model.devices.tunnel.semaphore.SemaphoreStatus) status;
|
String color1 = "#000000";
|
String color2 = "#000000";
|
|
switch (status.status)
|
{
|
case DeviceStatus.STATUS_ONLINE:
|
color1 = "#00FF00";
|
color2 = "#007C00";
|
break;
|
case DeviceStatus.STATUS_WARNING:
|
color1 = "#FFFF00";
|
color2 = "#7C7C00";
|
break;
|
case DeviceStatus.STATUS_ALARM:
|
color1 = "#FF0000";
|
color2 = "#7C0000";
|
break;
|
case DeviceStatus.STATUS_INVALID:
|
color1 = "#B97A57";
|
color2 = "#5A3B2A";
|
break;
|
case DeviceStatus.STATUS_DISABLE:
|
color1 = "#7C7C7C";
|
color2 = "#3E3E3E";
|
break;
|
case DeviceStatus.STATUS_SIMULATION:
|
color1 = "#0000FF";
|
color2 = "#00007C";
|
break;
|
case DeviceStatus.STATUS_OFFLINE:
|
color1 = "#FF00FF";
|
color2 = "#7C007C";
|
setAttribute("alarm", "display", "none", 999);
|
break;
|
case DeviceStatus.STATUS_UNKNOWN:
|
color1 = "#FF00FF";
|
color2 = "#7C007C";
|
setAttribute("alarm", "display", "none", 999);
|
break;
|
}
|
|
|
setAttribute("light_colors_up", "fill", "#000000");
|
setAttribute("light_colors_middle", "fill", "#000000");
|
setAttribute("light_colors_down", "fill","#000000");
|
|
switch (semStatus.state)
|
{
|
case art.library.model.devices.tunnel.semaphore.SemaphoreStatus.SEMAPHORE_STATE_OFF:
|
color1 = "#7C7C7C";
|
color2 = "#3E3E3E";
|
setAttribute("Icon", "fill", color2);
|
break;
|
case art.library.model.devices.tunnel.semaphore.SemaphoreStatus.SEMAPHORE_STATE_GREEN:
|
setAttribute("Icon", "fill","#007C00");
|
setAttribute("light_colors_down", "fill","#00FF00");
|
break;
|
case art.library.model.devices.tunnel.semaphore.SemaphoreStatus.SEMAPHORE_STATE_RED:
|
setAttribute("Icon", "fill","#7C0000");
|
setAttribute("light_colors_up", "fill","#FF0000");
|
break;
|
case art.library.model.devices.tunnel.semaphore.SemaphoreStatus.SEMAPHORE_STATE_YELLOW:
|
setAttribute("Icon", "fill","#DFE300");
|
setAttribute("light_colors", "fill", "#000000");
|
setAttribute("light_colors_middle", "fill", "#949600");
|
break;
|
case art.library.model.devices.tunnel.semaphore.SemaphoreStatus.SEMAPHORE_STATE_FLASHING_YELLOW:
|
setAttribute("Icon", "fill","#DFE300");
|
setAttribute("light_colors_middle", "fill", even ? "#949600" : "#000000");
|
break;
|
}
|
setAttribute("background", "fill", color1, 999);
|
setAttribute("border", "stroke", color2, 999);
|
setAttribute("alarm", "stroke", color1, 999);
|
setAttribute(getElement("alarm"), "stroke-width", device.getServerityAlarm(), 999);
|
setText("Information text", String.valueOf(device.getDeviceInformation().number));
|
}
|
|
public void commands()
|
{
|
DeviceCommands deviceCommands = getDeviceCommands();
|
String color1 = "#0000FF";
|
String color2 = "#00007C";
|
if (!deviceCommands.isEmpty())
|
{
|
color1 = "#00FF00";
|
color2 = "#007C00";
|
}
|
setText("Information text", String.valueOf(device.getDeviceInformation().number));
|
setAttribute("text", "display", "none", 999);
|
setAttribute(getElement("alarm"), "stroke-width", 0, 999);
|
setAttribute("Border", "stroke", color2);
|
}
|
|
// 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);
|
//
|
}
|