blob: 967aca679535219503bf12bb6c6c928b15e1198d (
plain)
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using System.Xml.Serialization;
using Tango.BL;
using Tango.BL.Entities;
using Tango.Core.Commands;
using Tango.SharedUI.Helpers;
namespace Tango.MachineStudio.Technician.TechItems
{
/// <summary>
/// Represents a Blower controller item.
/// </summary>
/// <seealso cref="Tango.MachineStudio.Technician.TechItems.TechItem" />
[TechItem(16, true)]
public class BlowerItem : TechItem
{
public event EventHandler<bool> SetCommandClicked;
private static List<HardwareBlower> _BlowerConfigurations;
/// <summary>
/// Gets or sets the Blower configurations.
/// </summary>
public static List<HardwareBlower> BlowerConfigurations
{
get { return _BlowerConfigurations; }
set { _BlowerConfigurations = value; }
}
static BlowerItem()
{
BlowerConfigurations = new List<HardwareBlower>();
foreach (var BlowerType in ObservablesStaticCollections.Instance.HardwareBlowerTypes)
{
BlowerConfigurations.Add(new HardwareBlower() { HardwareBlowerType = BlowerType });
}
}
private HardwareBlowerType _hardwareBlowerType;
/// <summary>
/// Gets or sets the type of the hardware Blower.
/// </summary>
[XmlIgnore]
public HardwareBlowerType HardwareBlowerType
{
get { return _hardwareBlowerType; }
set
{
_hardwareBlowerType = value; RaisePropertyChangedAuto(); TechName = _hardwareBlowerType != null ? _hardwareBlowerType.Description : null; ItemGuid = value != null ? value.Guid : null;
if (_hardwareBlowerType != null)
{
HardwareBlower = BlowerConfigurations.SingleOrDefault(x => x.HardwareBlowerType == _hardwareBlowerType);
}
}
}
private HardwareBlower _hardwareBlower;
/// <summary>
/// Gets or sets the hardware Blower.
/// </summary>
[XmlIgnore]
public HardwareBlower HardwareBlower
{
get { return _hardwareBlower; }
set { _hardwareBlower = value; RaisePropertyChangedAuto(); }
}
private bool _isActive;
[XmlIgnore]
public bool IsActive
{
get { return _isActive; }
set { _isActive = value; RaisePropertyChangedAuto(); }
}
private bool _effectiveActive;
[XmlIgnore]
public bool EffectiveActive
{
get { return _effectiveActive; }
set
{
_effectiveActive = value;
RaisePropertyChangedAuto();
IsActive = _effectiveActive;
}
}
/// <summary>
/// Gets or sets the set command.
/// </summary>
[XmlIgnore]
public RelayCommand SetCommand { get; set; }
[XmlIgnore]
public RelayCommand ToggleActiveCommand { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="BlowerItem"/> class.
/// </summary>
public BlowerItem() : base()
{
Name = "Blower";
Description = "Blower Controller";
Image = ResourceHelper.GetImageFromResources("Images/blower.png");
Color = Colors.White;
HardwareBlower = new HardwareBlower();
SetCommand = new RelayCommand(() => { SetCommandClicked?.Invoke(this, _isActive); });
ToggleActiveCommand = new RelayCommand(() =>
{
SetCommandClicked?.Invoke(this, _isActive);
});
}
/// <summary>
/// Initializes a new instance of the <see cref="BlowerItem"/> class.
/// </summary>
/// <param name="BlowerType">Type of the Blower.</param>
public BlowerItem(HardwareBlowerType BlowerType) : this()
{
HardwareBlowerType = BlowerType;
}
/// <summary>
/// Clones this instance.
/// </summary>
/// <returns></returns>
public override TechItem Clone()
{
BlowerItem cloned = base.Clone() as BlowerItem;
cloned.HardwareBlowerType = HardwareBlowerType;
return cloned;
}
}
}
|