/*
|
* To change this license header, choose License Headers in Project Properties.
|
* To change this template file, choose Tools | Templates
|
* and open the template in the editor.
|
*/
|
package VentilationZone;
|
|
import art.library.model.devices.Device;
|
import art.library.model.devices.DeviceGraphicsRuntime;
|
import art.library.model.devices.DeviceStatus;
|
import com.kitfox.svg.SVGDiagram;
|
import com.kitfox.svg.SVGElement;
|
|
/**
|
*
|
* @author Konstantin
|
*/
|
public class VentilationZoneMapNoHide extends DeviceGraphicsRuntime
|
{
|
|
public VentilationZoneMapNoHide(art.library.model.devices.Device device, SVGDiagram diagram)
|
{
|
super(device, diagram);
|
}
|
|
|
public void status()
|
{
|
try
|
{
|
Device device = getDevice();
|
art.library.model.devices.tunnel.ventilationzone.VentilationZoneStatus status = (art.library.model.devices.tunnel.ventilationzone.VentilationZoneStatus) device.getDeviceStatus();
|
art.library.model.devices.tunnel.ventilationzone.VentilationZoneInformation information = (art.library.model.devices.tunnel.ventilationzone.VentilationZoneInformation) device.getDeviceInformation();
|
art.library.model.devices.tunnel.ventilationzone.VentilationZoneAlarms alarms = (art.library.model.devices.tunnel.ventilationzone.VentilationZoneAlarms) device.getDeviceAlarms();
|
setAttribute("SVG", "display", "inline", 999);
|
SVGElement background = getElement("Background");
|
SVGElement border = getElement("Border");
|
SVGElement alarm = getElement("Alarm");
|
SVGElement text = getElement("Text number");
|
SVGElement textLevel = getElement("Text Level");
|
SVGElement iconPositive = getElement("IconPositive");
|
SVGElement iconNegative = getElement("IconNegative");
|
SVGElement iconDeactivated = getElement("IconDeactivated");
|
setText("Text number", String.valueOf(information.number));
|
setAttribute(textLevel, "display", "inline", 999);
|
setText("Text Level", String.format("%01d", status.currentLevel).replace("-", ""));
|
setAttribute(background, "fill", "#00FF00");
|
setAttribute(border, "stroke", "#800080");
|
setAttribute(alarm, "display", "none");
|
setAttribute(iconPositive, "fill", "#007C00", 999);
|
setAttribute(iconNegative, "fill", "#007C00", 999);
|
setAttribute(iconDeactivated, "display", "none", 999);
|
setAttribute(iconNegative, "display", "none", 999);
|
setAttribute(iconPositive, "display", "none", 999);
|
setAttribute("mode", "display", "inline");
|
|
String textMode = "?";
|
|
if (status.mode == art.library.model.devices.tunnel.ventilationzone.VentilationZoneStatus.VENTILATION_ZONE_MODE_AUTO)
|
textMode = "A";
|
else if(status.mode == art.library.model.devices.tunnel.ventilationzone.VentilationZoneStatus.VENTILATION_ZONE_MODE_FORCED)
|
textMode = "F";
|
else if(status.mode == art.library.model.devices.tunnel.ventilationzone.VentilationZoneStatus.VENTILATION_ZONE_MODE_MANUAL)
|
textMode = "M";
|
|
setText("mode", textMode);
|
|
try
|
{
|
switch (status.status)
|
{
|
case DeviceStatus.STATUS_ONLINE:
|
break;
|
case DeviceStatus.STATUS_WARNING:
|
break;
|
case DeviceStatus.STATUS_ALARM:
|
setAttribute(background, "fill", "#00FF00");
|
setAttribute(iconNegative, "fill", "#007C00", 999);
|
setAttribute(iconPositive, "fill", "#007C00", 999);
|
setAttribute(border, "stroke", "#007C00", 999);
|
break;
|
case DeviceStatus.STATUS_DISABLE:
|
setAttribute(background, "fill", "#0000FF");
|
setAttribute(iconNegative, "fill", "#000080");
|
setAttribute(iconPositive, "fill", "#000080");
|
setAttribute(border, "stroke", "#000080");
|
break;
|
case DeviceStatus.STATUS_SIMULATION:
|
setAttribute(background, "fill", "#B97A57");
|
setAttribute(iconNegative, "fill", "#5A3B2A");
|
setAttribute(iconPositive, "fill", "#5A3B2A");
|
setAttribute(border, "stroke", "#5A3B2A");
|
break;
|
case DeviceStatus.STATUS_INVALID:
|
case DeviceStatus.STATUS_OFFLINE:
|
case DeviceStatus.STATUS_UNKNOWN:
|
setAttribute(background, "fill", "#FF00FF");
|
return;
|
}
|
} catch (Exception e)
|
{
|
}
|
try
|
{
|
double strokeopacity = Math.pow(2, alarms.getServerityAlarm()) / 32;
|
if (alarms.getServerityAlarm() > 0)
|
{
|
setAttribute(alarm, "stroke", "#FF0000");
|
setAttribute(alarm, "stroke-opacity", strokeopacity);
|
setAttribute(alarm, "display", "inline");
|
} else
|
{
|
setAttribute(border, "stroke", "#007C00");
|
setAttribute(border, "display", "inline");
|
setAttribute(border, "stroke-opacity", 1.0);
|
}
|
} catch (Exception e)
|
{
|
}
|
try
|
{
|
if (status.currentLevel > 0)
|
{
|
setAttribute(iconNegative, "display", "none", 999);
|
setAttribute(iconPositive, "display", "inline", 999);
|
} else if (status.currentLevel < 0)
|
{
|
setAttribute(iconPositive, "display", "none", 999);
|
setAttribute(iconNegative, "display", "inline", 999);
|
} else
|
{
|
setAttribute(iconDeactivated, "display", "inline");
|
setAttribute(background, "fill", "#808080");
|
setAttribute(border, "stroke", "#404040");
|
setAttribute(iconDeactivated, "fill", "#404040");
|
setAttribute(textLevel, "display", "none", 999);
|
setAttribute(iconPositive, "display", "none", 999);
|
setAttribute(iconNegative, "display", "none", 999);
|
}
|
} catch (Exception e)
|
{
|
}
|
} catch (Exception e)
|
{
|
}
|
}
|
}
|