public FractalCalculatorViewPresenter(IFractal fractal, IDimensionCalculatorFactory dimensionCalculatorFactory, IFractalCalculatorView fractalCalculatorView, IControlPanel controlPanel) { if (fractal == null) { throw new ArgumentNullException("fractal"); } if (dimensionCalculatorFactory == null) { throw new ArgumentNullException("dimensionCalculatorFactory"); } if (fractalCalculatorView == null) { throw new ArgumentNullException("fractalCalculatorView"); } if (controlPanel == null) { throw new ArgumentNullException("controlPanel"); } _fractal = fractal; _dimensionCalculatorFactory = dimensionCalculatorFactory; _fractalCalculatorView = fractalCalculatorView; _controlPanel = controlPanel; _fractalCalculatorView.ClearPoints += new EventHandler(_fractalCalculatorView_ClearPoints); _fractalCalculatorView.CalculatePoints += new EventHandler(_fractalCalculatorView_CalculatePoints); _fractalCalculatorView.ResetControlPanel += new EventHandler(_fractalCalculatorView_ResetControlPanel); _fractalCalculatorView.CalculateDimension += new EventHandler(_fractalCalculatorView_CalculateDimension); _fractalCalculatorView.ValidatingUI += new Events.ValidatingEventHandler(_fractalCalculatorView_Validating); InitValidators(); }
private void _fractalCalculatorView_Validating(object sender, Events.ValidatingEventArgs e) { IFractalCalculatorView fractalCalculatorView = sender as IFractalCalculatorView; if (fractalCalculatorView == null) { throw new ApplicationException("fractalCalculatorView == null"); } if (_fractalCalculatorView != fractalCalculatorView) { throw new ApplicationException("_fractalCalculatorView != fractalCalculatorView"); } _viewValidator.Validate(_fractalCalculatorView); if (!_viewValidator.IsValid) { e.Cancel = true; e.ValidationMessage = _viewValidator.ErrorMessage; return; } }