From 99587d3c26f5b952cb7dc87a56be91b08c5d277b Mon Sep 17 00:00:00 2001
From: wells.liu <wells.liu@broconcentric.com>
Date: 星期一, 06 七月 2020 11:54:27 +0800
Subject: [PATCH] 添加轴状态监听

---
 src/Bro.Common.Model/Model/IOItem.cs |   26 ++++++++++++++++----------
 1 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/src/Bro.Common.Model/Model/IOItem.cs b/src/Bro.Common.Model/Model/IOItem.cs
index 4b59a7c..653cdb2 100644
--- a/src/Bro.Common.Model/Model/IOItem.cs
+++ b/src/Bro.Common.Model/Model/IOItem.cs
@@ -22,8 +22,9 @@
         /// IO鐐圭殑鍊�
         /// </summary>
         [Category("IO閰嶇疆")]
-        [Description("IO鏁板��")]
-        public virtual int Value { get; set; }
+        [Description("IO鐘舵��")]
+        [TypeConverter(typeof(EnumDescriptionConverter<IOValue>))]
+        public virtual IOValue Value { get; set; }
 
         /// <summary>
         /// IO鐐规槸in杩樻槸out
@@ -42,9 +43,9 @@
             return false;
         }
 
-        public string GetDisplayText()
+        public virtual string GetDisplayText()
         {
-            return $"{IOType.GetEnumDescription()}-{IONum}-{Value}";
+            return $"{IOType.GetEnumDescription()}-{IONum}-{Value.GetEnumDescription()}";
         }
 
         public int GetHashCode(object obj)
@@ -56,6 +57,11 @@
     public class IODefinition : IOItem
     {
         [Category("IO閰嶇疆")]
+        [Description("IO棰勫畾涔�")]
+        [TypeConverter(typeof(EnumDescriptionConverter<IOPrestatement>))]
+        public IOPrestatement IOPreStatement { get; set; } = IOPrestatement.Customized;
+
+        [Category("IO閰嶇疆")]
         [Description("IO鐢ㄩ�旀弿杩�")]
         public string IODesc { get; set; }
 
@@ -65,11 +71,11 @@
 
         [Browsable(false)]
         [JsonIgnore]
-        public override int Value { get; set; }
+        public override IOValue Value { get; set; }
 
-        public new string GetDisplayText()
+        public override string GetDisplayText()
         {
-            return $"{IODesc} {IOType.GetEnumDescription()} {IONum}";
+            return $"{(IOPreStatement == IOPrestatement.Customized ? IODesc : IOPreStatement.GetEnumDescription())} {IOType.GetEnumDescription()} {IONum}";
         }
     }
 
@@ -81,8 +87,8 @@
         public IODefinition IOItem { get; set; } = new IODefinition();
 
         [Category("IO鎿嶄綔閰嶇疆")]
-        [Description("闇�瑕佹搷浣滅殑IO鐨勬暟鍊�")]
-        public int CheckValue
+        [Description("闇�瑕佹搷浣滅殑IO鐨勭姸鎬�")]
+        public IOValue CheckValue
         {
             get => IOItem.Value;
             set => IOItem.Value = value;
@@ -94,7 +100,7 @@
 
         public string GetDisplayText()
         {
-            return IOItem.IODesc + "-" + CheckValue;
+            return IOItem.IODesc + "-" + CheckValue.GetEnumDescription();
         }
     }
 

--
Gitblit v1.8.0