From 5241a8f6377dfd1618610dd15fd05ed6f51c8ba2 Mon Sep 17 00:00:00 2001 From: patrick.xu <patrick.xu@broconcentric.com> Date: 星期三, 16 十二月 2020 11:19:45 +0800 Subject: [PATCH] 1. 添加默认流程和默认产品功能 2. 修改批量建立检测项功能 --- src/Bro.UI.Config/MenuForms/FrmOperation.Designer.cs | 157 +++++++-------- src/Bro.Common.Model/Helper/SettingHelper.cs | 208 +++++++++++--------- src/Bro.UI.Config/MenuForms/FrmOperation.resx | 4 src/Bro.UI.Config/MenuForms/FrmOperation.cs | 106 ++-------- src/Bro.Process/ProcessControl.cs | 1 src/Bro.M071.Process/M071Models.cs | 27 ++ src/Bro.M071.Process/UI/M071_PatchInsertMeasurement.cs | 61 +++-- 7 files changed, 275 insertions(+), 289 deletions(-) diff --git a/src/Bro.Common.Model/Helper/SettingHelper.cs b/src/Bro.Common.Model/Helper/SettingHelper.cs index 99f93c2..f22e684 100644 --- a/src/Bro.Common.Model/Helper/SettingHelper.cs +++ b/src/Bro.Common.Model/Helper/SettingHelper.cs @@ -7,95 +7,145 @@ namespace Bro.Common.Helper { - public class SettingHelper + public static class SettingHelper { const string SETTINGFILE = "Setting.json"; - const string PROPERTY_PRODUCTIONCODES = "ProductionCodes"; - const string PROPERTY_CONFIGPATH = "ConfigPath"; - const string PROPERTY_PROCESSCODES = "ProcessCodes"; - const string PROPERTY_DESCRIPTION = "Description"; - const string PROPERTY_ICONPATH = "IconPath"; - static string ConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SETTINGFILE); - //static JObject data = null; - //static JObject Data - //{ - // get - // { - // if (File.Exists(ConfigPath)) - // { - // using (StreamReader reader = new StreamReader(ConfigPath, System.Text.Encoding.UTF8)) - // { - // string dataStr = reader.ReadToEnd(); - // data = JsonConvert.DeserializeObject<JObject>(dataStr); - // } - // } - // return data; - // } - //} + public static SettingInfo SettingInfo = null; + static string SettingPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SETTINGFILE); - public static JObject GetSettingData() + static SettingHelper() { - JObject settingData = null; - if (File.Exists(ConfigPath)) + if (File.Exists(SettingPath)) { - using (StreamReader reader = new StreamReader(ConfigPath, System.Text.Encoding.UTF8)) + using (StreamReader reader = new StreamReader(SettingPath, System.Text.Encoding.UTF8)) { string dataStr = reader.ReadToEnd(); - settingData = JsonConvert.DeserializeObject<JObject>(dataStr); + SettingInfo = JsonConvert.DeserializeObject<SettingInfo>(dataStr); } } - return settingData; } public static List<string> GetProductionCodes() { - List<string> codes = new List<string>(); - var Data = GetSettingData(); - if (Data != null && Data.ContainsKey(PROPERTY_PRODUCTIONCODES)) + if (SettingInfo.ProductionCodes.Count == 0) { - codes = Data.Value<JArray>(PROPERTY_PRODUCTIONCODES).ToList().ConvertAll(u => u.ToString()); + SettingInfo.ProductionCodes.Add("Default"); } - if (codes.Count == 0) + if (!string.IsNullOrWhiteSpace(SettingInfo.DefaultProduction)) { - codes.Add("Default"); + if (SettingInfo.ProductionCodes.Contains(SettingInfo.DefaultProduction)) + { + SettingInfo.ProductionCodes.Remove(SettingInfo.DefaultProduction); + SettingInfo.ProductionCodes.Insert(0, SettingInfo.DefaultProduction); + } } - return codes; + return SettingInfo.ProductionCodes; } public static List<string> GetProcessCodes() { - List<string> codes = new List<string>(); - var Data = GetSettingData(); - if (Data != null && Data.ContainsKey(PROPERTY_PROCESSCODES)) + if (!string.IsNullOrWhiteSpace(SettingInfo.DefaultProcess)) { - codes = Data.Value<JArray>(PROPERTY_PROCESSCODES).ToList().ConvertAll(u => u.ToString()); + if (SettingInfo.ProcessCodes.Contains(SettingInfo.DefaultProcess)) + { + SettingInfo.ProcessCodes.Remove(SettingInfo.DefaultProcess); + SettingInfo.ProcessCodes.Insert(0, SettingInfo.DefaultProcess); + } } - return codes; + + return SettingInfo.ProcessCodes; } public static void AddNewProductionCode(string code) { - var dataTemp = GetSettingData(); - - if (!dataTemp.ContainsKey(PROPERTY_PRODUCTIONCODES)) + if (!SettingInfo.ProductionCodes.Contains(code)) { - dataTemp.Add(PROPERTY_PRODUCTIONCODES, new JArray()); + SettingInfo.ProductionCodes.Add(code); } - if (dataTemp != null && dataTemp.ContainsKey(PROPERTY_PRODUCTIONCODES)) - { - List<string> codes = GetProductionCodes(); - if (!codes.Contains(code)) - { - codes.Add(code); - } - dataTemp[PROPERTY_PRODUCTIONCODES] = new JArray(codes); + SaveSettingInfo(); + } - string newDataStr = JsonConvert.SerializeObject(dataTemp, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.Auto }); - using (StreamWriter writer = new StreamWriter(ConfigPath, false, System.Text.Encoding.UTF8)) + public static string GetConfigFilePath() + { + return SettingInfo.ConfigPath; + } + + public static string GetProgramDescription() + { + if (string.IsNullOrWhiteSpace(SettingInfo.Description)) + { + SettingInfo.Description = "浼偗妫嚜鍔ㄥ寲鎶�鏈湁闄愬叕鍙�"; + } + + return SettingInfo.Description; + } + + public static string GetProgramIcon() + { + string iconPath = SettingInfo.IconPath; + if (string.IsNullOrWhiteSpace(iconPath) || !File.Exists(iconPath)) + { + iconPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Logo.ico"); + } + + if (!File.Exists(iconPath)) + { + iconPath = ""; + } + return iconPath; + } + + #region 淇濆瓨 + public static void SetDefaultProcess(string processCode) + { + if (SettingInfo.DefaultProcess != processCode) + { + SettingInfo.DefaultProcess = processCode; + SaveSettingInfo(); + } + } + + public static void SetDefaultProduction(string productionCode) + { + if (SettingInfo.DefaultProduction != productionCode) + { + SettingInfo.DefaultProduction = productionCode; + SaveSettingInfo(); + } + } + + public static void SetDefault(string processCode,string productionCode) + { + bool isChanged = false; + if (SettingInfo.DefaultProcess != processCode) + { + isChanged = true; + SettingInfo.DefaultProcess = processCode; + } + + if (SettingInfo.DefaultProduction != productionCode) + { + isChanged = true; + SettingInfo.DefaultProduction = productionCode; + } + + if (isChanged) + { + SaveSettingInfo(); + } + } + + static object saveLock = new object(); + private static void SaveSettingInfo() + { + string newDataStr = JsonConvert.SerializeObject(SettingInfo); + lock (saveLock) + { + using (StreamWriter writer = new StreamWriter(SettingPath, false, System.Text.Encoding.UTF8)) { writer.Write(newDataStr); writer.Flush(); @@ -103,46 +153,20 @@ } } } + #endregion + } - public static string GetConfigFilePath() - { - string path = ""; - var Data = GetSettingData(); - if (Data != null && Data.ContainsKey(PROPERTY_CONFIGPATH)) - { - path = Data.Value<string>(PROPERTY_CONFIGPATH); - } + public class SettingInfo + { + public List<string> ProcessCodes { get; set; } = new List<string>(); + public List<string> ProductionCodes { get; set; } = new List<string>(); - return path; - } + public string DefaultProcess { get; set; } - public static string GetProgramDescription() - { - string desc = "浼偗妫嚜鍔ㄥ寲鎶�鏈湁闄愬叕鍙�"; - var Data = GetSettingData(); - if (Data != null && Data.ContainsKey(PROPERTY_DESCRIPTION)) - { - desc = Data.Value<string>(PROPERTY_DESCRIPTION); - } + public string DefaultProduction { get; set; } - return desc; - } - - public static string GetProgramIcon() - { - string iconPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Logo.ico"); - - if (!File.Exists(iconPath)) - { - iconPath = ""; - } - var Data = GetSettingData(); - if (Data != null && Data.ContainsKey(PROPERTY_ICONPATH)) - { - iconPath = Data.Value<string>(PROPERTY_ICONPATH); - } - - return iconPath; - } + public string ConfigPath { get; set; } + public string Description { get; set; } + public string IconPath { get; set; } } } diff --git a/src/Bro.M071.Process/M071Models.cs b/src/Bro.M071.Process/M071Models.cs index 44fa305..ed4c138 100644 --- a/src/Bro.M071.Process/M071Models.cs +++ b/src/Bro.M071.Process/M071Models.cs @@ -24,17 +24,31 @@ [TypeConverter(typeof(KeyNameDictConverter))] public string Key { get; set; } + [Category("榛樿閰嶇疆")] + [Description("鏄惁榛樿灏哄閰嶇疆")] + public bool IsDefault { get; set; } = false; + + //[Category("浣嶇疆閰嶇疆")] + //[Description("鍗曢敭鍦ㄩ敭鐩樺钩闈㈠浘涓婄殑浣嶇疆鏄剧ず")] + //public RectangleF KeyRect { get; set; } = new RectangleF(0, 0, 0, 0); + [Category("浣嶇疆閰嶇疆")] - [Description("鍗曢敭鍦ㄩ敭鐩樺钩闈㈠浘涓婄殑浣嶇疆鏄剧ず")] - public Rectangle KeyRect { get; set; } = new Rectangle(); + [Description("鍗曢敭宸︿笂瑙掑潗鏍�")] + [TypeConverter(typeof(ComplexObjectConvert))] + [Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))] + public CustomizedPoint KeyPosition { get; set; } = new CustomizedPoint(); + + [Category("浣嶇疆閰嶇疆")] + [Description("鍗曢敭灏哄")] + public SizeF KeySize { get; set; } = new SizeF(); [Category("浣嶇疆閰嶇疆")] [Description("鍗曢敭涔嬪悗闂撮殭浣嶇疆")] - public Rectangle IntervalRect { get; set; } = new Rectangle(); + public SizeF IntervalSize { get; set; } = new SizeF(); public string GetDisplayText() { - return $"{Key}:{KeyRect.X},{KeyRect.Y},{KeyRect.Width},{KeyRect.Height}"; + return $"{(IsDefault ? "Default" : Key)}:{KeyPosition.X},{KeyPosition.Y},{KeySize.Width},{KeySize.Height}"; } } @@ -70,6 +84,11 @@ [Description("妫�娴嬬畻娉曡矾寰�")] [Editor(typeof(FileDialogEditor), typeof(UITypeEditor))] public string AlgorithemPath { get; set; } + + [Category("鏄剧ず閰嶇疆")] + [Description("鏄剧ず鍖哄煙澶у皬")] + [DisplayName("鏍囩澶у皬")] + public Size DisplayRect { get; set; } } public class KeyResult : IComplexDisplay diff --git a/src/Bro.M071.Process/UI/M071_PatchInsertMeasurement.cs b/src/Bro.M071.Process/UI/M071_PatchInsertMeasurement.cs index 59f538a..b67f13c 100644 --- a/src/Bro.M071.Process/UI/M071_PatchInsertMeasurement.cs +++ b/src/Bro.M071.Process/UI/M071_PatchInsertMeasurement.cs @@ -43,7 +43,7 @@ btnInsertMeasurement.Enabled = false; btnInsertMeasurement.Text = "鐢熸垚涓�傘�傘��"; - string measureType = cboMeasureType.Text; + MeasureType measureType = cboMeasureType.SelectedItem as MeasureType; string startKey = cboStartKey.Text; string endKey = cboEndKey.Text; @@ -56,7 +56,7 @@ btnInsertMeasurement.Text = "鐢熸垚妫�娴嬮」"; } - private async Task<string> PatchInsertMeasurement(string measureType, string startKey, string endKey) + private async Task<string> PatchInsertMeasurement(MeasureType measureType, string startKey, string endKey) { return await Task.Run(() => { @@ -64,7 +64,6 @@ int endIndex = Config.KeyNameCollection.IndexOf(endKey); KeyLocation startRect = Config.KeyLocationCollection.FirstOrDefault(u => u.Key == startKey); - //KeyLocation endRect = Config.KeyLocationCollection.FirstOrDefault(u => u.Key == endKey); if (startRect == null) { return $"鏈厤缃畕(startRect == null ? startKey : "")}鐨勬樉绀轰綅缃�"; @@ -75,22 +74,31 @@ return "璧峰閿笉鑳藉皬浜庣粨鏉熼敭"; } - switch (measureType) + RectangleF curKeyRect = new RectangleF((float)startRect.KeyPosition.X, (float)startRect.KeyPosition.Y, startRect.KeySize.Width, startRect.KeySize.Height); + KeyLocation curKey = null; + + switch (measureType.Code) { case "Slant": { for (int i = startIndex; i <= endIndex; i++) { - int curKeyEdge_X = (i - startIndex + 1) * (startRect.KeyRect.Width + startRect.IntervalRect.Width) + startRect.KeyRect.X - startRect.IntervalRect.Width; + curKey = Config.KeyLocationCollection.FirstOrDefault(u => u.Key == Config.KeyNameCollection[i]); + if (curKey == null) + { + curKey = Config.KeyLocationCollection.FirstOrDefault(u => u.IsDefault); + } - int lableX = (curKeyEdge_X + curKeyEdge_X - startRect.KeyRect.Width - 25) / 2; - int lable_Up_Y = startRect.KeyRect.Y + (startRect.KeyRect.Height - 25) / 2; + int lableX = (int)((curKeyRect.X + curKeyRect.X + curKey.KeySize.Width - measureType.DisplayRect.Width) / 2.0); + int lable_Up_Y = (int)(startRect.KeyPosition.Y + (startRect.KeySize.Height - measureType.DisplayRect.Height) / 2.0); MeasurementUnit mUnitUp = new MeasurementUnit(); - mUnitUp.MeasureType = measureType; + mUnitUp.MeasureType = measureType.Code; mUnitUp.KeyUnitCollection.Add(new KeyUnitBind() { Key = Config.KeyNameCollection[i], KeyResultId = "All" }); - mUnitUp.DisplayLocation = new Rectangle(lableX, lable_Up_Y, 25, 25); + mUnitUp.DisplayLocation = new Rectangle(lableX, lable_Up_Y, measureType.DisplayRect.Width, measureType.DisplayRect.Height); Config.MeasurementUnitCollection.Add(mUnitUp); + + curKeyRect.Offset(curKey.KeySize.Width + curKey.IntervalSize.Width, 0); } } break; @@ -98,39 +106,44 @@ { for (int i = startIndex; i < endIndex; i++) { - int curKeyEdge_X = (i - startIndex + 1) * (startRect.KeyRect.Width + startRect.IntervalRect.Width) + startRect.KeyRect.X - startRect.IntervalRect.Width; - int nextKeyStart_X = curKeyEdge_X + startRect.IntervalRect.Width; + curKey = Config.KeyLocationCollection.FirstOrDefault(u => u.Key == Config.KeyNameCollection[i]); + if (curKey == null) + { + curKey = Config.KeyLocationCollection.FirstOrDefault(u => u.IsDefault); + } - int lableX = (curKeyEdge_X + nextKeyStart_X - 25) / 2; - int lable_Up_Y = startRect.KeyRect.Y + 4; - int lable_Down_y = startRect.KeyRect.Y + startRect.KeyRect.Height - 4 - 12; + int lableX = (int)((curKeyRect.X + curKey.KeySize.Width + curKeyRect.X + curKey.KeySize.Width + curKey.IntervalSize.Width - measureType.DisplayRect.Width) / 2.0); + int lable_Up_Y = (int)startRect.KeyPosition.Y + 4; + int lable_Down_y = (int)(startRect.KeyPosition.Y + startRect.KeySize.Height - 4 - measureType.DisplayRect.Height); MeasurementUnit mUnitUp = new MeasurementUnit(); - mUnitUp.MeasureType = measureType; + mUnitUp.MeasureType = measureType.Code; mUnitUp.KeyUnitCollection.Add(new KeyUnitBind() { Key = Config.KeyNameCollection[i], KeyResultId = "Z2" }); mUnitUp.KeyUnitCollection.Add(new KeyUnitBind() { Key = Config.KeyNameCollection[i + 1], KeyResultId = "Z1" }); - mUnitUp.DisplayLocation = new Rectangle(lableX, lable_Up_Y, 25, 12); + mUnitUp.DisplayLocation = new Rectangle(lableX, lable_Up_Y, measureType.DisplayRect.Width, measureType.DisplayRect.Height); Config.MeasurementUnitCollection.Add(mUnitUp); MeasurementUnit mUnitDown = new MeasurementUnit(); - mUnitDown.MeasureType = measureType; + mUnitDown.MeasureType = measureType.Code; mUnitDown.KeyUnitCollection.Add(new KeyUnitBind() { Key = Config.KeyNameCollection[i], KeyResultId = "Z4" }); mUnitDown.KeyUnitCollection.Add(new KeyUnitBind() { Key = Config.KeyNameCollection[i + 1], KeyResultId = "Z3" }); - mUnitDown.DisplayLocation = new Rectangle(lableX, lable_Down_y, 25, 12); + mUnitDown.DisplayLocation = new Rectangle(lableX, lable_Down_y, measureType.DisplayRect.Width, measureType.DisplayRect.Height); Config.MeasurementUnitCollection.Add(mUnitDown); + + curKeyRect.Offset(curKey.KeySize.Width + curKey.IntervalSize.Width, 0); } } break; case "RowAlignment": { - int start_X = startRect.KeyRect.X + startRect.KeyRect.Width / 3; - int end_X = (startRect.KeyRect.Width + startRect.IntervalRect.Width) * (endIndex - startIndex) + startRect.KeyRect.X + startRect.KeyRect.Width * 2 / 3; + int start_X = (int)(startRect.KeyPosition.X + startRect.KeySize.Width / 3.0); + int end_X = (int)((startRect.KeySize.Width + startRect.IntervalSize.Width) * (endIndex - startIndex) + startRect.KeyPosition.X + startRect.KeySize.Width * 2.0 / 3.0); - int lable_Up_Y = startRect.KeyRect.Y - 6; - int lable_Down_Y = startRect.KeyRect.Y + startRect.KeyRect.Height - 6; + int lable_Up_Y = (int)startRect.KeyPosition.Y - 6; + int lable_Down_Y = (int)(startRect.KeyPosition.Y + startRect.KeySize.Height - 6); MeasurementUnit mUnitUp = new MeasurementUnit(); - mUnitUp.MeasureType = measureType; + mUnitUp.MeasureType = measureType.Code; for (int i = startIndex; i < endIndex; i++) { mUnitUp.KeyUnitCollection.Add(new KeyUnitBind() { Key = Config.KeyNameCollection[i], KeyResultId = "Z2" }); @@ -141,7 +154,7 @@ Config.MeasurementUnitCollection.Add(mUnitUp); MeasurementUnit mUnitDown = new MeasurementUnit(); - mUnitDown.MeasureType = measureType; + mUnitDown.MeasureType = measureType.Code; for (int i = startIndex; i < endIndex; i++) { mUnitDown.KeyUnitCollection.Add(new KeyUnitBind() { Key = Config.KeyNameCollection[i], KeyResultId = "Z4" }); diff --git a/src/Bro.Process/ProcessControl.cs b/src/Bro.Process/ProcessControl.cs index 8a4c27f..359e771 100644 --- a/src/Bro.Process/ProcessControl.cs +++ b/src/Bro.Process/ProcessControl.cs @@ -45,7 +45,6 @@ #region Event public event Action<string, Bitmap, string> OnBitmapOutput; - //public event Action<string, object> OnObjectOutput; public Action<DateTime, Exception> OnExceptionOccured { get; set; } public event Action<DeviceState> OnProcessStateChanged; public event Action<DateTime, string, string> OnLog; diff --git a/src/Bro.UI.Config/MenuForms/FrmOperation.Designer.cs b/src/Bro.UI.Config/MenuForms/FrmOperation.Designer.cs index 6e021e7..8377642 100644 --- a/src/Bro.UI.Config/MenuForms/FrmOperation.Designer.cs +++ b/src/Bro.UI.Config/MenuForms/FrmOperation.Designer.cs @@ -31,39 +31,71 @@ this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmOperation)); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.btnStart = new System.Windows.Forms.Button(); + this.imgList = new System.Windows.Forms.ImageList(this.components); this.plProcess = new System.Windows.Forms.Panel(); this.cboProcessCode = new System.Windows.Forms.ComboBox(); this.lblProcessCode = new System.Windows.Forms.Label(); + this.btnLoad = new System.Windows.Forms.Button(); + this.imgListLoad = new System.Windows.Forms.ImageList(this.components); this.plProduct = new System.Windows.Forms.Panel(); this.cboProductionCode = new System.Windows.Forms.ComboBox(); this.lblProductionCode = new System.Windows.Forms.Label(); - this.plOperation = new System.Windows.Forms.Panel(); - this.btnStart = new System.Windows.Forms.Button(); - this.imgList = new System.Windows.Forms.ImageList(this.components); - this.btnLoad = new System.Windows.Forms.Button(); - this.imgListLoad = new System.Windows.Forms.ImageList(this.components); this.tableLayoutPanel1.SuspendLayout(); this.plProcess.SuspendLayout(); this.plProduct.SuspendLayout(); - this.plOperation.SuspendLayout(); this.SuspendLayout(); // // tableLayoutPanel1 // this.tableLayoutPanel1.ColumnCount = 1; this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel1.Controls.Add(this.plProcess, 0, 0); - this.tableLayoutPanel1.Controls.Add(this.plProduct, 0, 1); - this.tableLayoutPanel1.Controls.Add(this.plOperation, 0, 2); + this.tableLayoutPanel1.Controls.Add(this.btnStart, 0, 7); + this.tableLayoutPanel1.Controls.Add(this.plProcess, 0, 1); + this.tableLayoutPanel1.Controls.Add(this.btnLoad, 0, 5); + this.tableLayoutPanel1.Controls.Add(this.plProduct, 0, 3); this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(15, 3, 15, 3); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; - this.tableLayoutPanel1.RowCount = 3; + this.tableLayoutPanel1.RowCount = 9; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 5F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 5F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 5F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 5F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.tableLayoutPanel1.Size = new System.Drawing.Size(184, 214); + this.tableLayoutPanel1.Size = new System.Drawing.Size(184, 427); this.tableLayoutPanel1.TabIndex = 0; + // + // btnStart + // + this.btnStart.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.btnStart.AutoSize = true; + this.btnStart.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnStart.Font = new System.Drawing.Font("瀹嬩綋", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnStart.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; + this.btnStart.ImageIndex = 0; + this.btnStart.ImageList = this.imgList; + this.btnStart.Location = new System.Drawing.Point(3, 132); + this.btnStart.Name = "btnStart"; + this.btnStart.Size = new System.Drawing.Size(178, 35); + this.btnStart.TabIndex = 1; + this.btnStart.Text = " 鍚� 鍔�"; + this.btnStart.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.btnStart.UseVisualStyleBackColor = true; + this.btnStart.Click += new System.EventHandler(this.btnStart_Click); + // + // imgList + // + this.imgList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imgList.ImageStream"))); + this.imgList.TransparentColor = System.Drawing.Color.Transparent; + this.imgList.Images.SetKeyName(0, "start_32px.png"); + this.imgList.Images.SetKeyName(1, "stop_32px.png"); // // plProcess // @@ -71,7 +103,7 @@ this.plProcess.Controls.Add(this.cboProcessCode); this.plProcess.Controls.Add(this.lblProcessCode); this.plProcess.Dock = System.Windows.Forms.DockStyle.Fill; - this.plProcess.Location = new System.Drawing.Point(3, 3); + this.plProcess.Location = new System.Drawing.Point(3, 8); this.plProcess.Name = "plProcess"; this.plProcess.Size = new System.Drawing.Size(178, 29); this.plProcess.TabIndex = 0; @@ -90,11 +122,36 @@ // lblProcessCode // this.lblProcessCode.AutoSize = true; - this.lblProcessCode.Location = new System.Drawing.Point(4, 11); + this.lblProcessCode.Location = new System.Drawing.Point(4, 8); this.lblProcessCode.Name = "lblProcessCode"; this.lblProcessCode.Size = new System.Drawing.Size(67, 13); this.lblProcessCode.TabIndex = 0; this.lblProcessCode.Text = "娴佺▼浠g爜锛�"; + // + // btnLoad + // + this.btnLoad.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.btnLoad.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnLoad.Font = new System.Drawing.Font("瀹嬩綋", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnLoad.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; + this.btnLoad.ImageKey = "load_32px.png"; + this.btnLoad.ImageList = this.imgListLoad; + this.btnLoad.Location = new System.Drawing.Point(3, 86); + this.btnLoad.Name = "btnLoad"; + this.btnLoad.Size = new System.Drawing.Size(178, 35); + this.btnLoad.TabIndex = 0; + this.btnLoad.Text = " 杞� 鍏�"; + this.btnLoad.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.btnLoad.UseMnemonic = false; + this.btnLoad.UseVisualStyleBackColor = false; + this.btnLoad.Click += new System.EventHandler(this.btnLoad_Click); + // + // imgListLoad + // + this.imgListLoad.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imgListLoad.ImageStream"))); + this.imgListLoad.TransparentColor = System.Drawing.Color.Transparent; + this.imgListLoad.Images.SetKeyName(0, "load_32px.png"); // // plProduct // @@ -102,7 +159,7 @@ this.plProduct.Controls.Add(this.cboProductionCode); this.plProduct.Controls.Add(this.lblProductionCode); this.plProduct.Dock = System.Windows.Forms.DockStyle.Fill; - this.plProduct.Location = new System.Drawing.Point(3, 38); + this.plProduct.Location = new System.Drawing.Point(3, 48); this.plProduct.Name = "plProduct"; this.plProduct.Size = new System.Drawing.Size(178, 27); this.plProduct.TabIndex = 1; @@ -121,79 +178,16 @@ // lblProductionCode // this.lblProductionCode.AutoSize = true; - this.lblProductionCode.Location = new System.Drawing.Point(4, 9); + this.lblProductionCode.Location = new System.Drawing.Point(4, 6); this.lblProductionCode.Name = "lblProductionCode"; this.lblProductionCode.Size = new System.Drawing.Size(67, 13); this.lblProductionCode.TabIndex = 0; this.lblProductionCode.Text = "浜у搧浠g爜锛�"; // - // plOperation - // - this.plOperation.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.plOperation.Controls.Add(this.btnStart); - this.plOperation.Controls.Add(this.btnLoad); - this.plOperation.Location = new System.Drawing.Point(3, 71); - this.plOperation.Name = "plOperation"; - this.plOperation.Size = new System.Drawing.Size(178, 140); - this.plOperation.TabIndex = 2; - // - // btnStart - // - this.btnStart.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.btnStart.AutoSize = true; - this.btnStart.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnStart.Font = new System.Drawing.Font("瀹嬩綋", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnStart.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; - this.btnStart.ImageIndex = 0; - this.btnStart.ImageList = this.imgList; - this.btnStart.Location = new System.Drawing.Point(10, 82); - this.btnStart.Name = "btnStart"; - this.btnStart.Size = new System.Drawing.Size(150, 35); - this.btnStart.TabIndex = 1; - this.btnStart.Text = " 鍚� 鍔�"; - this.btnStart.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.btnStart.UseVisualStyleBackColor = true; - this.btnStart.Click += new System.EventHandler(this.btnStart_Click); - // - // imgList - // - this.imgList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imgList.ImageStream"))); - this.imgList.TransparentColor = System.Drawing.Color.Transparent; - this.imgList.Images.SetKeyName(0, "start_32px.png"); - this.imgList.Images.SetKeyName(1, "stop_32px.png"); - // - // btnLoad - // - this.btnLoad.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.btnLoad.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnLoad.Font = new System.Drawing.Font("瀹嬩綋", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnLoad.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; - this.btnLoad.ImageKey = "load_32px.png"; - this.btnLoad.ImageList = this.imgListLoad; - this.btnLoad.Location = new System.Drawing.Point(10, 24); - this.btnLoad.Name = "btnLoad"; - this.btnLoad.Size = new System.Drawing.Size(150, 35); - this.btnLoad.TabIndex = 0; - this.btnLoad.Text = " 杞� 鍏�"; - this.btnLoad.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.btnLoad.UseMnemonic = false; - this.btnLoad.UseVisualStyleBackColor = false; - this.btnLoad.Click += new System.EventHandler(this.btnLoad_Click); - // - // imgListLoad - // - this.imgListLoad.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imgListLoad.ImageStream"))); - this.imgListLoad.TransparentColor = System.Drawing.Color.Transparent; - this.imgListLoad.Images.SetKeyName(0, "load_32px.png"); - // // FrmOperation // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; - this.ClientSize = new System.Drawing.Size(184, 214); + this.ClientSize = new System.Drawing.Size(184, 427); this.Controls.Add(this.tableLayoutPanel1); this.Name = "FrmOperation"; this.Text = "FrmOperation"; @@ -204,8 +198,6 @@ this.plProcess.PerformLayout(); this.plProduct.ResumeLayout(false); this.plProduct.PerformLayout(); - this.plOperation.ResumeLayout(false); - this.plOperation.PerformLayout(); this.ResumeLayout(false); } @@ -215,7 +207,6 @@ private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; private System.Windows.Forms.Panel plProcess; private System.Windows.Forms.Panel plProduct; - private System.Windows.Forms.Panel plOperation; private System.Windows.Forms.ComboBox cboProcessCode; private System.Windows.Forms.Label lblProcessCode; private System.Windows.Forms.ComboBox cboProductionCode; diff --git a/src/Bro.UI.Config/MenuForms/FrmOperation.cs b/src/Bro.UI.Config/MenuForms/FrmOperation.cs index 455f1aa..43152d5 100644 --- a/src/Bro.UI.Config/MenuForms/FrmOperation.cs +++ b/src/Bro.UI.Config/MenuForms/FrmOperation.cs @@ -27,22 +27,6 @@ LoadProcessCode(); LoadProductionCode(); - - //Task.Run(() => - //{ - // Thread.Sleep(1000); - - // if ((!plProcess.Visible) && (!plProduct.Visible) && _isFirstLoad) - // { - // LoadProcess(); - // _isFirstLoad = false; - // } - //}); - //if ((!plProcess.Visible) && (!plProduct.Visible) && _isFirstLoad) - //{ - // LoadProcess(); - // _isFirstLoad = false; - //} } #region Load Codes @@ -71,7 +55,7 @@ pCodes = systemProcessCodes; } - if (pCodes.Count == 1 && pCodes[0] == "") + if (pCodes.Count == 1) { plProcess.Visible = false; _processCode = pCodes[0]; @@ -79,12 +63,21 @@ } else { - pCodes.Remove(""); + pCodes.RemoveAll(p => string.IsNullOrWhiteSpace(p)); } if (pCodes.Count > 1) { plProcess.Visible = true; + + //if (!string.IsNullOrWhiteSpace(SettingHelper.SettingInfo.DefaultProcess)) + //{ + // if (pCodes.Contains(SettingHelper.SettingInfo.DefaultProcess)) + // { + // pCodes.Remove(SettingHelper.SettingInfo.DefaultProcess); + // pCodes.Insert(0, SettingHelper.SettingInfo.DefaultProcess); + // } + //} cboProcessCode.SelectedIndexChanged -= cboProcessCode_SelectedIndexChanged; UIHelper.SetCombo(cboProcessCode, pCodes, "", ""); @@ -109,6 +102,16 @@ if (pCodes.Count > 1) { plProduct.Visible = true; + + //if (!string.IsNullOrWhiteSpace(SettingHelper.SettingInfo.DefaultProduction)) + //{ + // if (pCodes.Contains(SettingHelper.SettingInfo.DefaultProduction)) + // { + // pCodes.Remove(SettingHelper.SettingInfo.DefaultProduction); + // pCodes.Insert(0, SettingHelper.SettingInfo.DefaultProduction); + // } + //} + cboProductionCode.SelectedIndexChanged -= cboProductionCode_SelectedIndexChanged; UIHelper.SetCombo(cboProductionCode, pCodes, "", ""); cboProductionCode.SelectedIndexChanged += cboProductionCode_SelectedIndexChanged; @@ -133,12 +136,6 @@ private void FrmOperation_Load(object sender, System.EventArgs e) { - //if ((!plProcess.Visible) && (!plProduct.Visible) && _isFirstLoad) - //{ - // LoadProcess(); - // _isFirstLoad = false; - //} - btnStart.Enabled = true; } @@ -148,6 +145,8 @@ LogAsync(DateTime.Now, "杞藉叆娴佺▼"); LoadProcess(); + + SettingHelper.SetDefault(_processCode, _productionCode); } bool isStart = true; @@ -161,11 +160,8 @@ btnStart.Enabled = false; - //Task.Run(() => - //{ try { - //if (Process.ProcessState != EnumHelper.DeviceState.DSOpen) if (isStart) { await ProcessOperation(true); @@ -183,10 +179,8 @@ } finally { - //this.BeginInvoke(new Action(() => btnStart.Enabled = true)); btnStart.Enabled = true; } - //}); } string _currentProcssCode = ""; @@ -204,7 +198,6 @@ return; } - //Process.OnProcessStateChanged += Process_OnProcessStateChanged; Process.OnLog -= Process_OnLog; Process.OnLog += Process_OnLog; @@ -222,80 +215,27 @@ LogAsync(dt, prefix, msg); } - //private void Process_OnProcessStateChanged(EnumHelper.DeviceState state) - //{ - // try - // { - // if (InvokeRequired) - // { - // this.Invoke(new Action<EnumHelper.DeviceState>(Process_OnProcessStateChanged), state); - // } - // else - // { - // try - // { - // btnStart.Enabled = true; - - // switch (state) - // { - // case EnumHelper.DeviceState.DSOpen: - // btnStart.Text = " 鍋� 姝�"; - // btnStart.ImageIndex = 1; - // btnStart.BackColor = Color.FromArgb(0x7f, Color.LimeGreen); - - // btnLoad.Enabled = false; - // break; - // case EnumHelper.DeviceState.DSClose: - // btnStart.Text = " 鍚� 鍔�"; - // btnStart.ImageIndex = 0; - // btnStart.BackColor = SystemColors.Control; - - // btnLoad.Enabled = true; - // break; - // default: - // break; - // } - - // this.Refresh(); - // } - // catch (Exception ex) - // { - // } - // } - // } - // catch (Exception ex) - // { - // } - //} - private async Task ProcessOperation(bool isStart) { if (isStart) { await Task.Run(() => Process.Open()); - //this.BeginInvoke(new Action(() => - //{ btnStart.Text = " 鍋� 姝�"; btnStart.ImageIndex = 1; btnStart.BackColor = Color.FromArgb(0x7f, Color.LimeGreen); btnLoad.Enabled = false; - //})); - } else { await Task.Run(() => Process.Close()); - //this.BeginInvoke(new Action(() => - //{ btnStart.Text = " 鍚� 鍔�"; btnStart.ImageIndex = 0; btnStart.BackColor = SystemColors.Control; btnLoad.Enabled = true; - //})); } } } diff --git a/src/Bro.UI.Config/MenuForms/FrmOperation.resx b/src/Bro.UI.Config/MenuForms/FrmOperation.resx index d3a1d92..33117b6 100644 --- a/src/Bro.UI.Config/MenuForms/FrmOperation.resx +++ b/src/Bro.UI.Config/MenuForms/FrmOperation.resx @@ -125,7 +125,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADm - CgAAAk1TRnQBSQFMAgEBAgEAAfgBAAH4AQABGAEAARgBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CgAAAk1TRnQBSQFMAgEBAgEAARABAQEQAQEBGAEAARgBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABYAMAARgDAAEBAQABCAYAAQkYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -182,7 +182,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD4 - CAAAAk1TRnQBSQFMAwEBAAH4AQAB+AEAARgBAAEYAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA + CAAAAk1TRnQBSQFMAwEBAAEQAQEBEAEBARgBAAEYAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA AWADAAEYAwABAQEAAQgGAAEJGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm -- Gitblit v1.8.0