Alejandro Acuña
2024-10-25 bf65497ed7abf9c669eb3cc0ba219dfa4494b759
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
package LightStuds;
 
import art.library.model.devices.DeviceGraphicsRuntime;
 
import com.kitfox.svg.SVGDiagram;
 
 
public class LightStudsMap extends DeviceGraphicsRuntime
{
 
    public LightStudsMap(art.library.model.devices.Device device, SVGDiagram diagram)
    {
        super(device, diagram);
    }
 
    private boolean flashOn = false;
 
    public void timer()
    {
        flashOn = !flashOn;
        status();
    }
 
   public void status()
    {
        art.library.model.devices.lighting.lightstuds.LightStuds lightStud = (art.library.model.devices.lighting.lightstuds.LightStuds)getDevice();
        art.library.model.devices.lighting.lightstuds.LightStudsStatus lightStudStatus = lightStud.getDeviceStatus();
       
        String color1 = "#000000";
        String color2 = "#000000";
    
        switch (lightStudStatus.status)
        {
            case art.library.model.devices.DeviceStatus.STATUS_ONLINE:
                color1 = "#00FF00";
                color2 = "#007C00";
                break;
            case art.library.model.devices.DeviceStatus.STATUS_WARNING:
                color1 = "#FFFF00";
                color2 = "#7C7C00";
                break;
            case art.library.model.devices.DeviceStatus.STATUS_ALARM:
                color1 = "#FF0000";
                color2 = "#7C0000";
                break;
            case art.library.model.devices.DeviceStatus.STATUS_INVALID:
                color1 = "#B97A57";
                color2 = "#5A3B2A";
                break;
            case art.library.model.devices.DeviceStatus.STATUS_DISABLE:
                color1 = "#7C7C7C";
                color2 = "#3E3E3E";
                break;
            case art.library.model.devices.DeviceStatus.STATUS_SIMULATION:
                color1 = "#0000FF";
                color2 = "#00007C";
                break;
            case art.library.model.devices.DeviceStatus.STATUS_OFFLINE:
                color1 = "#FF00FF";
                color2 = "#7C007C";
                break;
            case art.library.model.devices.DeviceStatus.STATUS_UNKNOWN:
                color1 = "#FF00FF";
                color2 = "#7C007C";
                break;
        }
        setText("Information text", String.format("%1$04d", device.getDeviceInformation().number));
        setAttribute("Aura", "display", lightStudStatus.BUSVAO.hasSomeCircuitOn() ? "inline" : "none", 999);
        setAttribute("Aura", "fill", color1, 999);
 
        setAttribute("Icon", "display", "inline");
        setAttribute("Icon", "fill", color2, 999);
        setAttribute("Background", "fill", color1);
        setAttribute("Border", "stroke", color2);
    }
 
    public void commands()
    {
        art.library.model.devices.DeviceCommands deviceCommands = getDeviceCommands();
        String color1 = "#0000FF";
        String color2 = "#00007C";
        if (!deviceCommands.isEmpty())
        {
            color1 = "#00FF00";
            color2 = "#007C00";
        }
        setText("Information text", String.format("%1$04d", device.getDeviceInformation().number));
        setAttribute("Icon", "display", "inline");
        setAttribute("Icon", "fill", color2);
        setAttribute("Background", "fill", color1);
        setAttribute("Border", "stroke", color2);
    }
 
//    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);                        
//     
}