import art.library.model.devices.Device; import art.library.model.devices.DeviceCommands; import com.kitfox.svg.SVGDiagram; public class DeviceGraphicsRuntime_Sos_musatel_command_aspect extends DeviceGraphicsRuntime { public DeviceGraphicsRuntime_Sos_musatel_command_aspect(art.library.model.devices.Device device, SVGDiagram diagram) { super(device, diagram); } public void status() { try { Device device = getDevice(); art.library.model.devices.sos.SosStatus status = (art.library.model.devices.sos.SosStatus) device.getDeviceStatus(); art.library.model.devices.sos.SosInformation information = (art.library.model.devices.sos.SosInformation) device.getDeviceInformation(); art.library.model.devices.sos.SosAlarms alarms = (art.library.model.devices.sos.SosAlarms) device.getDeviceAlarms(); setAttribute("phone_call", "display", "none", 999); setAttribute("phone_waiting", "display", "none", 999); setAttribute("pending_call_noarrow", "display", "none", 999); setAttribute("lock_on", "display", "none", 999); setAttribute("light-on", "display", "none", 999); for (int i = 0; i <= 5; i++) { setAttribute("alarm-" + i, "display", (alarms.getServerityAlarm() == i) ? "inline" : "none", 999); } if (status.musatel != null) { switch (status.musatel.state) { case art.library.model.devices.sos.musatel.status.SosStatusMusatel.STATE_ACTIVE_CALL: setAttribute("phone_call", "display", "inline", 999); break; case art.library.model.devices.sos.musatel.status.SosStatusMusatel.STATE_PENDING_USER_CALL: case art.library.model.devices.sos.musatel.status.SosStatusMusatel.STATE_PENDING_SERVICE_CALL: setAttribute(show ? "phone_call" : "pending_call_noarrow", "display", "inline", 999); break; case art.library.model.devices.sos.musatel.status.SosStatusMusatel.STATE_IDLE: setAttribute("phone_waiting", "display", "inline", 999); break; } setText(getElement("txt_vol"), String.valueOf(status.musatel.audio.volume)); } } catch (Exception ex) { } } private boolean show = false; public void timer() { show = !show; commands(); } public void commands() { art.library.model.devices.sos.SosCommands deviceCommands = (art.library.model.devices.sos.SosCommands) getDeviceCommands(); setAttribute("phone_disable", "display", "inline"); setAttribute("phone_start", "display", (deviceCommands.musatel.call != null) ? "display" : "none", 999); setAttribute("speech", "display", (deviceCommands.musatel.speech != null) ? "display" : "none", 999); setAttribute("phone_pause", "display", (deviceCommands.musatel.pauseCall == deviceCommands.CONDITION_YES) ? "display" : "none", 999); setAttribute("phone_resume", "display", (deviceCommands.musatel.resumeCall == deviceCommands.CONDITION_YES) ? "display" : "none", 999); setAttribute("phone_end", "display", (deviceCommands.musatel.endCall == deviceCommands.CONDITION_YES) ? "display" : "none", 999); setAttribute("restart", "display", (deviceCommands.musatel.reset == deviceCommands.CONDITION_YES) ? "display" : "none", 999); setAttribute("sound", "display", "none", 999); setAttribute("tool", "display", "none", 999); setAttribute("message", "display", "none", 999); setAttribute("beep", "display", "none", 999); setAttribute("icon-test-on", "display", "none", 999); setAttribute("light-on", "display", "none", 999); setAttribute("light-off", "display", "inline", 999); setAttribute("lock_on", "display", "none", 9999); setAttribute("gr_spk", "display", "none", 999); if (deviceCommands.musatel.call != null || deviceCommands.musatel.pauseCall == deviceCommands.CONDITION_YES || deviceCommands.musatel.resumeCall == deviceCommands.CONDITION_YES || deviceCommands.musatel.endCall == deviceCommands.CONDITION_YES) { setAttribute("phone_disable", "display", "none"); } if (deviceCommands.musatel.call != null) { setAttribute("gr_mic", "display", "inline", 999); setAttribute("gr_spk", "display", "inline", 999); setAttribute("lock_on", "display", (deviceCommands.musatel.call.priority >= 256) ? "inline" : "none", 999); setText(getElement("txt_vol"), String.valueOf(deviceCommands.musatel.call.speakerVolume)); } else if (deviceCommands.musatel.speech != null) { setAttribute("gr_spk", "display", "inline", 999); setAttribute("lock_on", "display", (deviceCommands.musatel.speech.priority >= 256) ? "inline" : "none", 999); setText(getElement("txt_vol"), String.valueOf(deviceCommands.musatel.speech.volume)); } if (deviceCommands.musatel.speakerVolume >= 0) { setAttribute("gr_spk", "display", "inline", 999); setText(getElement("txt_vol"), String.valueOf(deviceCommands.musatel.speakerVolume)); } if (deviceCommands.musatel.maintenanceTest != art.library.model.devices.DeviceCommands.CONDITION_NOTHING) { setAttribute("icon-test-on", "display", "inline", 999); setAttribute("tool", "display", "inline", 999); } if (deviceCommands.musatel.audioTest != null) { setAttribute("icon-test-on", "display", "inline", 999); setAttribute("sound", "display", "inline", 999); } if (deviceCommands.musatel.toneTest != null) { setAttribute("icon-test-on", "display", "inline", 999); setAttribute("beep", "display", "inline", 999); } if (deviceCommands.musatel.messagesTest != null) { setAttribute("icon-test-on", "display", "inline", 999); setAttribute("message", "display", "inline", 999); } } // 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); // }