Esempio n. 1
0
        public ISecurityAccessAlgorithm GetSecurityAccessAlgorithm()
        {
            DcmCanConfig config = propertyGrid.SelectedObject as DcmCanConfig;

            return(SecurityAccessAlgorithManager.Instance().
                   GetSecurityAccessAlgorithm(config.SecurityAccessType));
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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;
            }
        }
Esempio n. 4
0
 void FullRefreshPropertyGrid(DcmCanConfig dcmCanConfig)
 {
     if (propertyGrid.InvokeRequired)
     {
         FullRefreshPropertyGridCallback callback = FullRefreshPropertyGrid;
         propertyGrid.Invoke(callback, dcmCanConfig);
     }
     else
     {
         propertyGrid.SelectedObject = dcmCanConfig;
         UpdateCanConfig();
     }
 }
Esempio n. 5
0
        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);
                }
            }
        }
Esempio n. 6
0
        void RefreshPropertyGrid(DcmCanConfig config)
        {
            RefreshPropertyGridCallback callback = RefreshPropertyGrid;

            if (InvokeRequired)
            {
                Invoke(callback, config);
            }
            else
            {
                propertyGrid.SelectedObject = null;
                propertyGrid.SelectedObject = config;

                DcmService.DcmService.CanTickEnabled = config.CanTickEnabled;
            }
        }