private void cylinderFunctionWithGasPressure_Force_FunctionChanged(object sender, FunctionEventArgs e) { CylinderFunctionWithGasPressure _cylinderFunctionWithGasPressure = (CylinderFunctionWithGasPressure)sender; #region "requires harmonic order" bool _requiresHarmonicOrder = false; if (e.FunctionInfoBase is FunctionInfoKinematic) { FunctionInfoKinematic _functionInfoKinematic = (FunctionInfoKinematic)e.FunctionInfoBase; if (_functionInfoKinematic.RequiresHarmonicOrder) { _requiresHarmonicOrder = true; } } if (_requiresHarmonicOrder) { _cylinderFunctionWithGasPressure.ReselectHarmonicOrder(); _cylinderFunctionWithGasPressure.EnableHarmonicOrder(); } else { _cylinderFunctionWithGasPressure.DisableHarmonicOrder(); _cylinderFunctionWithGasPressure.DeselectHarmonicOrder(); } #endregion "requires harmonic order" #region "requires indicator function" bool _requiresIndicatorFunction = false; if (e.FunctionInfoBase is FunctionInfoForce) { FunctionInfoForce _functionInfoForce = (FunctionInfoForce)e.FunctionInfoBase; if (_functionInfoForce.RequiresIndicatorFunction) { _requiresIndicatorFunction = true; } } if (_requiresIndicatorFunction) { _cylinderFunctionWithGasPressure.EnableCylinderPressureVsCrankAngleIndicatorFunction(); } else { _cylinderFunctionWithGasPressure.DisableCylinderPressureVsCrankAngleIndicatorFunction(); } #endregion "requires indicator function" //pokličemo kar tega, da pohendlamo še enable/disable ok buttona this.tabControl1_SelectedIndexChanged(base.tabControl1, new EventArgs()); }
protected override void OnOKButtonClicked(ref FunctionInfoBase _selectedFunction, ref bool _cancel) { base.OnOKButtonClicked(ref _selectedFunction, ref _cancel); if (base.tabControl1.SelectedTab == this.tabPage_Kinematics) { FunctionInfoKinematic _functionInfoKinematic = (FunctionInfoKinematic)this.cylinderFunction_Kinematics.SelectedFunction; _functionInfoKinematic.PositionedCylinder = cylinderFunction_Kinematics.SelectedPositionedCylinder; _functionInfoKinematic.HarmonicOrder = cylinderFunction_Kinematics.SelectedHarmonicOrder; _functionInfoKinematic.CylinderRelative = this.CylinderRelative; _selectedFunction = _functionInfoKinematic; } }
public Form_AddAFunctionKinematics(ChartAreaInfo[] _availableChartAreas, PositionedCylinder[] _availablePositionedCylinders) : base(_availableChartAreas) { this.Constructor(); this.cylinderFunction_Kinematics.AvailablePositionedCylinders = _availablePositionedCylinders; this.cylinderFunction_Kinematics.AvailableFunctions = FunctionInfoKinematic.GetAvailableFunctions(); this.cylinderFunction_Kinematics.AvailableHarmonicOrders = new HarmonicOrderInfo[] { HarmonicOrderInfo.Full, HarmonicOrderInfo.FirstApproximation, HarmonicOrderInfo.SecondApproximation, }; }