diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-02-13 17:28:44 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-02-13 17:28:44 +0200 |
| commit | 7fd31b19dc4a836230bed3e4c38f5cc94e5d0a37 (patch) | |
| tree | a18bf1cf076a5fca4a48057e2b4e5320d0a71fde /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems | |
| parent | d55420499a73f2a3e8e50cf221ff1dd32f8a3d71 (diff) | |
| download | Tango-7fd31b19dc4a836230bed3e4c38f5cc94e5d0a37.tar.gz Tango-7fd31b19dc4a836230bed3e4c38f5cc94e5d0a37.zip | |
Implemented Digital In.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems')
12 files changed, 82 insertions, 1 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DigitalInItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DigitalInItem.cs new file mode 100644 index 000000000..f6d09ae59 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DigitalInItem.cs @@ -0,0 +1,52 @@ +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.Integration.Observables; +using Tango.SharedUI.Helpers; + +namespace Tango.MachineStudio.Technician.TechItems +{ + [TechItem(0)] + public class DigitalInItem : TechItem + { + private TechIo _techIo; + [XmlIgnore] + public TechIo TechIo + { + get { return _techIo; } + set { _techIo = value; RaisePropertyChangedAuto(); TechName = _techIo != null ? _techIo.Description : null; ItemGuid = value != null ? value.Guid : null; } + } + + private bool _value; + [XmlIgnore] + public bool Value + { + get { return _value; } + set { _value = value; RaisePropertyChangedAuto(); } + } + + public DigitalInItem() : base() + { + Name = "Digital In"; + Description = "Digital Input Pin LED"; + Image = ResourceHelper.GetImageFromResources("Images/digital-in.png"); + Color = Colors.White; + } + + public DigitalInItem(TechIo techIo) : this() + { + TechIo = techIo; + } + + public override TechItem Clone() + { + DigitalInItem cloned = base.Clone() as DigitalInItem; + cloned.TechIo = TechIo; + return cloned; + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DigitalOutItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DigitalOutItem.cs index 817cfd9b7..ae8a0a023 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DigitalOutItem.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DigitalOutItem.cs @@ -10,6 +10,7 @@ using Tango.SharedUI.Helpers; namespace Tango.MachineStudio.Technician.TechItems { + [TechItem(1)] public class DigitalOutItem : TechItem { public event EventHandler<bool> ValueChanged; diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DispenserItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DispenserItem.cs index bc656c67c..8bb72fc66 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DispenserItem.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DispenserItem.cs @@ -11,6 +11,7 @@ using Tango.SharedUI.Helpers; namespace Tango.MachineStudio.Technician.TechItems { + [TechItem(8)] public class DispenserItem : TechItem { public event EventHandler<MotorActionType> ActionExecuted; diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MeterItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MeterItem.cs index 8fb7c83cc..d7f019fa9 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MeterItem.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MeterItem.cs @@ -11,6 +11,7 @@ using Tango.SharedUI.Helpers; namespace Tango.MachineStudio.Technician.TechItems { + [TechItem(3)] public class MeterItem : TechItem { private TechMonitor _techMonitor; diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MonitorItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MonitorItem.cs index f81d98438..987c6cc99 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MonitorItem.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MonitorItem.cs @@ -10,6 +10,7 @@ using Tango.SharedUI.Helpers; namespace Tango.MachineStudio.Technician.TechItems { + [TechItem(2)] public class MonitorItem : TechItem { private TechMonitor _techMonitor; diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorGroupItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorGroupItem.cs index 35aae5cd7..551bf1f0a 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorGroupItem.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorGroupItem.cs @@ -12,6 +12,7 @@ using Tango.SharedUI.Helpers; namespace Tango.MachineStudio.Technician.TechItems { + [TechItem(7)] public class MotorGroupItem : TechItem { public event EventHandler<MotorActionType> ActionExecuted; diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorItem.cs index 77a0c1b4d..ce668a464 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorItem.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorItem.cs @@ -11,6 +11,7 @@ using Tango.SharedUI.Helpers; namespace Tango.MachineStudio.Technician.TechItems { + [TechItem(6)] public class MotorItem : TechItem { public event EventHandler<MotorActionType> ActionExecuted; diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MultiGraphItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MultiGraphItem.cs index 232442357..65ee521ef 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MultiGraphItem.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MultiGraphItem.cs @@ -10,6 +10,7 @@ using Tango.SharedUI.Helpers; namespace Tango.MachineStudio.Technician.TechItems { + [TechItem(5)] public class MultiGraphItem : TechItem { private TechMonitor _techMonitor; diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/SingleGraphItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/SingleGraphItem.cs index 1efcd93a8..9d44c6a33 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/SingleGraphItem.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/SingleGraphItem.cs @@ -10,6 +10,7 @@ using Tango.SharedUI.Helpers; namespace Tango.MachineStudio.Technician.TechItems { + [TechItem(4)] public class SingleGraphItem : TechItem { private TechMonitor _techMonitor; diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/TechItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/TechItem.cs index 92ad1c536..a64cd7908 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/TechItem.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/TechItem.cs @@ -10,6 +10,7 @@ using System.Xml.Serialization; using Tango.Core; using Tango.Core.Helpers; using Tango.Integration.Observables; +using System.Reflection; namespace Tango.MachineStudio.Technician.TechItems { @@ -22,6 +23,7 @@ namespace Tango.MachineStudio.Technician.TechItems [XmlInclude(typeof(SingleGraphItem))] [XmlInclude(typeof(ThreadMotionItem))] [XmlInclude(typeof(MotorGroupItem))] + [XmlInclude(typeof(DigitalInItem))] public abstract class TechItem : ExtendedObject { public TechItem() @@ -177,7 +179,7 @@ namespace Tango.MachineStudio.Technician.TechItems { List<TechItem> items = new List<TechItem>(); - foreach (var type in typeof(TechItem).Assembly.GetTypes().Where(x => typeof(TechItem).IsAssignableFrom(x) && !x.IsAbstract)) + foreach (var type in typeof(TechItem).Assembly.GetTypes().Where(x => typeof(TechItem).IsAssignableFrom(x) && !x.IsAbstract).OrderBy(x => x.GetCustomAttribute<TechItemAttribute>().Index)) { items.Add(Activator.CreateInstance(type) as TechItem); } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/TechItemAttribute.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/TechItemAttribute.cs new file mode 100644 index 000000000..cd6dfb1ea --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/TechItemAttribute.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.MachineStudio.Technician.TechItems +{ + public class TechItemAttribute : Attribute + { + public int Index { get; set; } + + public TechItemAttribute(int index) + { + Index = index; + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/ThreadMotionItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/ThreadMotionItem.cs index 04b71ac8c..79ecf9372 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/ThreadMotionItem.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/ThreadMotionItem.cs @@ -9,6 +9,7 @@ using Tango.SharedUI.Helpers; namespace Tango.MachineStudio.Technician.TechItems { + [TechItem(9)] public class ThreadMotionItem : TechItem { public event EventHandler<MotorActionType> ActionExecuted; |
