From 9b5a866d16ca2b7a68d3af5bac8ea29c4626902f Mon Sep 17 00:00:00 2001
From: xcd <834800634@qq.com>
Date: 星期三, 08 七月 2020 18:06:32 +0800
Subject: [PATCH] 添加快捷操作界面

---
 src/Bro.M071.Process/UI/M071_ShortcutFrm.cs |   76 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 76 insertions(+), 0 deletions(-)

diff --git a/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs b/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs
index 245d16d..d5961a9 100644
--- a/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs
+++ b/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs
@@ -6,6 +6,7 @@
 using System.Drawing;
 using System.Linq;
 using System.Text;
+using System.Threading;
 using System.Threading.Tasks;
 using System.Windows.Forms;
 
@@ -17,6 +18,81 @@
         public M071_ShortcutFrm()
         {
             InitializeComponent();
+
+            this.Load += (s, e) =>
+              {
+                  loadHandle.Set();
+              };
+        }
+
+        ManualResetEventSlim loadHandle = new ManualResetEventSlim(false);
+        M071Config Config => Process?.IConfig as M071Config;
+        M071Process Process_M071 => Process as M071Process;
+
+        protected override bool IsLogin 
+        { 
+            get => base.IsLogin;
+            set
+            {
+                base.IsLogin = value;
+
+                Task.Run(() =>
+                {
+                    if (loadHandle.Wait(1000))
+                    {
+                        this.Invoke(new Action(() =>
+                        {
+                            chkBlockSafetyBeam.Enabled = chkBlockSaftyDoor.Enabled = IsLogin;
+                        }));
+                    }
+                });
+            }
+        }
+
+        public override void OnProcessUpdated()
+        {
+            base.OnProcessUpdated();
+
+            Task.Run(() =>
+            {
+                if (loadHandle.Wait(1000))
+                {
+                    this.Invoke(new Action(() =>
+                    {
+                        chkBlockBeep.Checked = Config.IsBeepBlocked;
+                        chkBlockSafetyBeam.Checked = Config.IsSafetyBeamBlocked;
+                        chkBlockSaftyDoor.Checked = Config.IsSafetyDoorBlocked;
+                        chkManualInputForbidden.Checked = Config.IsBarcodeManulInputBlocked;
+                    }));
+                }
+            });
+        }
+
+        private void chkBlockSaftyDoor_CheckedChanged(object sender, EventArgs e)
+        {
+            Config.IsSafetyDoorBlocked = chkBlockSaftyDoor.Checked;
+        }
+
+        private void chkBlockSafetyBeam_CheckedChanged(object sender, EventArgs e)
+        {
+            Config.IsSafetyBeamBlocked = chkBlockSafetyBeam.Checked;
+        }
+
+        private void chkBlockBeep_CheckedChanged(object sender, EventArgs e)
+        {
+            Config.IsBeepBlocked = chkBlockBeep.Checked;
+        }
+
+        private void chkManualInputForbidden_CheckedChanged(object sender, EventArgs e)
+        {
+            Config.IsBarcodeManulInputBlocked = chkManualInputForbidden.Checked;
+        }
+
+        bool isLightOn = false;
+        private void btnLightSwitch_Click(object sender, EventArgs e)
+        {
+            isLightOn = !isLightOn;
+            Process_M071.SwitchLight(isLightOn);
         }
     }
 }

--
Gitblit v1.8.0