From ff58f159796469f2ad7e6922fa5698654bc98c23 Mon Sep 17 00:00:00 2001
From: wells.liu <wells.liu@broconcentric.com>
Date: 星期六, 04 七月 2020 13:51:39 +0800
Subject: [PATCH] 板卡运动配置

---
 src/Bro.Common.Device/DeviceBase/MotionCardBase.cs |   76 +++++++++++++++++++++++++++-----------
 1 files changed, 54 insertions(+), 22 deletions(-)

diff --git a/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs b/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs
index 2ea2a37..117a980 100644
--- a/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs
+++ b/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs
@@ -126,7 +126,6 @@
         public List<IMonitorSet> GetAllMonitorSet()
         {
             WarningSetCollection.ForEach(m => m.Source = this.Name);
-
             MonitorSetCollection.ForEach(m => m.SourceDevice = this.Id);
             return MonitorSetCollection;
         }
@@ -135,6 +134,21 @@
 
     [Device("MotionCardBase", "鏉垮崱鎿嶄綔閰嶇疆鍩虹被", EnumHelper.DeviceAttributeType.OperationConfig)]
     public class MotionCardOperationConfigBase : OperationConfigBase, IComplexDisplay
+    {
+        [Category("鏉垮崱鎿嶄綔")]
+        [Description("鏉垮崱鎿嶄綔閰嶇疆鍩虹被闆嗗悎锛屼緷娆℃墽琛�")]
+        [TypeConverter(typeof(CollectionCountConvert))]
+        [Editor(typeof(ComplexCollectionEditor<MotionCardOperationSet>), typeof(UITypeEditor))]
+        public List<MotionCardOperationSet> OperationCollection { get; set; } = new List<MotionCardOperationSet>();
+
+        public string GetDisplayText()
+        {
+            return string.Join(" ", OperationCollection.Select(u => u.GetDisplayText()));
+        }
+    }
+
+    [Device("MotionOperationSet", "杩愬姩鎿嶄綔閰嶇疆鍩虹被", EnumHelper.DeviceAttributeType.OperationConfig)]
+    public class MotionCardOperationSet :  IComplexDisplay
     {
         [Category("IO鎿嶄綔閰嶇疆")]
         [DisplayName("IO棰勬鏌ュ畾涔夐泦鍚�")]
@@ -163,16 +177,19 @@
         [DisplayName("IO纭瓒呮椂")]
         public int IOConfirmTimeout { get; set; } = 0;
 
+        //[Category("鏉垮崱杩愬姩閰嶇疆")]
+        //[DisplayName("杩愬姩閰嶇疆闆嗗悎")]
+        //[Description("MovingOps锛氳繍鍔ㄩ厤缃泦鍚�")]
+        //[TypeConverter(typeof(CollectionCountConvert))]
+        //[Editor(typeof(ComplexCollectionEditor<MovingOption>), typeof(UITypeEditor))]
+        //public List<MovingOption> MovingOps { get; set; } = new List<MovingOption>();
         [Category("鏉垮崱杩愬姩閰嶇疆")]
         [DisplayName("杩愬姩閰嶇疆闆嗗悎")]
         [Description("MovingOps锛氳繍鍔ㄩ厤缃泦鍚�")]
-        [TypeConverter(typeof(CollectionCountConvert))]
-        [Editor(typeof(ComplexCollectionEditor<MovingOption>), typeof(UITypeEditor))]
-        public List<MovingOption> MovingOps { get; set; } = new List<MovingOption>();
-        [Category("鏉垮崱杩愬姩閰嶇疆")]
-        [Description("瓒呮椂璁剧疆锛屽崟浣嶏細ms")]
-        [DisplayName("杩愬姩瓒呮椂")]
-        public int MovingTimeout { get; set; } = 0;
+        [TypeConverter(typeof(ComplexObjectConvert))]
+        [Editor(typeof(PropertyObjectEditor),typeof(UITypeEditor))]
+        public MotionOperationCollection MotionOperationCollection { get; set; } = new MotionOperationCollection();
+
 
         public string GetDisplayText()
         {
@@ -206,29 +223,44 @@
             }
 
             string moving = "";
-            MovingOps.ForEach(i =>
-            {
-                moving += i.GetDisplayText() + " ";
-            });
-            if (moving != "")
-            {
-                moving = " 杩愬姩锛�" + moving;
-            }
+            //MovingOps.ForEach(i =>
+            //{
+            //    moving += i.GetDisplayText() + " ";
+            //});
+            //if (moving != "")
+            //{
+            //    moving = " 杩愬姩锛�" + moving;
+            //}
 
             return (preCheck + output + confirm + moving).Trim();
         }
     }
 
-    [Device("MotionCardOperationConfigCollection", "鏉垮崱鎿嶄綔閰嶇疆鍩虹被闆嗗悎", EnumHelper.DeviceAttributeType.OperationConfig)]
-    public class MotionCardOperationConfigCollection : OperationConfigBase
+    public class MotionOperationCollection : OperationConfigBase, IComplexDisplay
     {
-        [Category("澶嶄綅鎿嶄綔")]
-        [Description("鏉垮崱鎿嶄綔閰嶇疆鍩虹被闆嗗悎锛屼緷娆℃墽琛�")]
+        [Category("杩愬姩閰嶇疆")]
+        [DisplayName("杩愬姩閰嶇疆闆嗗悎")]
+        [Description("MovingOps锛氳繍鍔ㄩ厤缃泦鍚�")]
         [TypeConverter(typeof(CollectionCountConvert))]
-        [Editor(typeof(ComplexCollectionEditor<MotionCardOperationConfigBase>), typeof(UITypeEditor))]
-        public List<MotionCardOperationConfigBase> MotionCardOpsCollection { get; set; } = new List<MotionCardOperationConfigBase>();
+        [Editor(typeof(ComplexCollectionEditor<MovingOption>), typeof(UITypeEditor))]
+        public List<MovingOption> MovingOps { get; set; } = new List<MovingOption>();
+
+        public string GetDisplayText()
+        {
+            return $"{string.Join(" ", MovingOps.Select(u => u.GetDisplayText()))}";
+        }
     }
 
+    //[Device("MotionCardOperationConfigCollection", "鏉垮崱鎿嶄綔閰嶇疆鍩虹被闆嗗悎", EnumHelper.DeviceAttributeType.OperationConfig)]
+    //public class MotionCardOperationConfigCollection : OperationConfigBase
+    //{
+    //    [Category("澶嶄綅鎿嶄綔")]
+    //    [Description("鏉垮崱鎿嶄綔閰嶇疆鍩虹被闆嗗悎锛屼緷娆℃墽琛�")]
+    //    [TypeConverter(typeof(CollectionCountConvert))]
+    //    [Editor(typeof(ComplexCollectionEditor<MotionCardOperationConfigBase>), typeof(UITypeEditor))]
+    //    public List<MotionCardOperationConfigBase> MotionCardOpsCollection { get; set; } = new List<MotionCardOperationConfigBase>();
+    //}
+
     public class IORefrenceItemCollectionEditor : CollectionEditor
     {
         protected override CollectionForm CreateCollectionForm()

--
Gitblit v1.8.0