领胜LDS 键盘AOI检测项目
patrick.xu
2021-02-20 78289c64a16dd02cc9fec595bf758a9e30a30926
src/Bro.Common.Model/Model/IOItem.cs
@@ -22,8 +22,9 @@
        /// IO点的值
        /// </summary>
        [Category("IO配置")]
        [Description("IO数值")]
        public virtual int Value { get; set; }
        [Description("IO状态")]
        [TypeConverter(typeof(EnumDescriptionConverter<IOValue>))]
        public virtual IOValue Value { get; set; }
        /// <summary>
        /// IO点是in还是out
@@ -44,7 +45,7 @@
        public virtual string GetDisplayText()
        {
            return $"{IOType.GetEnumDescription()}-{IONum}-{Value}";
            return $"{IOType.GetEnumDescription()}-{IONum}-{Value.GetEnumDescription()}";
        }
        public int GetHashCode(object obj)
@@ -70,7 +71,7 @@
        [Browsable(false)]
        [JsonIgnore]
        public override int Value { get; set; }
        public override IOValue Value { get; set; }
        public override string GetDisplayText()
        {
@@ -86,8 +87,8 @@
        public IODefinition IOItem { get; set; } = new IODefinition();
        [Category("IO操作配置")]
        [Description("需要操作的IO的数值")]
        public int CheckValue
        [Description("需要操作的IO的状态")]
        public IOValue CheckValue
        {
            get => IOItem.Value;
            set => IOItem.Value = value;
@@ -99,7 +100,7 @@
        public string GetDisplayText()
        {
            return IOItem.IODesc + "-" + CheckValue;
            return IOItem.IODesc + "-" + CheckValue.GetEnumDescription();
        }
    }
@@ -108,11 +109,14 @@
        Dictionary<IODefinition, string> itemDict = new Dictionary<IODefinition, string>();
        public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
        {
            itemDict.Clear();
            if (context.Instance is IORefrenceItem item)
            {
                item.IOItemSource.ForEach(i =>
                {
                    itemDict[i] = i.IODesc + "-" + i.IOType.GetEnumDescription() + "-" + i.IONum;
                    IODefinition temp = new IODefinition();
                    temp.DataFrom(i);
                    itemDict[temp] = (string.IsNullOrWhiteSpace(i.IODesc) ? i.IOPreStatement.GetEnumDescription() : i.IODesc) + "|" + i.IOType.GetEnumDescription() + "|" + i.IONum;
                });
                return new StandardValuesCollection(itemDict.Keys);
@@ -157,7 +161,7 @@
        /// <returns></returns>
        public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
        {
            var s = value.ToString().Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
            var s = value.ToString().Split(new char[] { '|' });
            if (s.Length == 3)
            {