|
import art.library.model.devices.Device;
|
import art.library.model.devices.DeviceStatus;
|
import com.kitfox.svg.SVGDiagram;
|
|
public class DeviceGraphicsRuntime_Inforpark_VmsBannerMap extends DeviceGraphicsRuntime {
|
|
public DeviceGraphicsRuntime_Inforpark_VmsBannerMap(art.library.model.devices.Device device, SVGDiagram diagram) {
|
super(device, diagram);
|
}
|
|
public void timer()
|
{
|
Device device = (Device)getDevice();
|
art.library.model.devices.DeviceGraphics graphics = device.getDeviceGraphics();
|
|
|
try
|
{
|
if(graphics.getField("position") == null)
|
{
|
graphics.setField("position", new Integer(0));
|
}
|
|
int position = (int)graphics.getField("position");
|
|
art.library.model.devices.vms.banner.BannerStatus status = (art.library.model.devices.vms.banner.BannerStatus) device.getDeviceStatus();
|
String text = status.rotulosElectronicos.text;
|
|
int fontlength = 8;
|
|
if (text.length() > fontlength)
|
{
|
position = position + 1;
|
|
graphics.setField("position", position) ;
|
|
if (position >= text.length()+3)
|
{
|
graphics.setField("position", 0) ;
|
}
|
|
return;
|
}
|
}
|
catch (Exception e)
|
{
|
}
|
|
graphics.setField("position", 0) ;
|
}
|
|
public void status()
|
{
|
try
|
{
|
|
setAttribute("Font-16-Center", "display", "none");
|
setAttribute("Font-16-Left", "display", "none");
|
setAttribute("Font-16-Right", "display", "none");
|
setAttribute("Reboot", "display", "none");
|
setAttribute("Auto", "display", "none");
|
setAttribute("Background", "fill", "#FF00FF");
|
setAttribute("Background2", "fill", "#FF00FF");
|
setAttribute("Separator", "fill", "#FF00FF");
|
setAttribute("DoubleFieldBanner", "display", "none");
|
setAttribute("lblObert", "display", "none");
|
setAttribute("lblTancat", "display", "none");
|
|
Device device = getDevice();
|
art.library.model.devices.vms.banner.BannerStatus status = (art.library.model.devices.vms.banner.BannerStatus) device.getDeviceStatus();
|
|
|
String foreground = "#800080";
|
String background = "#FF00FF";
|
|
try
|
{
|
switch (status.status)
|
{
|
case DeviceStatus.STATUS_ONLINE:
|
background = "#00FF00";
|
break;
|
case DeviceStatus.STATUS_WARNING:
|
background = "#FFFF00";
|
break;
|
case DeviceStatus.STATUS_ALARM:
|
background = "#FF0000";
|
break;
|
case DeviceStatus.STATUS_INVALID:
|
background = "#B97A57";
|
break;
|
case DeviceStatus.STATUS_DISABLE:
|
background = "#808080";
|
break;
|
case DeviceStatus.STATUS_SIMULATION:
|
background = "#0000FF";
|
break;
|
case DeviceStatus.STATUS_OFFLINE:
|
background = "#FF00FF";
|
break;
|
case DeviceStatus.STATUS_UNKNOWN:
|
background = "#FF00FF";
|
break;
|
}
|
|
setAttribute("Separator", "fill", background);
|
setAttribute("Background", "fill", background);
|
setAttribute("Background", "stroke", background);
|
setAttribute("Background2", "fill", background);
|
setAttribute("Background2", "stroke", background);
|
|
if (status.rotulosElectronicos != null) {
|
switch (status.rotulosElectronicos.foreground)
|
{
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_BLUE:
|
foreground = "#0000FF";
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_CYAN:
|
foreground = "#00FFFF";
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_GREEN:
|
foreground = "#00FF00";
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_PURPLE:
|
foreground = "#FF00FF0";
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_RED:
|
foreground = "#FF0000";
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_WHITE:
|
foreground = "#FFFFFF";
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_YELLOW:
|
foreground = "#FFFF00";
|
break;
|
default:
|
foreground = "#FFFFFF";
|
break;
|
}
|
|
if(status.status == DeviceStatus.STATUS_OFFLINE) foreground = background;
|
|
if (status.rotulosElectronicos.state != art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.STATE_UNKNOWN) {
|
|
setAttribute("DoubleFieldBanner", "display", "inline");
|
|
switch (status.rotulosElectronicos.state) {
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.STATE_OPEN:
|
setAttribute("lblObert", "display", "inline");
|
break;
|
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.STATE_CLOSE:
|
setAttribute("lblTancat", "display", "inline");
|
break;
|
}
|
}
|
|
}
|
|
}
|
catch (Exception e)
|
{
|
}
|
try
|
{
|
|
|
art.library.model.devices.DeviceGraphics graphics = device.getDeviceGraphics();
|
|
int position = (int)graphics.getField("position");
|
|
if (status.rotulosElectronicos != null )
|
{
|
|
if(status.rotulosElectronicos.text == null) status.rotulosElectronicos.text = " ";
|
|
|
String fontsize = "Font-16-Center";
|
int fontlength = 8;
|
|
String text = status.rotulosElectronicos.text;
|
|
if (text.length() > fontlength)
|
{
|
text = text + " " + text;
|
text = text.substring(position, position+fontlength);
|
|
setText(fontsize, text);
|
|
|
}
|
else
|
{
|
switch(status.rotulosElectronicos.horizontalAlignment)
|
{
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.ALIGNMENT_HORIZONTAL_LEFT: fontsize = fontsize = "Font-"+fontsize.split("-")[1]+"-Left"; break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.ALIGNMENT_HORIZONTAL_RIGHT: fontsize = "Font-"+fontsize.split("-")[1]+"-Right"; break;
|
default : fontsize = "Font-"+fontsize.split("-")[1]+"-Center"; break;
|
}
|
|
setText(fontsize, text);
|
|
}
|
|
setAttribute(fontsize, "fill", foreground);
|
setAttribute(fontsize, "display", "inline");
|
|
}
|
}
|
catch (Exception e)
|
{
|
}
|
}
|
catch (Exception e)
|
{
|
}
|
}
|
|
public void commands()
|
{
|
try
|
{
|
setAttribute("Font-16-Center", "display", "none");
|
setAttribute("Font-16-Left", "display", "none");
|
setAttribute("Font-16-Right", "display", "none");
|
setAttribute("Reboot", "display", "none");
|
setAttribute("Auto", "display", "none");
|
setAttribute("Background", "fill", "#FF00FF");
|
setAttribute("Background2", "fill", "#FF00FF");
|
setAttribute("Separator", "fill", "#FF00FF");
|
setAttribute("DoubleFieldBanner", "display", "none");
|
setAttribute("lblObert", "display", "none");
|
setAttribute("lblTancat", "display", "none");
|
|
art.library.model.devices.vms.banner.BannerCommands deviceCommands = (art.library.model.devices.vms.banner.BannerCommands)getDeviceCommands();
|
art.library.model.devices.vms.banner.BannerInformation deviceInformation = (art.library.model.devices.vms.banner.BannerInformation)device.getDeviceInformation();
|
|
|
String foreground = "#000000";
|
|
if (deviceInformation.rotulosElectronicos.teltonika!= null)
|
{
|
setAttribute("DoubleFieldBanner", "display", "inline");
|
}
|
|
try
|
{
|
|
setAttribute("Background", "fill", "#00FF00");
|
setAttribute("Background", "stroke", "#00FF00");
|
setAttribute("Background2", "fill", "#00FF00");
|
setAttribute("Background2", "stroke", "#00FF00");
|
setAttribute("Separator", "fill", "#00FF00");
|
|
switch (deviceCommands.operationMode)
|
{
|
case art.library.model.devices.vms.banner.BannerCommands.OPERATION_AUTOMATIC:
|
setAttribute("Auto", "display", "inline");
|
|
return;
|
|
}
|
|
switch (deviceCommands.reset) {
|
case art.library.model.devices.vms.banner.BannerCommands.CONDITION_YES:
|
setAttribute("Reboot", "display", "inline");
|
|
return;
|
}
|
|
switch (deviceCommands.state) {
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.STATE_OPEN:
|
setAttribute("lblObert", "display", "inline");
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.STATE_CLOSE:
|
setAttribute("lblTancat", "display", "inline");
|
break;
|
|
}
|
|
|
if (deviceCommands.rotulosElectronicos != null)
|
{
|
switch (deviceCommands.rotulosElectronicos.foreground)
|
{
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_BLUE: foreground = "#0000FF"; break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_CYAN: foreground = "#00FFFF"; break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_GREEN: foreground = "#00FF00"; break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_PURPLE: foreground = "#FF00FF0"; break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_RED: foreground = "#FF0000"; break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_WHITE: foreground = "#FFFFFF"; break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.COLOR_YELLOW:foreground = "#FFFF00"; break;
|
default:foreground = "#FFFFFF"; break;
|
}
|
}
|
}
|
catch (Exception e)
|
{
|
}
|
|
try
|
{
|
if (deviceCommands.rotulosElectronicos != null && deviceCommands.operationMode == art.library.model.devices.vms.banner.BannerCommands.OPERATION_MANUAL)
|
{
|
|
|
|
String fontsize = "Font-16-Center";
|
int fontlength = 8;
|
|
|
String text = deviceCommands.rotulosElectronicos.text;
|
|
if (text.length() > fontlength)
|
{
|
setText(fontsize, text.substring(0,fontlength));
|
}
|
else
|
{
|
switch (deviceCommands.rotulosElectronicos.horizontalAlignment)
|
{
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.ALIGNMENT_HORIZONTAL_LEFT:
|
fontsize = fontsize = "Font-" + fontsize.split("-")[1] + "-Left";
|
break;
|
case art.library.model.devices.vms.banner.status.BannerRotulosElectronicosStatus.ALIGNMENT_HORIZONTAL_RIGHT:
|
fontsize = "Font-" + fontsize.split("-")[1] + "-Right";
|
break;
|
default:
|
fontsize = "Font-" + fontsize.split("-")[1] + "-Center";
|
break;
|
}
|
|
setText(fontsize, text);
|
}
|
setAttribute(fontsize, "fill", foreground);
|
setAttribute(fontsize, "display", "inline");
|
|
}
|
|
|
|
}
|
catch (Exception e)
|
{
|
}
|
|
|
}
|
catch (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);
|
}
|