From 7364a6f17d34f09c6191a14450d50d3c605af3d1 Mon Sep 17 00:00:00 2001 From: Michael Sevestre Date: Wed, 12 Jun 2019 11:23:54 +0200 Subject: [PATCH] Fixes #574 strange behavior (#575) * Fixes #574 strange behavior * Fixes #574 strange behavior --- src/OSPSuite.Core/Chart/ChartUpdate.cs | 8 +++--- src/OSPSuite.Core/Chart/ChartUpdater.cs | 6 ++-- src/OSPSuite.Core/Chart/CurveChart.cs | 7 ++--- src/OSPSuite.Core/Chart/Events.cs | 6 ++-- .../OSPSuite.Infrastructure.csproj | 4 +-- src/OSPSuite.Infrastructure/packages.config | 2 +- .../OSPSuite.Presentation.csproj | 4 +-- .../Presenters/Charts/ChartEditorPresenter.cs | 28 +++++++++---------- src/OSPSuite.Presentation/packages.config | 2 +- .../OSPSuite.Core.Tests.csproj | 4 +-- .../Presentation/ChartEditorPresenterSpecs.cs | 4 +-- tests/OSPSuite.Core.Tests/packages.config | 2 +- .../Presenters/ChartTestPresenter.cs | 4 --- 13 files changed, 38 insertions(+), 43 deletions(-) diff --git a/src/OSPSuite.Core/Chart/ChartUpdate.cs b/src/OSPSuite.Core/Chart/ChartUpdate.cs index 756e4d25a..d0c1df3a9 100644 --- a/src/OSPSuite.Core/Chart/ChartUpdate.cs +++ b/src/OSPSuite.Core/Chart/ChartUpdate.cs @@ -7,18 +7,18 @@ public class ChartUpdate : IDisposable { private readonly IEventPublisher _eventPublisher; private readonly IChart _chart; - private readonly bool _propogateChartChangeEvent; + private readonly bool _propagateChartChangeEvent; - public ChartUpdate(IEventPublisher eventPublisher, IChart chart, bool propogateChartChangeEvent) + public ChartUpdate(IEventPublisher eventPublisher, IChart chart, bool propagateChartChangeEvent) { _eventPublisher = eventPublisher; _chart = chart; - _propogateChartChangeEvent = propogateChartChangeEvent; + _propagateChartChangeEvent = propagateChartChangeEvent; } public void Dispose() { - _eventPublisher.PublishEvent(new ChartUpdatedEvent(_chart,_propogateChartChangeEvent)); + _eventPublisher.PublishEvent(new ChartUpdatedEvent(_chart,_propagateChartChangeEvent)); } } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Chart/ChartUpdater.cs b/src/OSPSuite.Core/Chart/ChartUpdater.cs index 5e64d0fb9..454cf363b 100644 --- a/src/OSPSuite.Core/Chart/ChartUpdater.cs +++ b/src/OSPSuite.Core/Chart/ChartUpdater.cs @@ -4,7 +4,7 @@ namespace OSPSuite.Core.Chart { public interface IChartUpdater { - ChartUpdate UpdateTransaction(IChart chart, bool propogateChartChangeEvent =true); + ChartUpdate UpdateTransaction(IChart chart, bool propagateChartChangeEvent =true); void Update(IChart chart); } @@ -17,9 +17,9 @@ public ChartUpdater(IEventPublisher eventPublisher) _eventPublisher = eventPublisher; } - public ChartUpdate UpdateTransaction(IChart chart, bool propogateChartChangeEvent = true) + public ChartUpdate UpdateTransaction(IChart chart, bool propagateChartChangeEvent = true) { - return new ChartUpdate(_eventPublisher, chart, propogateChartChangeEvent); + return new ChartUpdate(_eventPublisher, chart, propagateChartChangeEvent); } public void Update(IChart chart) diff --git a/src/OSPSuite.Core/Chart/CurveChart.cs b/src/OSPSuite.Core/Chart/CurveChart.cs index 2c6fd713d..131401f23 100644 --- a/src/OSPSuite.Core/Chart/CurveChart.cs +++ b/src/OSPSuite.Core/Chart/CurveChart.cs @@ -261,10 +261,9 @@ public void RemoveCurvesForColumn(DataColumn dataColumn) removeCurves(curve => curve.xData == dataColumn || curve.yData == dataColumn); } - public void RemoveCurvesForDataRepository(DataRepository dataRepository) - { - removeCurves(curve => dataRepository.Contains(curve.xData.Id) || dataRepository.Contains(curve.yData.Id)); - } + public void RemoveCurvesForColumns(IEnumerable dataColumns) => dataColumns.Each(RemoveCurvesForColumn); + + public void RemoveCurvesForDataRepository(DataRepository dataRepository) => RemoveCurvesForColumns(dataRepository); private void removeCurves(Func shouldRemoveCurveFunc) { diff --git a/src/OSPSuite.Core/Chart/Events.cs b/src/OSPSuite.Core/Chart/Events.cs index 32ecf6272..11a57ef6f 100644 --- a/src/OSPSuite.Core/Chart/Events.cs +++ b/src/OSPSuite.Core/Chart/Events.cs @@ -12,11 +12,11 @@ protected ChartEvent(IChart chart) public class ChartUpdatedEvent : ChartEvent { - public bool PropogateChartChangeEvent { get; } + public bool PropagateChartChangeEvent { get; } - public ChartUpdatedEvent(IChart chart, bool propogateChartChangeEvent) : base(chart) + public ChartUpdatedEvent(IChart chart, bool propagateChartChangeEvent) : base(chart) { - PropogateChartChangeEvent = propogateChartChangeEvent; + PropagateChartChangeEvent = propagateChartChangeEvent; } } diff --git a/src/OSPSuite.Infrastructure/OSPSuite.Infrastructure.csproj b/src/OSPSuite.Infrastructure/OSPSuite.Infrastructure.csproj index fd9e9c67a..278d6296b 100644 --- a/src/OSPSuite.Infrastructure/OSPSuite.Infrastructure.csproj +++ b/src/OSPSuite.Infrastructure/OSPSuite.Infrastructure.csproj @@ -100,8 +100,8 @@ ..\..\packages\Remotion.Linq.EagerFetching.2.2.0\lib\net45\Remotion.Linq.EagerFetching.dll - - ..\..\packages\OSPSuite.SmartXLS.2.7.0.4\lib\net45\SX.dll + + ..\..\packages\OSPSuite.SmartXLS.2.7.0.9\lib\net45\SX.dll diff --git a/src/OSPSuite.Infrastructure/packages.config b/src/OSPSuite.Infrastructure/packages.config index 01753d935..f3d440a20 100644 --- a/src/OSPSuite.Infrastructure/packages.config +++ b/src/OSPSuite.Infrastructure/packages.config @@ -16,7 +16,7 @@ - + diff --git a/src/OSPSuite.Presentation/OSPSuite.Presentation.csproj b/src/OSPSuite.Presentation/OSPSuite.Presentation.csproj index aa94499b5..e682761a8 100644 --- a/src/OSPSuite.Presentation/OSPSuite.Presentation.csproj +++ b/src/OSPSuite.Presentation/OSPSuite.Presentation.csproj @@ -50,8 +50,8 @@ ..\..\packages\OSPSuite.Utility.3.0.1.7\lib\net462\OSPSuite.Utility.dll - - ..\..\packages\OSPSuite.SmartXLS.2.7.0.4\lib\net45\SX.dll + + ..\..\packages\OSPSuite.SmartXLS.2.7.0.9\lib\net45\SX.dll diff --git a/src/OSPSuite.Presentation/Presenters/Charts/ChartEditorPresenter.cs b/src/OSPSuite.Presentation/Presenters/Charts/ChartEditorPresenter.cs index e963826ce..a7e93ff85 100644 --- a/src/OSPSuite.Presentation/Presenters/Charts/ChartEditorPresenter.cs +++ b/src/OSPSuite.Presentation/Presenters/Charts/ChartEditorPresenter.cs @@ -228,12 +228,12 @@ public ChartEditorPresenter(IChartEditorView view, IAxisSettingsPresenter axisSe _dataBrowserPresenter.UsedChanged += (o, e) => onDataBrowserUsedChanged(e); _dataBrowserPresenter.SelectionChanged += (o, e) => onSelectionChanged(e.Columns); - _chartExportSettingsPresenter.ChartExportSettingsChanged += (o,e)=> onChartPropertiesChanged(); + _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(); + _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(); @@ -381,10 +381,7 @@ public void AddDataRepositories(IEnumerable dataRepositories) private bool hasColumn(DataColumn dataColumn) => _dataBrowserPresenter.ContainsDataColumn(dataColumn); - public void RemoveAllDataRepositories() - { - _dataBrowserPresenter.Clear(); - } + public void RemoveAllDataRepositories() => _dataBrowserPresenter.Clear(); public void RemoveUnusedColumns() => removeColumns(unusedColumns); @@ -408,7 +405,9 @@ public void RemoveDataRepositories(IEnumerable dataRepositories) private void removeColumns(IEnumerable dataColumns) { - _dataBrowserPresenter.RemoveDataColumns(dataColumns); + var columnsToRemove = dataColumns.ToList(); + _dataBrowserPresenter.RemoveDataColumns(columnsToRemove); + Chart.RemoveCurvesForColumns(columnsToRemove); } public IReadOnlyList AllDataColumns => _dataBrowserPresenter.AllDataColumns; @@ -418,7 +417,7 @@ public void CopySettingsFrom(ChartEditorSettings settings) CopySettingsFrom(settings, loadEditorLayout: true, loadColumnSettings: true); } - private void copyColumSettings(IEnumerable settings, Func columnSettingsInPresenterByName) + private void copyColumnSettings(IEnumerable settings, Func columnSettingsInPresenterByName) { foreach (var layoutColumnSettings in settings) { @@ -431,10 +430,11 @@ public void CopySettingsFrom(ChartEditorSettings settings, bool loadEditorLayout { if (loadColumnSettings) { - copyColumSettings(settings.DataBrowserColumnSettings, _dataBrowserPresenter.ColumnSettings); - copyColumSettings(settings.CurveOptionsColumnSettings, _curveSettingsPresenter.ColumnSettings); - copyColumSettings(settings.AxisOptionsColumnSettings, _axisSettingsPresenter.ColumnSettings); + copyColumnSettings(settings.DataBrowserColumnSettings, _dataBrowserPresenter.ColumnSettings); + copyColumnSettings(settings.CurveOptionsColumnSettings, _curveSettingsPresenter.ColumnSettings); + copyColumnSettings(settings.AxisOptionsColumnSettings, _axisSettingsPresenter.ColumnSettings); } + if (loadEditorLayout) _view.LoadLayoutFromString(settings.DockingLayout); } @@ -552,7 +552,7 @@ public void Handle(ChartUpdatedEvent chartUpdatedEvent) Refresh(); - if (chartUpdatedEvent.PropogateChartChangeEvent) + if (chartUpdatedEvent.PropagateChartChangeEvent) ChartChanged(); } } diff --git a/src/OSPSuite.Presentation/packages.config b/src/OSPSuite.Presentation/packages.config index a820caf0c..64366d055 100644 --- a/src/OSPSuite.Presentation/packages.config +++ b/src/OSPSuite.Presentation/packages.config @@ -3,6 +3,6 @@ - + \ No newline at end of file diff --git a/tests/OSPSuite.Core.Tests/OSPSuite.Core.Tests.csproj b/tests/OSPSuite.Core.Tests/OSPSuite.Core.Tests.csproj index 3955d37a3..f4aeb58f8 100644 --- a/tests/OSPSuite.Core.Tests/OSPSuite.Core.Tests.csproj +++ b/tests/OSPSuite.Core.Tests/OSPSuite.Core.Tests.csproj @@ -119,8 +119,8 @@ ..\..\packages\Remotion.Linq.EagerFetching.2.2.0\lib\net45\Remotion.Linq.EagerFetching.dll - - ..\..\packages\OSPSuite.SmartXLS.2.7.0.4\lib\net45\SX.dll + + ..\..\packages\OSPSuite.SmartXLS.2.7.0.9\lib\net45\SX.dll diff --git a/tests/OSPSuite.Core.Tests/Presentation/ChartEditorPresenterSpecs.cs b/tests/OSPSuite.Core.Tests/Presentation/ChartEditorPresenterSpecs.cs index 11dc3ca00..27bddf811 100644 --- a/tests/OSPSuite.Core.Tests/Presentation/ChartEditorPresenterSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Presentation/ChartEditorPresenterSpecs.cs @@ -307,7 +307,7 @@ protected override void Context() protected override void Because() { - sut.Handle(new ChartUpdatedEvent(_curveChart, propogateChartChangeEvent: true)); + sut.Handle(new ChartUpdatedEvent(_curveChart, propagateChartChangeEvent: true)); } [Observation] @@ -338,7 +338,7 @@ protected override void Context() protected override void Because() { - sut.Handle(new ChartUpdatedEvent(_curveChart, propogateChartChangeEvent: false)); + sut.Handle(new ChartUpdatedEvent(_curveChart, propagateChartChangeEvent: false)); } [Observation] diff --git a/tests/OSPSuite.Core.Tests/packages.config b/tests/OSPSuite.Core.Tests/packages.config index cad8593db..b2ae62182 100644 --- a/tests/OSPSuite.Core.Tests/packages.config +++ b/tests/OSPSuite.Core.Tests/packages.config @@ -15,7 +15,7 @@ - + diff --git a/tests/OSPSuite.Starter/Presenters/ChartTestPresenter.cs b/tests/OSPSuite.Starter/Presenters/ChartTestPresenter.cs index f9fdd5b7a..7257d4d58 100644 --- a/tests/OSPSuite.Starter/Presenters/ChartTestPresenter.cs +++ b/tests/OSPSuite.Starter/Presenters/ChartTestPresenter.cs @@ -182,10 +182,6 @@ public void ClearChart() using (_chartUpdater.UpdateTransaction(Chart)) { ChartEditorPresenter.RemoveDataRepositories(_dataRepositories); - _dataRepositories.Each(repository => - { - Chart.RemoveCurvesForDataRepository(repository); - }); _dataRepositories.Clear(); } }