package LightStuds;
|
|
import art.library.model.devices.DeviceGraphicsRuntime;
|
import com.kitfox.svg.SVGDiagram;
|
import com.kitfox.svg.SVGElement;
|
|
|
public class LightStudsStatusAspect extends DeviceGraphicsRuntime
|
{
|
|
public LightStudsStatusAspect(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.Device device = getDevice();
|
art.library.model.devices.lighting.lightstuds.LightStudsStatus status = (art.library.model.devices.lighting.lightstuds.LightStudsStatus) device.getDeviceStatus(); art.library.model.devices.lighting.lightstuds.LightStudsAlarms alarms = (art.library.model.devices.lighting.lightstuds.LightStudsAlarms) device.getDeviceAlarms();
|
|
setAttribute("light-on", "display", "none", 999);
|
setAttribute("Auto", "display", "none", 999);
|
setAttribute("Manual", "display", "none", 999);
|
|
String lightColor = "#646464";
|
|
for (int i = 0; i <= 5; i++)
|
{
|
setAttribute("alarm-" + i, "display", (alarms.getServerityAlarm() == i) ? "inline" : "none", 999);
|
}
|
|
if (status.BUSVAO != null)
|
{
|
switch (status.BUSVAO.status)
|
{
|
case art.library.model.devices.lighting.lightstuds.status.LightStudsStatus_BUSVAO.STATUS_MANUAL:
|
setAttribute("light-on", "display", "inline", 999);
|
setAttribute("Manual", "display", "inline", 999);
|
break;
|
case art.library.model.devices.lighting.lightstuds.status.LightStudsStatus_BUSVAO.STATUS_AUTOMATIC:
|
setAttribute("light-on", "display", "inline", 999);
|
setAttribute("Auto", "display", "inline", 999);
|
break;
|
}
|
}
|
|
if (status.BUSVAO.circuits != null)
|
{
|
for (art.library.model.devices.lighting.lightstuds.status.LightStudsStatus_BUSVAO_Circuit circuit : status.BUSVAO.circuits)
|
{
|
if (circuit.status == art.library.model.devices.lighting.lightstuds.status.LightStudsStatus_BUSVAO_Circuit.STATUS_ON)
|
{
|
int brightNessLevel = circuit.brightnessLevel;
|
|
java.awt.Color colorBrightness = new java.awt.Color(60, 60, 0);
|
|
for (int i = 0; i < brightNessLevel; i++)
|
{
|
colorBrightness = colorBrightness.brighter();
|
}
|
|
lightColor = "#" + Integer.toHexString(colorBrightness.getRGB()).substring(2);
|
}
|
}
|
}
|
|
setAttribute("Baliza_izq", "fill", lightColor, 999);
|
setAttribute("Baliza_drch", "fill", lightColor, 999);
|
|
} catch (Exception ex)
|
{
|
}
|
}
|
|
public void commands()
|
{
|
art.library.model.devices.vms.asf.AsfCommands deviceCommands = (art.library.model.devices.vms.asf.AsfCommands) getDeviceCommands();
|
SVGElement arrow = getElement("arrow");
|
SVGElement cross = getElement("cross");
|
SVGElement arrowRight = getElement("arrow-right");
|
SVGElement arrowLeft = getElement("arrow-left");
|
SVGElement dynamicElements = getElement("elements");
|
setAttribute("lock-on", "display", "inline", 999);
|
setAttribute("restart", "display", "inline", 999);
|
setAttribute("unlock", "display", "inline", 999);
|
setAttribute(dynamicElements, "display", "none", 999);
|
SVGElement showElement = null;
|
switch (deviceCommands.state)
|
{
|
case art.library.model.devices.vms.asf.AsfCommands.STATE_ARROW:
|
showElement = arrow;
|
break;
|
case art.library.model.devices.vms.asf.AsfCommands.STATE_CROSS:
|
showElement = cross;
|
break;
|
case art.library.model.devices.vms.asf.AsfCommands.STATE_OFF:
|
break;
|
case art.library.model.devices.vms.asf.AsfCommands.STATE_LEFT:
|
showElement = arrowLeft;
|
break;
|
case art.library.model.devices.vms.asf.AsfCommands.STATE_RIGHT:
|
showElement = arrowRight;
|
break;
|
case art.library.model.devices.vms.asf.AsfCommands.STATE_FLASHING_LEFT:
|
showElement = (flashOn) ? arrowLeft : null;
|
break;
|
case art.library.model.devices.vms.asf.AsfCommands.STATE_FLASHING_RIGHT:
|
showElement = (flashOn) ? arrowRight : null;
|
break;
|
}
|
if (showElement != null)
|
{
|
setAttribute(showElement, "display", "inline", 999);
|
}
|
if (deviceCommands.reset != art.library.model.devices.vms.asf.AsfCommands.CONDITION_YES)
|
{
|
setAttribute("restart", "display", "none", 999);
|
}
|
if (deviceCommands.liberate != art.library.model.devices.vms.asf.AsfCommands.CONDITION_YES)
|
{
|
setAttribute("unlock", "display", "none", 999);
|
}
|
if (deviceCommands.priority < 256)
|
{
|
setAttribute("lock-on", "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);
|
//
|
}
|