private void SetMode(CalculationsMode mode) { if (mode == _calculationsMode) { return; } switch (mode) { case CalculationsMode.Complex: _view.ModeText = "Mode[Complex : f(z)]"; break; case CalculationsMode.Fxy: _view.ModeText = "Mode[3D : f(x,y)]"; break; case CalculationsMode.Real: _view.ModeText = "Mode[Real : f(x)]"; break; } _calculationsMode = mode; // _view.EditChartMenus.SetMode(_calculationsMode); }
private void _ModeChanged(CalculationsModeChangedEvent calculationsModeChangedEvent) { if (calculationsModeChangedEvent.CalculationsMode == _calculationsMode) { return; } _view.YVisible = calculationsModeChangedEvent.CalculationsMode == CalculationsMode.Complex || calculationsModeChangedEvent.CalculationsMode == CalculationsMode.Fxy; switch (calculationsModeChangedEvent.CalculationsMode) { case CalculationsMode.Complex: _view.XLabel = "Re(z) ="; _view.YLabel = "Im(z) ="; break; case CalculationsMode.Fxy: _view.XLabel = " x ="; _view.YLabel = " y ="; break; case CalculationsMode.Real: _view.XLabel = " x ="; break; } _calculationsMode = calculationsModeChangedEvent.CalculationsMode; }
private void SetMode(CalculationsMode mode) { if (mode != _calculationsMode) { _calculationsMode = mode; foreach (var chart in _view.Charts) { chart.Value.Visible = chart.Key == _calculationsMode; } } }
public Function GetFunction(string equation, CalculationsMode calculationsMode, string customFunctionsCode) { var key = $"{equation}{calculationsMode}{customFunctionsCode}"; if (!_functionsCache.ContainsKey(key)) { var func = _expressionsEvaluator.Evaluate(equation, customFunctionsCode, calculationsMode); _functionsCache.Add(key, func); } return(_functionsCache[key]); }
public NumericalCalculationsPresenter(INumericalCalculationsView view, IErrorHandler errorHandler) { _view = view; _errorHandler = errorHandler; _view.SetOperations(NumericalMethodsInfo.Instance._methods.Keys.ToArray()); _view.SelectedOperation = NumericalMethodsInfo.Instance._methods.Keys.First(); _view.OperationChanged += _view_OperationChanged; _view_OperationChanged(null, null); EventAggregator.Instance.Subscribe <CalculationsModeChangedEvent>(c => _calculationsMode = c.CalculationsMode); SharedViewState.Instance.DefaultActions[ViewName.NumericalCalculations] = _view_ComputeClicked; _view.ComputeClicked += _view_ComputeClicked; }
private FunctionType FunctionTypeFromCalculationsMode(CalculationsMode calculationsMode, bool isImplicit) { switch (calculationsMode) { case CalculationsMode.Real: return(isImplicit ? FunctionType.Real2DImplicit : FunctionType.Real2D); case CalculationsMode.Complex: return(isImplicit ? FunctionType.ComplexImplicit : FunctionType.Complex); case CalculationsMode.Fxy: return(isImplicit ? FunctionType.Real3DImplicit : FunctionType.Real3D); case CalculationsMode.Error: default: throw new ArgumentOutOfRangeException(nameof(calculationsMode), calculationsMode, null); } }
public IChart Create(CalculationsMode calculationsMode) { switch (calculationsMode) { case CalculationsMode.Real: return(CreateChart2D()); case CalculationsMode.Complex: return(CreateComplexChart()); case CalculationsMode.Fxy: return(CreateChart3D()); case CalculationsMode.Error: default: throw new ArgumentOutOfRangeException(nameof(calculationsMode), calculationsMode, null); } }
public void SetMode(CalculationsMode mode) { // if (chart2d != null) legendPositionsToolStripMenuItem.Visible = colorsOfChartToolStripMenuItem.Visible = seriesOfChartToolStripMenuItem.Visible = typeOfChartToolStripMenuItem.Visible = mode == CalculationsMode.Real; // if(complexChart!=null) colorAssignmentToolStripMenuItem.Visible = countourLinesToolStripMenuItem.Visible = mode == CalculationsMode.Complex; // if (chart3d != null) rescaleToolStripMenuItem.Visible = mode == CalculationsMode.Fxy; _calculationsMode = mode; }
public NumericalCalculationsPresenter(INumericalCalculationsView view, IErrorHandler errorHandler, ISharedViewState sharedViewState, IExceptionsHandler exceptionsHandler, ITextProvider expressionTextProvider, ICodeEditorView customFunctionsEditor, IExpressionsEvaluator expressionsEvaluator) { _view = view; _errorHandler = errorHandler; _sharedViewState = sharedViewState; _exceptionsHandler = exceptionsHandler; _expressionTextProvider = expressionTextProvider; this.customFunctionsEditor = customFunctionsEditor; this.expressionsEvaluator = expressionsEvaluator; _view.SetOperations(NumericalMethodsInfo.Instance._methods.Keys.ToArray()); _view.SelectedOperation = NumericalMethodsInfo.Instance._methods.Keys.First(); _view.OperationChanged += _view_OperationChanged; _view_OperationChanged(null, null); EventAggregator.Instance.Subscribe <CalculationsModeChangedEvent>(c => _calculationsMode = c.CalculationsMode); _sharedViewState.DefaultActions[ViewName.NumericalCalculations] = _view_ComputeClicked; _view.ComputeClicked += _view_ComputeClicked; }
public Function Evaluate(string input, string customFunctionsCode, CalculationsMode calculationsMode) { FunctionType = FunctionTypeFromCalculationsMode(calculationsMode, implicitFunctionRegex.IsMatch(input)); if (string.IsNullOrEmpty(input) || string.IsNullOrWhiteSpace(input)) { throw new ArgumentException(Strings.GUI_addToChartButton_Click_Expression_should_not_be_empty_); } MainTslCode = input; CustomFunctionsTslCode = !string.IsNullOrEmpty(customFunctionsCode) && !string.IsNullOrWhiteSpace(customFunctionsCode) ? customFunctionsCode : ""; var function = Compile(); return(new Function(function, FunctionType) { TslCode = MainTslCode, CsCode = MainCSharpCode }); }
public CalculationsModeChangedEvent(CalculationsMode mode) { CalculationsMode = mode; }