Пример #1
0
        public ChartEditorPresenter(
            IChartEditorView view,
            IAxisSettingsPresenter axisSettingsPresenter,
            IChartSettingsPresenter chartSettingsPresenter,
            IChartExportSettingsPresenter chartExportSettingsPresenter,
            ICurveSettingsPresenter curveSettingsPresenter,
            IDataBrowserPresenter dataBrowserPresenter,
            IChartTemplateMenuPresenter chartTemplateMenuPresenter,
            IChartUpdater chartUpdater,
            IEventPublisher eventPublisher,
            IDimensionFactory dimensionFactory,
            ICurveColorGroupingPresenter curveColorGroupingPresenter)
            : base(view)
        {
            _showDataColumnInDataBrowserDefinition = col => col.DataInfo.Origin != ColumnOrigins.BaseGrid;

            _axisSettingsPresenter        = axisSettingsPresenter;
            _chartSettingsPresenter       = chartSettingsPresenter;
            _chartExportSettingsPresenter = chartExportSettingsPresenter;
            _curveSettingsPresenter       = curveSettingsPresenter;
            _curveColorGroupingPresenter  = curveColorGroupingPresenter;
            _dataBrowserPresenter         = dataBrowserPresenter;
            _chartTemplateMenuPresenter   = chartTemplateMenuPresenter;
            _chartUpdater                 = chartUpdater;
            _eventPublisher               = eventPublisher;
            _dimensionFactory             = dimensionFactory;
            _presentersWithColumnSettings = new List <IPresenterWithColumnSettings>
            {
                _dataBrowserPresenter, _curveSettingsPresenter, _axisSettingsPresenter
            };
            initPresentersWithColumnSettings();

            _dataBrowserPresenter.UsedChanged      += (o, e) => onDataBrowserUsedChanged(e);
            _dataBrowserPresenter.SelectionChanged += (o, e) => onSelectionChanged(e.Columns);

            _chartExportSettingsPresenter.ChartExportSettingsChanged += (o, e) => onChartPropertiesChanged();
            _chartSettingsPresenter.ChartSettingsChanged             += (o, e) => updateChart();

            _curveSettingsPresenter.AddCurves            += (o, e) => addCurvesForColumns(e.Columns);
            _curveSettingsPresenter.RemoveCurve          += (o, e) => removeCurve(e.Curve);
            _curveSettingsPresenter.CurvePropertyChanged += (o, e) => updateChart();

            _axisSettingsPresenter.AxisRemoved         += (o, e) => onAxisRemoved(e.Axis);
            _axisSettingsPresenter.AxisAdded           += (o, e) => onAxisAdded();
            _axisSettingsPresenter.AxisPropertyChanged += (o, e) => updateChart();

            _curveColorGroupingPresenter.ApplySelectedColorGrouping += (o, e) => onApplyColorGrouping(e.SelectedMetaData);

            AddSubPresenters(axisSettingsPresenter, chartSettingsPresenter, chartExportSettingsPresenter, curveSettingsPresenter, dataBrowserPresenter,
                             curveColorGroupingPresenter);

            _view.SetAxisSettingsView(axisSettingsPresenter.View);
            _view.SetChartSettingsView(chartSettingsPresenter.View);
            _view.SetChartExportSettingsView(chartExportSettingsPresenter.View);
            _view.SetCurveSettingsView(curveSettingsPresenter.View);
            _view.SetCurveColorGroupingView(curveColorGroupingPresenter.View);
            _view.SetDataBrowserView(dataBrowserPresenter.View);
        }
Пример #2
0
        protected override void Context()
        {
            _view = A.Fake <IChartEditorView>();
            _axisSettingsPresenter        = A.Fake <IAxisSettingsPresenter>();
            _chartSettingsPresenter       = A.Fake <IChartSettingsPresenter>();
            _chartExportSettingsPresenter = A.Fake <IChartExportSettingsPresenter>();
            _curveSettingsPresenter       = A.Fake <ICurveSettingsPresenter>();
            _dataBrowserPresenter         = A.Fake <IDataBrowserPresenter>();
            _chartTemplateMenuPresenter   = A.Fake <IChartTemplateMenuPresenter>();
            _chartUpdater                = A.Fake <IChartUpdater>();
            _eventPublisher              = A.Fake <IEventPublisher>();
            _dimensionFactory            = A.Fake <IDimensionFactory>();
            _curveColorGroupingPresenter = A.Fake <ICurveColorGroupingPresenter>();
            sut = new ChartEditorPresenter(_view, _axisSettingsPresenter, _chartSettingsPresenter, _chartExportSettingsPresenter, _curveSettingsPresenter, _dataBrowserPresenter, _chartTemplateMenuPresenter, _chartUpdater, _eventPublisher, _dimensionFactory, _curveColorGroupingPresenter);

            sut.SetCurveNameDefinition(x => x.QuantityInfo.PathAsString);

            _chart = new CurveChart().WithAxes();
            sut.Edit(_chart);

            _baseGrid       = new BaseGrid("Time", DomainHelperForSpecs.TimeDimensionForSpecs());
            _baseGrid2      = new BaseGrid("Time", DomainHelperForSpecs.TimeDimensionForSpecs());
            _baseGrid3      = new BaseGrid("Time", DomainHelperForSpecs.TimeDimensionForSpecs());
            _standardColumn = new DataColumn("Standard", DomainHelperForSpecs.ConcentrationDimensionForSpecs(), _baseGrid)
            {
                DataInfo = new DataInfo(ColumnOrigins.Observation),
            };
            _standardColumn2 = new DataColumn("Standard_2", DomainHelperForSpecs.ConcentrationDimensionForSpecs(), _baseGrid2)
            {
                DataInfo = new DataInfo(ColumnOrigins.Observation),
            };

            _standardColumn3 = new DataColumn("Standard_3", DomainHelperForSpecs.ConcentrationDimensionForSpecs(), _baseGrid3)
            {
                DataInfo = new DataInfo(ColumnOrigins.Observation),
            };

            A.CallTo(() => _dimensionFactory.MergedDimensionFor(_baseGrid)).Returns(_baseGrid.Dimension);
            A.CallTo(() => _dimensionFactory.MergedDimensionFor(_standardColumn)).Returns(_standardColumn.Dimension);
        }
Пример #3
0
 public void AttachPresenter(ICurveColorGroupingPresenter presenter)
 {
     _presenter = presenter;
 }