|
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;
|
import java.awt.Color;
|
|
|
public class DeviceGraphicsRuntime_Semaphore_status_aspect extends DeviceGraphicsRuntime
|
{
|
|
public DeviceGraphicsRuntime_Semaphore_status_aspect(art.library.model.devices.Device device, SVGDiagram diagram)
|
{
|
super(device, diagram);
|
}
|
|
private boolean flashOn = false;
|
|
public void timer()
|
{
|
flashOn = !flashOn;
|
status();
|
}
|
|
public void status()
|
{
|
try
|
{
|
art.library.model.devices.tunnel.semaphore.SemaphoreStatus deviceStatus = (art.library.model.devices.tunnel.semaphore.SemaphoreStatus) device.getDeviceStatus();
|
art.library.model.devices.DeviceAlarms alarms = (art.library.model.devices.DeviceAlarms) device.getDeviceAlarms();
|
|
setAttribute("redSphere", "display", "none");
|
setAttribute("yellowSphere", "display", "none");
|
setAttribute("greenSphere", "display", "none");
|
|
for (int i = 0; i <= 5; i++)
|
setAttribute("alarm-" + i, "display", (alarms.getServerityAlarm() == i) ? "inline" : "none", 999);
|
|
switch (deviceStatus.state)
|
{
|
case art.library.model.devices.tunnel.semaphore.SemaphoreStatus.SEMAPHORE_STATE_RED:
|
setAttribute("redSphere", "display", "inline");
|
break;
|
case art.library.model.devices.tunnel.semaphore.SemaphoreStatus.SEMAPHORE_STATE_YELLOW:
|
setAttribute("yellowSphere", "display", "inline");
|
break;
|
case art.library.model.devices.tunnel.semaphore.SemaphoreStatus.SEMAPHORE_STATE_GREEN:
|
setAttribute("greenSphere", "display", "inline");
|
break;
|
case art.library.model.devices.tunnel.semaphore.SemaphoreStatus.SEMAPHORE_STATE_FLASHING_YELLOW:
|
if (flashOn)
|
{
|
setAttribute("yellowSphere", "display", "inline");
|
}
|
break;
|
}
|
} catch (java.lang.Exception e)
|
{
|
}
|
}
|
// java.io.StringWriter sw = new java.io.StringWriter();
|
// art.library.gui.flat.FlatDialog.showDialog(null, "Error", e.getMessage() + "\n\n" + sw.toString(), true, art.library.gui.flat.FlatDialog.DIALOG_ERROR);
|
//
|
}
|