public void ShowFractal(IFractal fractal, IControlPanel controlPanel) { if (MainViewPresenter != null) { FractalCompositeView2 compositeView = new FractalCompositeView2(); compositeView.FractalView = MainViewPresenter.RendererAbstractFactory.CreateFractalView(); InitFractalCompositeView(fractal, compositeView, controlPanel); compositeView.Text = fractal.Name; compositeView.Dock = DockStyle.Fill; compositeView.Activated += (s, e) => { var dockContent = s as IDockContent; if (dockContent == null) { return; } if (fractal != null) { OnSelectedChanged(fractal); } }; compositeView.FormClosed += compositeViewClosed; compositeView.Show(_dockPanel); _dockContentFractalDictionary[compositeView] = fractal; } }
private void InitFractalCompositeView(IFractal fractal, FractalCompositeView2 view, IControlPanel controlPanel) { if (MainViewPresenter != null) { int pointsToCalculate = 100000;//TODO should be moved controlPanel.Rectangle = view.FractalView.DrawableRectangle; view.FractalCalculatorView.RefreshView(pointsToCalculate); FractalCalculatorViewPresenter presenter3 = new FractalCalculatorViewPresenter(fractal, MainViewPresenter.DimensionCalculatorFactory, view.FractalCalculatorView, controlPanel); FractalViewPresenterBase fractalViewPresenter = MainViewPresenter.RendererAbstractFactory.CreateFractalViewPresenter(fractal, controlPanel, view.FractalView, MainViewPresenter.RendererAbstractFactory.CreateRenderer(view.FractalView)); } }