asd
Alejandro Acuña
2024-09-16 816cb391a192e357426312ab8e591fd49d1d242e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 
import art.library.model.devices.Device;
import art.library.model.devices.DeviceCommands;
import art.library.model.devices.DeviceStatus;
import com.kitfox.svg.SVGDiagram;
import com.kitfox.svg.SVGElement;
import java.awt.Color;
 
 
public class DeviceGraphicsRuntime_Semaphore_status_aspect extends DeviceGraphicsRuntime
{
 
    public DeviceGraphicsRuntime_Semaphore_status_aspect(art.library.model.devices.Device device, SVGDiagram diagram)
    {
        super(device, diagram);
    }
 
    private boolean flashOn = false;
 
    public void timer()
    {
        flashOn = !flashOn;
        status();
    }
 
    public void status()
    {
        try
        {
            art.library.model.devices.tunnel.semaphore.SemaphoreStatus deviceStatus = (art.library.model.devices.tunnel.semaphore.SemaphoreStatus) device.getDeviceStatus();
            art.library.model.devices.DeviceAlarms alarms = (art.library.model.devices.DeviceAlarms) device.getDeviceAlarms();
 
            setAttribute("redSphere", "display", "none");
            setAttribute("yellowSphere", "display", "none");
            setAttribute("greenSphere", "display", "none");
 
            for (int i = 0; i <= 5; i++)
                setAttribute("alarm-" + i, "display", (alarms.getServerityAlarm() == i) ? "inline" : "none", 999);
 
            switch (deviceStatus.state)
            {
                case art.library.model.devices.tunnel.semaphore.SemaphoreStatus.SEMAPHORE_STATE_RED:
                    setAttribute("redSphere", "display", "inline");
                    break;
                case art.library.model.devices.tunnel.semaphore.SemaphoreStatus.SEMAPHORE_STATE_YELLOW:
                    setAttribute("yellowSphere", "display", "inline");
                    break;
                case art.library.model.devices.tunnel.semaphore.SemaphoreStatus.SEMAPHORE_STATE_GREEN:
                    setAttribute("greenSphere", "display", "inline");
                    break;
                case art.library.model.devices.tunnel.semaphore.SemaphoreStatus.SEMAPHORE_STATE_FLASHING_YELLOW:
                    if (flashOn)
                    {
                        setAttribute("yellowSphere", "display", "inline");
                    }
                    break;
            }
        } catch (java.lang.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);                        
//    
}