aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-02-13 17:28:44 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-02-13 17:28:44 +0200
commit7fd31b19dc4a836230bed3e4c38f5cc94e5d0a37 (patch)
treea18bf1cf076a5fca4a48057e2b4e5320d0a71fde /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems
parentd55420499a73f2a3e8e50cf221ff1dd32f8a3d71 (diff)
downloadTango-7fd31b19dc4a836230bed3e4c38f5cc94e5d0a37.tar.gz
Tango-7fd31b19dc4a836230bed3e4c38f5cc94e5d0a37.zip
Implemented Digital In.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DigitalInItem.cs52
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DigitalOutItem.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DispenserItem.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MeterItem.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MonitorItem.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorGroupItem.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorItem.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MultiGraphItem.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/SingleGraphItem.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/TechItem.cs4
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/TechItemAttribute.cs18
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/ThreadMotionItem.cs1
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;