package JetFan;
|
|
|
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;
|
|
|
public class DeviceGraphicsRuntime_JetFan_Map extends DeviceGraphicsRuntime
|
{
|
|
public DeviceGraphicsRuntime_JetFan_Map(art.library.model.devices.Device device, SVGDiagram diagram)
|
{
|
super(device, diagram);
|
}
|
|
public void status()
|
{
|
try
|
{
|
Device device = getDevice();
|
art.library.model.devices.tunnel.jetfan.JetFanStatus status = (art.library.model.devices.tunnel.jetfan.JetFanStatus) device.getDeviceStatus();
|
art.library.model.devices.tunnel.jetfan.JetFanInformation information = (art.library.model.devices.tunnel.jetfan.JetFanInformation) device.getDeviceInformation();
|
art.library.model.devices.tunnel.jetfan.JetFanAlarms alarms = (art.library.model.devices.tunnel.jetfan.JetFanAlarms) device.getDeviceAlarms();
|
SVGElement background = getElement("Background");
|
SVGElement border = getElement("Border");
|
SVGElement alarm = getElement("Alarm");
|
SVGElement icon = getElement("Icon");
|
SVGElement text = getElement("Text Number");
|
setText("Text number", "" + information.number);
|
setAttribute(background, "fill", "#00FF00");
|
setAttribute(border, "stroke", "#800080");
|
setAttribute(alarm, "display", "none");
|
setAttribute(icon, "fill", "#800080", 999);
|
try
|
{
|
switch (status.status)
|
{
|
case DeviceStatus.STATUS_ALARM:
|
case DeviceStatus.STATUS_ONLINE:
|
{
|
setAttribute(background, "fill", "#00FF00");
|
setAttribute(icon, "fill", "#008000");
|
setAttribute(border, "stroke", "#008000");
|
if (status.state == art.library.model.devices.tunnel.jetfan.JetFanStatus.JETFAN_STATE_DIRECT || status.state == art.library.model.devices.tunnel.jetfan.JetFanStatus.JETFAN_STATE_REVERSE)
|
{
|
setAttribute(background, "fill", "#00FF00");
|
setAttribute(icon, "fill", "#008000");
|
setAttribute(border, "stroke", "#008000");
|
} else if (status.state == art.library.model.devices.tunnel.jetfan.JetFanStatus.JETFAN_STATE_DIRECT_STARTING_TIMING
|
|| status.state == art.library.model.devices.tunnel.jetfan.JetFanStatus.JETFAN_STATE_REVERSE_STARTING_TIMING
|
|| status.state == art.library.model.devices.tunnel.jetfan.JetFanStatus.JETFAN_STATE_OFF_STARTING_TIMING)
|
{
|
setAttribute(background, "fill", "#ffff00");
|
setAttribute(icon, "fill", "#5A3B2A");
|
setAttribute(border, "stroke", "#5A3B2A");
|
} else if (status.state == art.library.model.devices.tunnel.jetfan.JetFanStatus.JETFAN_STATE_OFF)
|
{
|
if (alarms.getServerityAlarm() > 0)
|
{
|
setAttribute(background, "fill", "#808080");
|
setAttribute(icon, "fill", "#404040");
|
setAttribute(border, "stroke", "#404040");
|
} else
|
{
|
setAttribute(background, "display", "none");
|
setAttribute(border, "display", "none");
|
setAttribute(alarm, "display", "none");
|
setAttribute(icon, "display", "none");
|
setText("Text number", "");
|
}
|
}
|
break;
|
}
|
case DeviceStatus.STATUS_WARNING:
|
break;
|
case DeviceStatus.STATUS_DISABLE:
|
setAttribute(background, "fill", "#0000FF");
|
setAttribute(icon, "fill", "#000080");
|
setAttribute(border, "stroke", "#000080");
|
break;
|
case DeviceStatus.STATUS_SIMULATION:
|
setAttribute(background, "fill", "#B97A57");
|
setAttribute(icon, "fill", "#5A3B2A");
|
setAttribute(border, "stroke", "#5A3B2A");
|
break;
|
case DeviceStatus.STATUS_INVALID:
|
case DeviceStatus.STATUS_OFFLINE:
|
case DeviceStatus.STATUS_UNKNOWN:
|
setAttribute(background, "fill", "#FF00FF");
|
setAttribute(icon, "fill", "#800080");
|
setAttribute(border, "stroke", "#800080");
|
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");
|
setAttribute(border, "stroke-width", 0.75 + (0.3 * strokeopacity));
|
} else
|
{
|
if (status.state != art.library.model.devices.tunnel.jetfan.JetFanStatus.JETFAN_STATE_OFF)
|
{
|
setAttribute(border, "display", "inline");
|
setAttribute(border, "stroke-width", 6.5);
|
setAttribute(border, "stroke-opacity", 1.0);
|
setAttribute(border, "stroke-width", 0.75);
|
}
|
}
|
} catch (Exception e)
|
{
|
}
|
} catch (Exception e)
|
{
|
}
|
}
|
|
public void commands()
|
{
|
|
art.library.model.devices.tunnel.jetfan.JetFanCommands commands = (art.library.model.devices.tunnel.jetfan.JetFanCommands) getDeviceCommands();
|
|
String commandBackground = "#9E9E9E";
|
String commandWindFlow = "#88A1EB";
|
|
setAttribute("direct", "display", (commands.state == art.library.model.devices.tunnel.jetfan.JetFanCommands.STATE_DIRECT) ? "inline" : "none");
|
setAttribute("reverse", "display", (commands.state == art.library.model.devices.tunnel.jetfan.JetFanCommands.STATE_REVERSE) ? "inline" : "none");
|
setAttribute("restart_hours", "display", (commands.resetWorkingHours == art.library.model.devices.tunnel.jetfan.JetFanCommands.CONDITION_YES) ? "inline" : "none");
|
setAttribute("restart_starts", "display", (commands.resetStartsNumber == art.library.model.devices.tunnel.jetfan.JetFanCommands.CONDITION_YES) ? "inline" : "none");
|
setAttribute("restart_stops", "display", (commands.resetStopsNumber == art.library.model.devices.tunnel.jetfan.JetFanCommands.CONDITION_YES) ? "inline" : "none");
|
|
setAttribute("background", "fill", commandBackground);
|
setAttribute("direct", "fill", commandWindFlow);
|
setAttribute("reverse", "fill", commandWindFlow);
|
|
}
|
// 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);
|
//
|
}
|