using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using CommonMethods; using WeifenLuo.WinFormsUI.Docking; using ToolLib.VisionJob; using VisionJobFactory; namespace ToolLib.VisionJob { public partial class FormToolBox : DockContent { public FormToolBox() { InitializeComponent(); VisionToolFactory.InitVisionToolTypeDic(); } /// /// 窗体对象实例 /// private static FormToolBox _instance; public static FormToolBox Instance { get { if (_instance == null) _instance = new FormToolBox(); return _instance; } } private void tvw_ToolBox_AfterSelect(object sender, TreeViewEventArgs e) { if(e.Node.Level == 0) { this.richTextBoxEx1.Text = e.Node.Text; } else if(e.Node.Level == 1) { object selectTag = tvw_ToolBox.SelectedNode.Tag; if (selectTag != null) { IToolInfo insertTool = VisionToolFactory.CreateToolVision((ToolType)Enum.Parse(typeof(ToolType), selectTag.ToString())); this.richTextBoxEx1.Text = insertTool.toolDescription; } else { this.richTextBoxEx1.Text = "此工具尚未开发"; } } } private void tvw_ToolBox_DoubleClick(object sender, EventArgs e) { try { if (tvw_ToolBox.SelectedNode.Level == 0) //如果双击的是文件夹节点,返回 return; if(VisionJobParams.pVisionProject.Project.Count == 0) // 若当前无流程,需要先建立项目和流程树,并对其进行初始化 { OperateProject.Instance.CreateNewJob(); } if (VisionJobParams.pVisionProject.Project.Count > 0) //再次确认已存在流程 { object selectTag = tvw_ToolBox.SelectedNode.Tag; if(selectTag != null) { ToolType mToolType = (ToolType)Enum.Parse(typeof(ToolType), selectTag.ToString()); OperateTreeView.Instance.Add_Tool(mToolType); } else { Logger.LoggerClass.WriteLog($"{tvw_ToolBox.SelectedNode.Text} 工具尚未开发", Logger.MsgLevel.Warn); } } } catch (Exception ex) { Logger.LoggerClass.WriteLog($"添加流程失败!失败原因:{ex.Message}", ex); } } private void tvw_ToolBox_Click(object sender, EventArgs e) { } } }