| | |
| | | //}); |
| | | |
| | | m_deserializeMenuFrm = new DeserializeDockContent(GetMenuFromPersistString); |
| | | LoadLayoutFromXML(m_deserializeMenuFrm); |
| | | |
| | | m_deserializeDeviceRunFrm = new DeserializeDockContent(GetAllFormPersistString); |
| | | _allMenuLoadDoneHandle.Set(); |
| | | |
| | | //LoadLayoutFromXML(m_deserializeMenuFrm); |
| | | //_allMenuLoadDoneHandle.Set(); |
| | | |
| | | Text = SettingHelper.GetProgramDescription(); |
| | | string iconPath = SettingHelper.GetProgramIcon(); |
| | |
| | | private void RegisterEvent(MenuFrmBase dockFrm) |
| | | { |
| | | dockFrm.OnUploadProcess = DockFrm_OnUploadProcess; |
| | | dockFrm.OnLogMsgOutput = DockFrm_OnLogMsgOutput; |
| | | |
| | | dockFrm.OnLogMsgOutput -= DockFrm_OnLogMsgOutput; |
| | | dockFrm.OnLogMsgOutput += DockFrm_OnLogMsgOutput; |
| | | |
| | | //if (dockFrm is FrmDevices) |
| | | //{ |
| | |
| | | CloseAllDeviceFrm(); |
| | | LoadDevices(); |
| | | |
| | | foreach (var dock in dockPanelMain.Contents) |
| | | try |
| | | { |
| | | MenuFrmBase m = dock as MenuFrmBase; |
| | | |
| | | if (m != null && m.Id != frmId) |
| | | foreach (var dock in dockPanelMain.Contents) |
| | | { |
| | | m.DownloadProcess(process); |
| | | MenuFrmBase m = dock as MenuFrmBase; |
| | | |
| | | if (m != null && m.Id != frmId) |
| | | { |
| | | m.DownloadProcess(process); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | } |
| | | }); |
| | | } |
| | | |
| | | private void Process_OnAlarmUpdate(string alarmMsg) |
| | | private async void Process_OnAlarmUpdate(string alarmMsg) |
| | | { |
| | | tsslWarning.Text = alarmMsg; |
| | | this.BeginInvoke(new Action(() => |
| | | { |
| | | tsslWarning.Text = alarmMsg; |
| | | })); |
| | | |
| | | await Task.Delay(100); |
| | | } |
| | | |
| | | private ToolStripMenuItem GetMatchNode(ToolStripItemCollection items, string parentMenuCode) |
| | |
| | | |
| | | private void MainFrm_Load(object sender, EventArgs e) |
| | | { |
| | | LoadLayoutFromXML(m_deserializeMenuFrm); |
| | | _allMenuLoadDoneHandle.Set(); |
| | | |
| | | AdvancedPwdFrm.OnLoginOK = OnLoginOK; |
| | | |
| | | SpinWait wait = new SpinWait(); |
| | | while (_process == null) |
| | | { |
| | | wait.SpinOnce(); |
| | | } |
| | | //SpinWait wait = new SpinWait(); |
| | | //while (_process == null) |
| | | //{ |
| | | // wait.SpinOnce(); |
| | | //} |
| | | |
| | | LoadProcess(); |
| | | |
| | | LoadLayoutFromXML(m_deserializeDeviceRunFrm); |
| | | |
| | | LoadProcess(false); |
| | | } |
| | | |
| | | private List<string> LoadProcessCode() |
| | | { |
| | | var systemProcessCodes = ProcessFactory.GetProcessCodes(); |
| | | var avaiableProcessCodes = SettingHelper.GetProcessCodes(); |
| | | |
| | | List<string> pCodes = new List<string>(); |
| | | |
| | | if (avaiableProcessCodes.Count > 0) |
| | | { |
| | | pCodes = avaiableProcessCodes.Intersect(systemProcessCodes).ToList(); |
| | | } |
| | | else |
| | | { |
| | | pCodes = systemProcessCodes; |
| | | } |
| | | |
| | | return pCodes; |
| | | } |
| | | |
| | | private List<string> LoadProductionCode() |
| | | { |
| | | return SettingHelper.GetProductionCodes(); |
| | | } |
| | | |
| | | private void LoadProcess(bool isInitialProcess = true) |
| | | { |
| | | if (isInitialProcess) |
| | | { |
| | | _process = ProcessFactory.CreateStationProcess(LoadProcessCode()[0], LoadProductionCode()[0], out string msg); |
| | | |
| | | if (!string.IsNullOrWhiteSpace(msg)) |
| | | { |
| | | _process = null; |
| | | //LogAsync(DateTime.Now, "Process创建失败", $"{msg}"); |
| | | throw new ProcessException($"Process创建失败,{msg}", null, ExceptionLevel.Fatal); |
| | | } |
| | | |
| | | |
| | | _process.InitialProcess(""); |
| | | } |
| | | _process.OnLog -= OnProcessLogOutput; |
| | | _process.OnLog += OnProcessLogOutput; |
| | | |
| | | _process.OnAlarmUpdate -= Process_OnAlarmUpdate; |
| | | _process.OnAlarmUpdate += Process_OnAlarmUpdate; |
| | | |
| | | //CloseAllDeviceFrm(); |
| | | LoadDevices(); |
| | | |
| | | try |
| | | { |
| | | foreach (var dock in dockPanelMain.Contents) |
| | | { |
| | | MenuFrmBase m = dock as MenuFrmBase; |
| | | |
| | | m.DownloadProcess(_process); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | } |
| | | } |
| | | |
| | | private void OnProcessLogOutput(DateTime dt, string prefix, string msg) |
| | | { |
| | | DockFrm_OnLogMsgOutput(new LogMsg(dt, prefix, msg)); |
| | | } |
| | | |
| | | private void CloseAllDocuments() |
| | |
| | | |
| | | private void OnLoginOK(bool isLogin) |
| | | { |
| | | IsLogin = true; |
| | | IsLogin = isLogin; |
| | | } |
| | | #endregion |
| | | |
| | |
| | | }).ToList().ForEach(u => |
| | | { |
| | | if (u == null) |
| | | return; |
| | | |
| | | if (_process.DeviceCollection.Any(d => d.Id == u.Device.Id)) |
| | | return; |
| | | |
| | | u.DockPanel = null; |
| | |
| | | |
| | | dockFrm.Text = desc[2]; |
| | | |
| | | if (_process != null) |
| | | { |
| | | dockFrm.DownloadProcess(_process); |
| | | } |
| | | //if (_process != null) |
| | | //{ |
| | | // dockFrm.DownloadProcess(_process); |
| | | //} |
| | | |
| | | dockFrm.SetLoginStatus(IsLogin); |
| | | |
| | |
| | | |
| | | dockFrm.Text = desc[2]; |
| | | |
| | | if (_process != null) |
| | | { |
| | | dockFrm.DownloadProcess(_process); |
| | | } |
| | | //if (_process != null) |
| | | //{ |
| | | // dockFrm.DownloadProcess(_process); |
| | | //} |
| | | |
| | | dockFrm.SetLoginStatus(IsLogin); |
| | | |