import com.kitfox.svg.SVGDiagram; public class DeviceGraphicsRuntime_Inforpark_VmsBanner_Actions extends DeviceGraphicsRuntime { public DeviceGraphicsRuntime_Inforpark_VmsBanner_Actions(art.library.model.devices.Device device, SVGDiagram diagram) { super(device, diagram); } private int position = 0; public void timer() { try { art.library.model.devices.vms.banner.BannerCommands deviceCommands = (art.library.model.devices.vms.banner.BannerCommands) getDeviceCommands(); String text = deviceCommands.rotulosElectronicos.text; int fontlength = 10; if (deviceCommands.rotulosElectronicos.fontSize == 2) { fontlength = 8; } if (text.length() > fontlength) { position = position + 1; if (position >= text.length()) { position = 0; } commands(); return; } } catch (Exception e) { } position = 0; } public void commands() { try { art.library.model.devices.vms.banner.BannerCommands deviceCommands = (art.library.model.devices.vms.banner.BannerCommands) getDeviceCommands(); String foreground = "#000000"; try { setAttribute("Font-12-Center", "display", "none"); setAttribute("Font-12-Left", "display", "none"); setAttribute("Font-12-Right", "display", "none"); setAttribute("Font-16-Center", "display", "none"); setAttribute("Font-16-Left", "display", "none"); setAttribute("Font-16-Right", "display", "none"); setAttribute("Auto", "display", "none"); setAttribute("Reboot", "display", "none"); setAttribute("lblObert", "display", "none"); setAttribute("lblTancat", "display", "none"); switch (deviceCommands.operationMode) { case art.library.model.devices.vms.banner.BannerCommands.OPERATION_AUTOMATIC: setAttribute("Auto", "display", "inline"); position = 0; break; case art.library.model.devices.vms.banner.BannerCommands.OPERATION_MANUAL: setAttribute("Manual", "display", "inline"); break; } switch (deviceCommands.reset) { case art.library.model.devices.vms.banner.BannerCommands.CONDITION_YES: setAttribute("Reboot", "display", "inline"); position = 0; break; } switch(deviceCommands.state) { case art.library.model.devices.vms.banner.BannerCommands.STATE_OPEN: setAttribute("lblObert", "display", "inline"); break; case art.library.model.devices.vms.banner.BannerCommands.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-12-Center"; int fontlength = 10; if (deviceCommands.rotulosElectronicos.fontSize == 2) { fontsize = "Font-16-Center"; fontlength = 8; } String text = deviceCommands.rotulosElectronicos.text; if (text.length() > fontlength) { if (position > 0) { text = text + " " + deviceCommands.rotulosElectronicos.text; } text = text.substring(position, Math.min(position + fontlength, text.length())); setText(fontsize, text); } 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); // }