From 12200ec69e33881649974f31f270750ba6b15e1d Mon Sep 17 00:00:00 2001
From: xcd <834800634@qq.com>
Date: 星期二, 14 七月 2020 18:27:31 +0800
Subject: [PATCH] Merge branch 'master' of http://gitblit.broconcentric.com:8088/r/M071

---
 src/Bro.M071.Process/UI/M071_ShortcutFrm.cs |  104 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 104 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..34c3426 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,109 @@
         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(() =>
+                        {
+                            chkEnableMESUpload.Enabled = 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.IsBarcodeManualInputBlocked;
+            //            chkEnableMESUpload.Checked = Config.IsEnableMESUpload;
+            //        }));
+            //    }
+            //});
+            this.Invoke(new Action(() =>
+            {
+                chkBlockBeep.Checked = Config.IsBeepBlocked;
+                chkBlockSafetyBeam.Checked = Config.IsSafetyBeamBlocked;
+                chkBlockSaftyDoor.Checked = Config.IsSafetyDoorBlocked;
+                chkManualInputForbidden.Checked = Config.IsBarcodeManualInputBlocked;
+                chkEnableMESUpload.Checked = Config.IsEnableMESUpload;
+            }));
+
+            Config.PropertyChanged -= Config_PropertyChanged;
+            Config.PropertyChanged += Config_PropertyChanged;
+        }
+
+        private async void Config_PropertyChanged(object sender, PropertyChangedEventArgs e)
+        {
+            chkBlockBeep.Checked = Config.IsBeepBlocked;
+            chkBlockSafetyBeam.Checked = Config.IsSafetyBeamBlocked;
+            chkBlockSaftyDoor.Checked = Config.IsSafetyDoorBlocked;
+            chkManualInputForbidden.Checked = Config.IsBarcodeManualInputBlocked;
+            chkEnableMESUpload.Checked = Config.IsEnableMESUpload;
+
+            await Task.Delay(100);
+        }
+
+        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.IsBarcodeManualInputBlocked = chkManualInputForbidden.Checked;
+        }
+
+        bool isLightOn = false;
+        private void btnLightSwitch_Click(object sender, EventArgs e)
+        {
+            isLightOn = !isLightOn;
+            Process_M071.SwitchLight(isLightOn);
+        }
+
+        private void chkEnableMESUpload_CheckedChanged(object sender, EventArgs e)
+        {
+            Config.IsEnableMESUpload = chkEnableMESUpload.Checked;
         }
     }
 }

--
Gitblit v1.8.0