public ISecurityAccessAlgorithm GetSecurityAccessAlgorithm() { DcmCanConfig config = propertyGrid.SelectedObject as DcmCanConfig; return(SecurityAccessAlgorithManager.Instance(). GetSecurityAccessAlgorithm(config.SecurityAccessType)); }
private void UpdateCanConfig() { DcmCanConfig config = propertyGrid.SelectedObject as DcmCanConfig; DcmService.DcmService.PhysicalRequestId = config.CanPhysicalRequestId; DcmService.DcmService.FunctionRequestId = config.CanFunctionRequestId; DcmService.DcmService.ResponseId = config.CanResponseId; DcmService.DcmService.CanTickEnabled = config.CanTickEnabled; DcmService.DcmService.CanTickPeriod = config.CanTickPeriod; DcmService.DcmService.SuppressResponse = config.SuppressResponse; }
private void propertyGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e) { DcmCanConfig config = propertyGrid.SelectedObject as DcmCanConfig; Debug.Assert(dcmDocument != null); switch (e.ChangedItem.Label) { case "CanPhysicalRequestId": DcmService.DcmService.PhysicalRequestId = config.CanPhysicalRequestId; dcmDocument.Config.PhysicalRequestId = config.CanPhysicalRequestId; mainForm.ContentChanged = true; break; case "CanFunctionRequestId": DcmService.DcmService.FunctionRequestId = config.CanFunctionRequestId; dcmDocument.Config.FunctionRequestId = config.CanFunctionRequestId; mainForm.ContentChanged = true; break; case "CanResponseId": DcmService.DcmService.ResponseId = config.CanResponseId; dcmDocument.Config.ResponseId = config.CanResponseId; mainForm.ContentChanged = true; break; case "CanTickPeriod": DcmService.DcmService.CanTickPeriod = config.CanTickPeriod; dcmDocument.Config.CanTickPeriod = (int)config.CanTickPeriod; mainForm.ContentChanged = true; break; case "CanTickEnabled": DcmService.DcmService.CanTickEnabled = config.CanTickEnabled; dcmDocument.Config.CanTickEnabled = config.CanTickEnabled; mainForm.ContentChanged = true; break; case "SuppressResponse": DcmService.DcmService.SuppressResponse = config.SuppressResponse; dcmDocument.Config.SuppressTickResponse = config.SuppressResponse; mainForm.ContentChanged = true; break; case "SecurityAccessType": // 不需要通知Dcm dcmDocument.Config.SecurityAccessType = config.SecurityAccessType; mainForm.ContentChanged = true; break; default: break; } }
void FullRefreshPropertyGrid(DcmCanConfig dcmCanConfig) { if (propertyGrid.InvokeRequired) { FullRefreshPropertyGridCallback callback = FullRefreshPropertyGrid; propertyGrid.Invoke(callback, dcmCanConfig); } else { propertyGrid.SelectedObject = dcmCanConfig; UpdateCanConfig(); } }
internal void OnSessionChanged(SessionChangedEventArgs e) { DcmCanConfig config = propertyGrid.SelectedObject as DcmCanConfig; if (config != null) { bool newEnabled = !e.DefaultSession; if (config.CanTickEnabled != newEnabled) { config.CanTickEnabled = newEnabled; RefreshPropertyGrid(config); } } }
void RefreshPropertyGrid(DcmCanConfig config) { RefreshPropertyGridCallback callback = RefreshPropertyGrid; if (InvokeRequired) { Invoke(callback, config); } else { propertyGrid.SelectedObject = null; propertyGrid.SelectedObject = config; DcmService.DcmService.CanTickEnabled = config.CanTickEnabled; } }