public MainForm() : base("CDI检测机系统", System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()) { InitializeComponent(); //Version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); ClassCommonSetting.ProgramLog(LogFile.Level.Info, "Main", "Run version: " + Version); //初始化硬件 SplashProcessInfo = "初始化硬件..."; HardwarePool.SystemHardware.instance.Init(); HardwarePool.SystemHardware.instance.Open(); SerialProtocalCollection.instance.ConnectProtocol(); SplashProcessInfo = "加载参数,打开CDIVision..."; ClassCommonSetting.CommonInit(); this.LogOutTime = GetLogOutTime(ClassCommonSetting.SysParam.LogOutTime); //初始化工作区域 SplashProcessInfo = "初始化工作区域..."; zones = ClassWorkZones.Instance; zones.AllZoneInit(); SplashProcessInfo = "初始化工作流程..."; workflow = ClassWorkFlow.Instance; workflow.WorkFlowInit(); //初始化主界面 SplashProcessInfo = "初始化界面..."; auto = AutoPanel.Instance; setting = new ConfigurationPanel(); manual = new ManualOperationPanel(); product = new ProductPanel(); calibration = new CalibrationPanel(); monitor = new MonitorPanel(); AddInterface(PanelType.AutoFace, auto); AddInterface(PanelType.SettingFace, setting); AddInterface(PanelType.ManualFace, manual); AddInterface(PanelType.ProductFace, product); AddInterface(PanelType.DebugFace, calibration); AddInterface(PanelType.MonitorFace, monitor); ClassCommonSetting.SysParam.AddParaInterface(product); ClassCommonSetting.SysParam.CurrentProductParam.SetDataToInterface(product); ClassCommonSetting.SysParam.CurrentProductParam.AddParaInterface(calibration); zones.SPC.AddGUI(auto); zones.SPC.AddGUI(monitor); //事件挂钩 CommonFunction.SysPublisher.subscribeMeToSystemEvents(zones); CommonFunction.SysPublisher.subscribeMeToSystemEvents(workflow); zones.WorkZone外框架.HookErrorEvent(); auto.HookErrorEvent(); workflow.TimeUsage.AddTimeUsageGUI(auto); zones.AddTimeUsage(auto); ClassCommonSetting.SocketToAOI.subscribeMeToResponseEvents(zones.WorkZone尺寸测量); HookErrorEvent(); CommonFunction.SysPublisher.subscribeMeToSystemEvents(this); this.UserLoggedIn += MainForm_UserLoggedIn1; this.UserLoggedOut += MainForm_UserLoggedOut1; product.SaveParaEvent += Product_SaveParaEvent; //发送事件 CommonFunction.SysPublisher.notifyProductChangeEventSubscribers(null, new StateEventArgs(ClassCommonSetting.SysParam.CurrentProduct, "")); }
private void OnUpdateFlagAndString(uint flag, StringBuilder str) { if ((flag == UpdateAnimClear || flag == UpdateAnimAdd)) { //AnimListBox.BeginInvoke(new PFN_UpdateFlagAndString(UpdateAnimList), flag, str); } else if (flag == UpdateMonitorTargetName) { MonitorPanel.BeginInvoke(new PFN_UpdateFlagAndString(UpdateMonitorTarget), flag, str); } else { throw new NotImplementedException(); } }
private void OnUpdatePosAndRot(float x, float y, float z, float pitch, float yaw, float roll) { MonitorPanel.BeginInvoke(new PFN_UpdatePosAndRot(InvokeUpdatePosAndRot), x, y, z, pitch, yaw, roll); }
private void BindMonitors(MonitorPanel[] panels) { MonitorItems = panels; if (panels.Length > 0) { Monitor = panels[0]; } else { Monitor = null; } }