package Citilux;
|
|
import art.library.model.devices.Device;
|
import art.library.model.devices.DeviceCommands;
|
import art.library.model.devices.DeviceGraphicsRuntime;
|
import com.kitfox.svg.SVGDiagram;
|
|
|
public class CitiluxMap extends DeviceGraphicsRuntime
|
{
|
|
public CitiluxMap(art.library.model.devices.Device device, SVGDiagram diagram)
|
{
|
super(device, diagram);
|
}
|
|
public CitiluxMap(art.library.model.devices.Device device, art.library.model.devices.DeviceCommands deviceCommands, SVGDiagram diagram)
|
{
|
super(device, deviceCommands, diagram);
|
}
|
|
private boolean flashOn = false;
|
public void timer()
|
{
|
flashOn = !flashOn;
|
status();
|
}
|
|
public void status()
|
{
|
try
|
{
|
Device device = getDevice();
|
art.library.model.devices.lighting.citilux.Citilux citilux = (art.library.model.devices.lighting.citilux.Citilux) device;
|
art.library.model.devices.lighting.citilux.CitiluxStatus citiluxStatus = (art.library.model.devices.lighting.citilux.CitiluxStatus) device.getDeviceStatus();
|
|
String color1 = "#000000";
|
String color2 = "#000000";
|
|
boolean unknownStatus = false;
|
|
switch (citiluxStatus.status)
|
{
|
case art.library.model.devices.DeviceStatus.STATUS_ONLINE:
|
color1 = "#00FF00";
|
color2 = "#007C00";
|
break;
|
case art.library.model.devices.DeviceStatus.STATUS_WARNING:
|
color1 = "#FFFF00";
|
color2 = "#7C7C00";
|
break;
|
case art.library.model.devices.DeviceStatus.STATUS_ALARM:
|
color1 = "#FF0000";
|
color2 = "#7C0000";
|
break;
|
case art.library.model.devices.DeviceStatus.STATUS_INVALID:
|
color1 = "#B97A57";
|
color2 = "#5A3B2A";
|
break;
|
case art.library.model.devices.DeviceStatus.STATUS_DISABLE:
|
color1 = "#7C7C7C";
|
color2 = "#3E3E3E";
|
break;
|
case art.library.model.devices.DeviceStatus.STATUS_SIMULATION:
|
color1 = "#0000FF";
|
color2 = "#00007C";
|
break;
|
case art.library.model.devices.DeviceStatus.STATUS_OFFLINE:
|
case art.library.model.devices.DeviceStatus.STATUS_UNKNOWN:
|
color1 = "#FF00FF";
|
color2 = "#7C007C";
|
unknownStatus = true;
|
break;
|
}
|
|
setText("Information text", String.format("%1$04d", device.getDeviceInformation().number));
|
setAttribute("Aura", "display", "none", 999);
|
|
if(!unknownStatus)
|
{
|
try
|
{
|
switch (citiluxStatus.measurements.maneveurs.installationState)
|
{
|
case art.library.model.devices.lighting.citilux.status.CitiluxStatus_Measurements_Maneuvers.INSTALLATION_STATE_NORMAL:
|
setAttribute("Aura", "display", "inline", 999);
|
setAttribute("Aura", "stroke", "#00FF00", 999);
|
break;
|
case art.library.model.devices.lighting.citilux.status.CitiluxStatus_Measurements_Maneuvers.INSTALLATION_STATE_OFF_SPECIAL_ON:
|
setAttribute("Aura", "display", "inline", 999);
|
setAttribute("Aura", "stroke", "#FF8000", 999);
|
break;
|
case art.library.model.devices.lighting.citilux.status.CitiluxStatus_Measurements_Maneuvers.INSTALLATION_STATE_SAVING1:
|
case art.library.model.devices.lighting.citilux.status.CitiluxStatus_Measurements_Maneuvers.INSTALLATION_STATE_SAVING2:
|
case art.library.model.devices.lighting.citilux.status.CitiluxStatus_Measurements_Maneuvers.INSTALLATION_STATE_SAVING3:
|
setAttribute("Aura", "display", "inline", 999);
|
setAttribute("Aura", "stroke", "#FFFF00", 999);
|
break;
|
}
|
} catch (Exception ex)
|
{
|
}
|
}
|
|
setAttribute("Icon", "display", "inline");
|
setAttribute("Icon", "fill", color2, 999);
|
setAttribute("Background", "fill", color1);
|
setAttribute("Border", "stroke", color2);
|
|
} catch (Exception ex)
|
{
|
|
}
|
}
|
|
public void commands()
|
{
|
DeviceCommands deviceCommands = getDeviceCommands();
|
String color1 = "#0000FF";
|
String color2 = "#00007C";
|
if (!deviceCommands.isEmpty())
|
{
|
color1 = "#00FF00";
|
color2 = "#007C00";
|
}
|
setText("Information text", String.format("%1$04d", device.getDeviceInformation().number));
|
setAttribute("Icon", "display", "inline");
|
setAttribute("Icon", "fill", color2);
|
setAttribute("Background", "fill", color1);
|
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);
|
//
|
}
|