using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using HalconDotNet; namespace CommonMethods { [Serializable] public abstract class IVisionJob { /// /// 当前流程树是否处于折叠状态 /// public bool jobTreeFold = true; /// /// Job名 /// public string JobName { get; set; } /// /// 需要连线的节点对,不停的画连线,注意键值对中第一个为连线的结束节点,第二个为起始节点,一个输出可能连接多个输入,而键值对中的键不能重复, /// 所以把源作为值,输入作为键 /// public Dictionary D_itemAndSource { get; set; } = new Dictionary(); /// /// JOB上的树结构,取消该参数,TreeView无法二进制序列化 /// //public TreeView tvwOnWorkJob { get; set; } = new TreeView(); /// /// 工具输入项个数 /// public int inputItemNum = 0; /// /// 工具输出项个数 /// public int outputItemNum = 0; /// /// 流程运行结果图像,取消,无法序列化 /// public static HObject jobResultImage { get; set; } = new HObject(); /// /// 流程树中节点的最大长度 /// public int maxLength { get; set; } /// /// 工具对象集合 /// public List L_toolList { get; set; } = new List(); /// /// 正在绘制输入输出指向线 /// public bool isDrawing { get; set; } /// /// 记录本工具执行完的耗时,用于计算各工具耗时 /// public double recordElapseTime { get; set; } /// /// 编辑节点前节点文本,用于修改工具名称 /// public string nodeTextBeforeEdit { get; set; } = string.Empty; /// /// 标准图像字典,用于存储标准图像路径和图像对象 /// public Dictionary D_standardImage { get; set; } = new Dictionary(); /// /// 记录起始节点和此节点的列坐标值 /// public Dictionary startNodeAndColor { get; set; } = new Dictionary(); /// /// 记录前面的划线所跨越的列段, /// public Dictionary> list { get; set; } = new Dictionary>(); /// /// 每一个列坐标值对应一种颜色 /// public Dictionary colValueAndColor { get; set; } = new Dictionary(); /// /// 输入输出指向线的颜色数组 /// public Color[] color { get; set; } = new Color[] { Color.Blue, Color.Orange, Color.Black, Color.Red, Color.Green, Color.Brown, Color.Blue, Color.Black, Color.Red, Color.Green, Color.Orange, Color.Brown, Color.Blue, Color.Black, Color.Red, Color.Green, Color.Orange, Color.Brown, Color.Blue, Color.Black, Color.Red, Color.Green, Color.Orange, Color.Brown, Color.Blue, Color.Black, Color.Red, Color.Green, Color.Orange, Color.Brown}; /// /// 流程编辑时的右击菜单 /// public static ContextMenuStrip rightClickMenu { get; set; } = new ContextMenuStrip(); /// /// 在空白除右击菜单 /// public static ContextMenuStrip rightClickMenuAtBlank { get; set; } } }