领胜LDS 键盘AOI检测项目
xcd
2020-07-10 d437e53b2eea04f88217d719abc8d34ba5b25c2c
Merge branch 'master' of http://gitblit.broconcentric.com:8088/r/M071
5个文件已修改
61 ■■■■■ 已修改文件
src/Bro.Device.GTSCard/Bro.Device.GTSCard.csproj 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardRunBase.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.UI.Model.Winform/UI/Ctrl/IOIndicatorCtrl.Designer.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.UI.Model.Winform/UI/Ctrl/IOIndicatorCtrl.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.Device.GTSCard/Bro.Device.GTSCard.csproj
@@ -67,10 +67,14 @@
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <Content Include="gts.dll" />
    <Content Include="gts.dll">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>
  <ItemGroup>
    <None Include="GTS800.cfg" />
    <None Include="GTS800.cfg">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Include="packages.config" />
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs
@@ -10,6 +10,8 @@
using Bro.Common.Model;
using Bro.UI.Model.Winform;
using static Bro.Common.Helper.EnumHelper;
using Bro.Common.Interface;
using Bro.Common.Base;
namespace Bro.UI.Device.Winform
{
@@ -20,13 +22,38 @@
        public CtrlMotionCardIOStatus()
        {
            InitializeComponent();
            InitIOEvent();
        }
        private IDevice Device { get; set; }
        protected MotionCardBase MotionCard
        {
            get => Device as MotionCardBase;
        }
        public CtrlMotionCardIOStatus(List<IOItem> monitorValues)
        public CtrlMotionCardIOStatus(IDevice device, List<IOItem> monitorValues)
        {
            InitializeComponent();
            Device = device;
            _monitorValues = monitorValues;
            InitIOEvent();
        }
        private void InitIOEvent()
        {
            foreach (var ctr in groupBoxIOOut.Controls)
            {
                if (ctr is IOIndicatorCtrl ioOut)
                {
                    ioOut.OnIODoubleClick += IoOut_DoubleClick;
                }
            }
        }
        private void IoOut_DoubleClick(string desc, bool isOn)
        {
            var index = Convert.ToInt16(desc.Substring(3));
            MotionCard.WriteOutput(index, isOn ? IOValue.FALSE : IOValue.TRUE);
        }
        private void RefreshIOStatus(object sender, EventArgs e)
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardRunBase.cs
@@ -55,7 +55,7 @@
            }
            CtrlMotionCardIOStatus ctrlMotionCardIOStatus = new CtrlMotionCardIOStatus(MotionCard.MonitorValues);
            CtrlMotionCardIOStatus ctrlMotionCardIOStatus = new CtrlMotionCardIOStatus(Device, MotionCard.MonitorValues);
            //ctrlMotionCardIOStatus.Dock = DockStyle.Fill;
            flowLayoutPanel2.Controls.Add(ctrlMotionCardIOStatus);
        }
src/Bro.UI.Model.Winform/UI/Ctrl/IOIndicatorCtrl.Designer.cs
@@ -41,6 +41,7 @@
            this.plStatus.Size = new System.Drawing.Size(24, 24);
            this.plStatus.TabIndex = 0;
            this.plStatus.Paint += new System.Windows.Forms.PaintEventHandler(this.plStatus_Paint);
            this.plStatus.DoubleClick += new System.EventHandler(this.plStatus_DoubleClick);
            // 
            // lblDesc
            // 
@@ -55,6 +56,7 @@
            this.lblDesc.TabIndex = 1;
            this.lblDesc.Text = "XXXX";
            this.lblDesc.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
            this.lblDesc.DoubleClick += new System.EventHandler(this.lblDesc_DoubleClick);
            // 
            // IOIndicatorCtrl
            // 
src/Bro.UI.Model.Winform/UI/Ctrl/IOIndicatorCtrl.cs
@@ -101,5 +101,23 @@
                g.FillPolygon(Brushes.White, regionBlink);
            }
        }
        public event Action<string,bool> OnIODoubleClick;
        private void lblDesc_DoubleClick(object sender, EventArgs e)
        {
            if (IsOn != null)
            {
                OnIODoubleClick?.Invoke(Desc,IsOn.Value);
            }
        }
        private void plStatus_DoubleClick(object sender, EventArgs e)
        {
            if (IsOn != null)
            {
                OnIODoubleClick?.Invoke(Desc, IsOn.Value);
            }
        }
    }
}