Alejandro Acuña
2024-12-18 44b33e24b644459038edd956cfce7345ce3236c1
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
 
import art.library.model.devices.Device;
import art.library.model.devices.DeviceStatus;
import com.kitfox.svg.SVGDiagram;
import com.kitfox.svg.SVGElement;
 
 
public class DeviceGraphicsRuntime_VentilationZone_Map_noHide extends DeviceGraphicsRuntime
{
 
    public DeviceGraphicsRuntime_VentilationZone_Map_noHide(art.library.model.devices.Device device, SVGDiagram diagram)
    {
        super(device, diagram);
    }
 
    public void status()
    {
        try
        {
            Device device = getDevice();
            art.library.model.devices.tunnel.ventilationzone.VentilationZoneStatus status = (art.library.model.devices.tunnel.ventilationzone.VentilationZoneStatus) device.getDeviceStatus();
            art.library.model.devices.tunnel.ventilationzone.VentilationZoneInformation information = (art.library.model.devices.tunnel.ventilationzone.VentilationZoneInformation) device.getDeviceInformation();
            art.library.model.devices.tunnel.ventilationzone.VentilationZoneAlarms alarms = (art.library.model.devices.tunnel.ventilationzone.VentilationZoneAlarms) device.getDeviceAlarms();
            setAttribute("SVG", "display", "inline", 999);
            SVGElement background = getElement("Background");
            SVGElement border = getElement("Border");
            SVGElement alarm = getElement("Alarm");
            SVGElement text = getElement("Text number");
            SVGElement textLevel = getElement("Text Level");
            SVGElement iconPositive = getElement("IconPositive");
            SVGElement iconNegative = getElement("IconNegative");
            SVGElement iconDeactivated = getElement("IconDeactivated");
            setText("Text number", String.valueOf(information.number));
            setAttribute(textLevel, "display", "inline", 999);
            setText("Text Level", String.format("%01d", status.currentLevel).replace("-", ""));
            setAttribute(background, "fill", "#00FF00");
            setAttribute(border, "stroke", "#800080");
            setAttribute(alarm, "display", "none");
            setAttribute(iconPositive, "fill", "#007C00", 999);
            setAttribute(iconNegative, "fill", "#007C00", 999);
            setAttribute(iconDeactivated, "display", "none", 999);
            setAttribute(iconNegative, "display", "none", 999);
            setAttribute(iconPositive, "display", "none", 999);
            try
            {
                switch (status.status)
                {
                    case DeviceStatus.STATUS_ONLINE:
                        break;
                    case DeviceStatus.STATUS_WARNING:
                        break;
                    case DeviceStatus.STATUS_ALARM:
                        setAttribute(background, "fill", "#00FF00");
                        setAttribute(iconNegative, "fill", "#007C00", 999);
                        setAttribute(iconPositive, "fill", "#007C00", 999);
                        setAttribute(border, "stroke", "#007C00", 999);
                        break;
                    case DeviceStatus.STATUS_DISABLE:
                        setAttribute(background, "fill", "#0000FF");
                        setAttribute(iconNegative, "fill", "#000080");
                        setAttribute(iconPositive, "fill", "#000080");
                        setAttribute(border, "stroke", "#000080");
                        break;
                    case DeviceStatus.STATUS_SIMULATION:
                        setAttribute(background, "fill", "#B97A57");
                        setAttribute(iconNegative, "fill", "#5A3B2A");
                        setAttribute(iconPositive, "fill", "#5A3B2A");
                        setAttribute(border, "stroke", "#5A3B2A");
                        break;
                    case DeviceStatus.STATUS_INVALID:
                    case DeviceStatus.STATUS_OFFLINE:
                    case DeviceStatus.STATUS_UNKNOWN:
                        setAttribute(background, "fill", "#FF00FF");
                        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");
                } else
                {
                    setAttribute(border, "stroke", "#007C00");
                    setAttribute(border, "display", "inline");
                    setAttribute(border, "stroke-opacity", 1.0);
                }
            } catch (Exception e)
            {
            }
            try
            {
                if (status.currentLevel > 0)
                {
                    setAttribute(iconNegative, "display", "none", 999);
                    setAttribute(iconPositive, "display", "inline", 999);
                } else if (status.currentLevel < 0)
                {
                    setAttribute(iconPositive, "display", "none", 999);
                    setAttribute(iconNegative, "display", "inline", 999);
                } else
                {
                    setAttribute(iconDeactivated, "display", "inline");
                    setAttribute(background, "fill", "#808080");
                    setAttribute(border, "stroke", "#404040");
                    setAttribute(iconDeactivated, "fill", "#404040");
                    setAttribute(textLevel, "display", "none", 999);
                    setAttribute(iconPositive, "display", "none", 999);
                    setAttribute(iconNegative, "display", "none", 999);
                }
            } 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);                        
//    
}