From 474a5890d596c40caa662391876b9ee99440c697 Mon Sep 17 00:00:00 2001 From: Michael Sevestre Date: Sun, 13 Jan 2019 16:10:39 -0500 Subject: [PATCH 01/48] Fixes #474 version 7.5.0 (#476) * Update to devexpress 18.2 * Update 3rd party packages: json.net, zip and logging * Before upgrading Norhwoods --- SolutionInfo.cs | 2 +- appveyor-coverage.yml | 2 +- appveyor.yml | 2 +- .../Domain/IObjectBaseFactory.cs | 4 +- src/OSPSuite.Core/Domain/ObjectBaseFactory.cs | 10 +- src/OSPSuite.Core/OSPSuite.Core.csproj | 11 +- src/OSPSuite.Core/packages.config | 4 +- .../OSPSuite.Infrastructure.csproj | 24 ++-- src/OSPSuite.Infrastructure/packages.config | 8 +- .../OSPSuite.Presentation.csproj | 22 +-- src/OSPSuite.Presentation/packages.config | 6 +- src/OSPSuite.UI/Controls/CustomGridView.cs | 16 ++- src/OSPSuite.UI/Controls/UxTreeList.cs | 32 ++--- src/OSPSuite.UI/OSPSuite.UI.csproj | 131 ++++++++--------- .../OptimizedParameterRangeImageCreator.cs | 2 +- src/OSPSuite.UI/Services/SkinManager.cs | 2 +- src/OSPSuite.UI/packages.config | 8 +- .../Converter/v5_2/DimensionConverterSpecs.cs | 4 +- .../Core/ParameterIdentificationRunSpecs.cs | 2 +- .../Helpers/ModelHelperForSpecs.cs | 4 +- .../Helpers/TestObjectBaseFactory.cs | 4 +- .../Presenters/NamingPatternPresenterSpecs.cs | 2 +- .../OSPSuite.Core.Tests.csproj | 27 ++-- .../AxisSettingsPresenterSpecs.cs | 2 +- ...eterIdentificationRunModePresenterSpecs.cs | 6 +- .../CurveSettingsPresenterSpecs.cs | 2 +- .../DataRepositoryChartPresenterSpecs.cs | 6 +- .../DataRepositoryDataPresenterSpecs.cs | 10 +- .../DataRepositoryMetaDataPresenterSpecs.cs | 4 +- .../JournalPageEditorPresenterSpecs.cs | 4 +- ...terIdentificationFeedbackPresenterSpecs.cs | 4 +- ...entificationConfigurationPresenterSpecs.cs | 4 +- ...edictedVsObservedFeedbackPresenterSpecs.cs | 5 +- ...cationSimulationSelectionPresenterSpecs.cs | 2 +- .../RelatedItemsPresenterSpecs.cs | 2 +- ...terIdentificationFeedbackPresenterSpecs.cs | 2 +- tests/OSPSuite.Core.Tests/packages.config | 8 +- .../OSPSuite.Starter/OSPSuite.Starter.csproj | 136 ++++++++---------- tests/OSPSuite.Starter/packages.config | 10 +- .../OSPSuite.UI.Tests.csproj | 120 +++++++--------- tests/OSPSuite.UI.Tests/packages.config | 6 +- 41 files changed, 303 insertions(+), 359 deletions(-) diff --git a/SolutionInfo.cs b/SolutionInfo.cs index 21d10436b..802c38f70 100644 --- a/SolutionInfo.cs +++ b/SolutionInfo.cs @@ -3,7 +3,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Open Systems Pharmacology Community")] [assembly: AssemblyProduct("OSPSuite.Core")] -[assembly: AssemblyCopyright("Copyright � 2017 - Open Systems Pharmacology Community")] +[assembly: AssemblyCopyright("Copyright � 2019 - Open Systems Pharmacology Community")] [assembly: ComVisible(false)] [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/appveyor-coverage.yml b/appveyor-coverage.yml index b64952967..3efc09013 100644 --- a/appveyor-coverage.yml +++ b/appveyor-coverage.yml @@ -2,7 +2,7 @@ configuration: Debug image: Visual Studio 2017 environment: - app_version: '7.4.0' + app_version: '7.5.0' version: '$(app_version).{build}' diff --git a/appveyor.yml b/appveyor.yml index 1b9ece891..e657bec65 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -2,7 +2,7 @@ configuration: Debug image: Visual Studio 2017 environment: - app_version: '7.4.0' + app_version: '7.5.0' version: '$(app_version).{build}' diff --git a/src/OSPSuite.Core/Domain/IObjectBaseFactory.cs b/src/OSPSuite.Core/Domain/IObjectBaseFactory.cs index 9a30421e2..33ea9228b 100644 --- a/src/OSPSuite.Core/Domain/IObjectBaseFactory.cs +++ b/src/OSPSuite.Core/Domain/IObjectBaseFactory.cs @@ -4,8 +4,8 @@ namespace OSPSuite.Core.Domain { public interface IObjectBaseFactory { - T Create() where T : IObjectBase; - T Create(string id) where T : IObjectBase; + T Create() where T : class, IObjectBase; + T Create(string id) where T : class, IObjectBase; T CreateObjectBaseFrom(Type objectType); T CreateObjectBaseFrom(Type objectType, string id); diff --git a/src/OSPSuite.Core/Domain/ObjectBaseFactory.cs b/src/OSPSuite.Core/Domain/ObjectBaseFactory.cs index 1d3e5c8a6..7015ca3b4 100644 --- a/src/OSPSuite.Core/Domain/ObjectBaseFactory.cs +++ b/src/OSPSuite.Core/Domain/ObjectBaseFactory.cs @@ -1,18 +1,18 @@ using System; -using OSPSuite.Utility.Extensions; using OSPSuite.Core.Domain.Services; using OSPSuite.Core.Domain.UnitSystem; +using OSPSuite.Utility.Extensions; namespace OSPSuite.Core.Domain { public class ObjectBaseFactory : IObjectBaseFactory { - private readonly OSPSuite.Utility.Container.IContainer _container; + private readonly Utility.Container.IContainer _container; private readonly IDimensionFactory _dimensionFactory; private readonly IIdGenerator _idGenerator; private readonly ICreationMetaDataFactory _creationMetaDataFactory; - public ObjectBaseFactory(OSPSuite.Utility.Container.IContainer container, IDimensionFactory dimensionFactory, + public ObjectBaseFactory(Utility.Container.IContainer container, IDimensionFactory dimensionFactory, IIdGenerator idGenerator, ICreationMetaDataFactory creationMetaDataFactory) { _container = container; @@ -21,12 +21,12 @@ public ObjectBaseFactory(OSPSuite.Utility.Container.IContainer container, IDimen _creationMetaDataFactory = creationMetaDataFactory; } - public virtual T Create() where T : IObjectBase + public virtual T Create() where T : class, IObjectBase { return Create(GetId()); } - public virtual T Create(string id) where T : IObjectBase + public virtual T Create(string id) where T : class, IObjectBase { var newObject = _container.Resolve().WithId(id); updateDimension(newObject); diff --git a/src/OSPSuite.Core/OSPSuite.Core.csproj b/src/OSPSuite.Core/OSPSuite.Core.csproj index e52576302..446226d4b 100644 --- a/src/OSPSuite.Core/OSPSuite.Core.csproj +++ b/src/OSPSuite.Core/OSPSuite.Core.csproj @@ -59,12 +59,12 @@ false - - ..\..\packages\MathNet.Numerics.4.5.1\lib\net461\MathNet.Numerics.dll + + ..\..\packages\MathNet.Numerics.4.7.0\lib\net461\MathNet.Numerics.dll - - ..\..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll + + ..\..\packages\Microsoft.Extensions.Logging.Abstractions.2.2.0\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll ..\..\packages\csmpfit.1.1.1\lib\net20\MPFitLib.dll @@ -93,8 +93,9 @@ - False ..\..\packages\System.ValueTuple.4.4.0\lib\net461\System.ValueTuple.dll + True + True diff --git a/src/OSPSuite.Core/packages.config b/src/OSPSuite.Core/packages.config index 72575ba67..9dbfb508a 100644 --- a/src/OSPSuite.Core/packages.config +++ b/src/OSPSuite.Core/packages.config @@ -1,8 +1,8 @@  - - + + diff --git a/src/OSPSuite.Infrastructure/OSPSuite.Infrastructure.csproj b/src/OSPSuite.Infrastructure/OSPSuite.Infrastructure.csproj index a6278e151..06d57155b 100644 --- a/src/OSPSuite.Infrastructure/OSPSuite.Infrastructure.csproj +++ b/src/OSPSuite.Infrastructure/OSPSuite.Infrastructure.csproj @@ -52,14 +52,14 @@ ..\..\packages\FluentNHibernate.2.0.3.0\lib\net40\FluentNHibernate.dll True - - ..\..\packages\SharpZipLib.1.0.0\lib\net45\ICSharpCode.SharpZipLib.dll + + ..\..\packages\SharpZipLib.1.1.0\lib\net45\ICSharpCode.SharpZipLib.dll ..\..\packages\Iesi.Collections.4.0.2\lib\net40\Iesi.Collections.dll - - ..\..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + ..\..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll ..\..\packages\NHibernate.4.1.1.4000\lib\net40\NHibernate.dll @@ -71,13 +71,13 @@ ..\..\packages\OSPSuite.Utility.3.0.0.3\lib\net462\OSPSuite.Utility.dll - - ..\..\packages\OSPSuite.SmartXLS.2.6.9\lib\net45\SX.dll + + ..\..\packages\OSPSuite.SmartXLS.2.6.9.3\lib\net45\SX.dll - - ..\..\packages\System.Data.SQLite.Core.1.0.105.2\lib\net451\System.Data.SQLite.dll + + ..\..\packages\System.Data.SQLite.Core.1.0.109.2\lib\net46\System.Data.SQLite.dll @@ -201,13 +201,7 @@ - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/tests/OSPSuite.Starter/component.build b/tests/OSPSuite.Starter/component.build deleted file mode 100644 index 0fb512b04..000000000 --- a/tests/OSPSuite.Starter/component.build +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 5574dd4236d391d2c76b07e60a5be986a8ba006a Mon Sep 17 00:00:00 2001 From: Michael Sevestre Date: Thu, 16 May 2019 12:53:36 -0400 Subject: [PATCH 46/48] Fixes #568 update full version (#570) --- .../IApplicationConfiguration.cs | 2 +- .../Configuration/OSPSuiteConfiguration.cs | 9 ++- .../OSPSuiteConfigurationSpecs.cs | 69 ++++++++++++++++--- 3 files changed, 69 insertions(+), 11 deletions(-) diff --git a/src/OSPSuite.Core/IApplicationConfiguration.cs b/src/OSPSuite.Core/IApplicationConfiguration.cs index 56bcc0a57..62510f2ca 100644 --- a/src/OSPSuite.Core/IApplicationConfiguration.cs +++ b/src/OSPSuite.Core/IApplicationConfiguration.cs @@ -30,7 +30,7 @@ public interface IApplicationConfiguration string LicenseAgreementFilePath { get; } /// - /// Returns the full version of the software in a format 1.2.3 + /// Returns the full version of the software in a format 1.2.3 (Version, Update, Build) /// string FullVersion { get; } diff --git a/src/OSPSuite.Infrastructure/Configuration/OSPSuiteConfiguration.cs b/src/OSPSuite.Infrastructure/Configuration/OSPSuiteConfiguration.cs index e83821d99..067c10a3f 100644 --- a/src/OSPSuite.Infrastructure/Configuration/OSPSuiteConfiguration.cs +++ b/src/OSPSuite.Infrastructure/Configuration/OSPSuiteConfiguration.cs @@ -75,7 +75,11 @@ protected OSPSuiteConfiguration(Version assemblyVersion = null) private string retrieveProductDisplayName() { - return _isReleasedVersion ? $"{ProductNameWithTrademark} {Major}" : $"{ProductNameWithTrademark} {ReleaseDescription}"; + if(!_isReleasedVersion) + return $"{ProductNameWithTrademark} {ReleaseDescription}"; + + var displayName = $"{ProductNameWithTrademark} {Major}"; + return Minor == 0 ? displayName : $"{displayName} Update {Minor}"; } private string retrieveFullVersionDisplay() @@ -83,7 +87,8 @@ private string retrieveFullVersionDisplay() if (!_isReleasedVersion) return ReleaseDescription; - return Minor == 0 ? $"{Major}" : $"{Major} Update {Minor}"; + var displayName = Minor == 0 ? $"{Major}" : $"{Major}.{Minor}"; + return $"{displayName} - Build {Build}"; } private string retrieveReleaseDescription() diff --git a/tests/OSPSuite.Core.Tests/Infrastructure/OSPSuiteConfigurationSpecs.cs b/tests/OSPSuite.Core.Tests/Infrastructure/OSPSuiteConfigurationSpecs.cs index 2b22a8ca2..f849f52ae 100644 --- a/tests/OSPSuite.Core.Tests/Infrastructure/OSPSuiteConfigurationSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Infrastructure/OSPSuiteConfigurationSpecs.cs @@ -1,6 +1,5 @@ using System; using System.IO; -using FakeItEasy; using OSPSuite.Assets; using OSPSuite.BDDHelper; using OSPSuite.BDDHelper.Extensions; @@ -12,17 +11,22 @@ namespace OSPSuite.Infrastructure { public abstract class concern_for_OSPSuiteConfiguration : ContextSpecification { - private Version _version; + protected Version _version; protected override void Context() { - _version = new Version(8,2,5,0); sut = new OSPSuiteConfigurationForSpecs(_version); } } - public class When_resolving_the_version_for_a_release_app : concern_for_OSPSuiteConfiguration + public class When_resolving_the_version_for_a_release_app_with_a_minor_set : concern_for_OSPSuiteConfiguration { + protected override void Context() + { + _version = new Version(8, 2, 5, 0); + base.Context(); + } + [Observation] public void should_return_the_expected_major() { @@ -50,11 +54,60 @@ public void should_return_the_expected_full_version_in_the_x_y_z_format() [Observation] public void should_return_the_expected_display_version() { - sut.FullVersionDisplay.ShouldBeEqualTo("8 Update 2"); + sut.FullVersionDisplay.ShouldBeEqualTo("8.2 - Build 5"); } + [Observation] + public void should_return_the_expected_product_display_name() + { + sut.ProductDisplayName.ShouldBeEqualTo("MySuperTool TM 8 Update 2"); + } } + public class When_resolving_the_version_for_a_release_app_with_a_minor__not_set : concern_for_OSPSuiteConfiguration + { + protected override void Context() + { + _version = new Version(8, 0, 5, 0); + base.Context(); + } + + [Observation] + public void should_return_the_expected_major() + { + sut.Major.ShouldBeEqualTo(8); + } + + [Observation] + public void should_return_the_expected_minor() + { + sut.Minor.ShouldBeEqualTo(0); + } + + [Observation] + public void should_return_the_expected_version_in_x_y_format() + { + sut.Version.ShouldBeEqualTo("8.0"); + } + + [Observation] + public void should_return_the_expected_full_version_in_the_x_y_z_format() + { + sut.FullVersion.ShouldBeEqualTo("8.0.5"); + } + + [Observation] + public void should_return_the_expected_display_version() + { + sut.FullVersionDisplay.ShouldBeEqualTo("8 - Build 5"); + } + + [Observation] + public void should_return_the_expected_product_display_name() + { + sut.ProductDisplayName.ShouldBeEqualTo("MySuperTool TM 8"); + } + } internal class OSPSuiteConfigurationForSpecs : OSPSuiteConfiguration { @@ -65,13 +118,13 @@ public OSPSuiteConfigurationForSpecs(Version assemblyVersion) : base(assemblyVer public override string WatermarkOptionLocation { get; } = "Utilities -> Options -> Application"; public override string ApplicationFolderPathName { get; } = Path.Combine("Open Systems Pharmacology", "OSPSuite.Starter"); protected override string[] LatestVersionWithOtherMajor { get; } = { }; - public override string ProductName { get; } = "OSPSuite"; + public override string ProductName { get; } = "MySuperTool"; public override int InternalVersion { get; } = 25; public override Origin Product { get; } = Origins.PKSim; - public override string ProductNameWithTrademark { get; } = "OSPSuite"; + public override string ProductNameWithTrademark { get; } = "MySuperTool TM"; public override ApplicationIcon Icon { get; } = ApplicationIcons.PKSim; public override string UserSettingsFileName { get; } = "UserSettings.xml"; public override string ApplicationSettingsFileName { get; } = "ApplicationSettings.xml"; public override string IssueTrackerUrl { get; } = "url"; } -} \ No newline at end of file +} \ No newline at end of file From f9393976c65b7b429dabe6d4613272c84507d1ab Mon Sep 17 00:00:00 2001 From: Michael Sevestre Date: Fri, 17 May 2019 03:19:32 -0400 Subject: [PATCH 47/48] Fixes #521 export points (#571) * Fixes #521 export points * Fixes #521 export points --- .../Services/CurveChartExportTask.cs | 16 +++-- .../Presentation/CurveChartExportTaskSpecs.cs | 69 +++++++++++++++++++ 2 files changed, 81 insertions(+), 4 deletions(-) diff --git a/src/OSPSuite.Core/Services/CurveChartExportTask.cs b/src/OSPSuite.Core/Services/CurveChartExportTask.cs index 8809100f5..607ab4255 100644 --- a/src/OSPSuite.Core/Services/CurveChartExportTask.cs +++ b/src/OSPSuite.Core/Services/CurveChartExportTask.cs @@ -30,22 +30,30 @@ public CurveChartExportTask(IDialogCreator dialogCreator, IDataRepositoryTask da public void ExportToExcel(CurveChart chart) { - if (chart == null) return; + if (chart == null) + return; + var visibleCurves = chart.Curves.Where(x => x.Visible).ToList(); - if (!visibleCurves.Any()) return; + if (!visibleCurves.Any()) + return; var fileName = _dialogCreator.AskForFileToSave(Captions.ExportChartToExcel, Constants.Filter.EXCEL_SAVE_FILE_FILTER, Constants.DirectoryKey.REPORT, chart.Name); - if (string.IsNullOrEmpty(fileName)) return; + if (string.IsNullOrEmpty(fileName)) + return; + // Goal is to use the curve name if it's defined instead of the data column name var dataColumnCache = new Cache(onMissingKey: x => null); visibleCurves.Each(curve => dataColumnCache[curve.yData] = curve); + //Base grid are added by default to the export unless the data represents an amount vs obs data. In that case, the base grid might be another column + var otherColumnsToExport = visibleCurves.Select(x => x.xData).Where(x => !x.IsBaseGrid()); + var exportOptions = new DataColumnExportOptions { ColumnNameRetriever = col => dataColumnCache[col]?.Name ?? col.Name, DimensionRetriever = _dimensionFactory.MergedDimensionFor }; - _dataRepositoryTask.ExportToExcel(dataColumnCache.Keys, fileName, exportOptions: exportOptions); + _dataRepositoryTask.ExportToExcel(dataColumnCache.Keys.Union(otherColumnsToExport), fileName, exportOptions: exportOptions); } } } \ No newline at end of file diff --git a/tests/OSPSuite.Core.Tests/Presentation/CurveChartExportTaskSpecs.cs b/tests/OSPSuite.Core.Tests/Presentation/CurveChartExportTaskSpecs.cs index cf4e1940a..609e2d81c 100644 --- a/tests/OSPSuite.Core.Tests/Presentation/CurveChartExportTaskSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Presentation/CurveChartExportTaskSpecs.cs @@ -115,4 +115,73 @@ public void should_ask_the_user_for_the_location_of_the_file_to_export() A.CallTo(() => _dialogCreator.AskForFileToSave(Captions.ExportChartToExcel, Constants.Filter.EXCEL_SAVE_FILE_FILTER, Constants.DirectoryKey.REPORT, _curveChart.Name, null)).MustHaveHappened(); } } + + public class When_the_curve_chart_export_task_is_exporting_the_displayed_chart_to_excel_and_the_underlying_data_are_using_a_real_curve_as_x_axis : concern_for_CurveChartExportTask + { + private readonly string _fileName = "AAA"; + private List _dataColumns; + private Func _namingFunc; + private CurveChart _curveChart; + private Func _dimensionFunc; + + protected override void Context() + { + base.Context(); + A.CallTo(_dialogCreator).WithReturnType().Returns(_fileName); + A.CallTo(() => _dataRepositoryTask.ExportToExcel(A>._, _fileName, true, A._)) + .Invokes(x => + { + _dataColumns = x.GetArgument>(0).ToList(); + _namingFunc = x.GetArgument(3).ColumnNameRetriever; + _dimensionFunc = x.GetArgument(3).DimensionRetriever; + }); + + _curveChart = new CurveChart {Name = "Chart"}; + _curve.Visible = true; + _curve.Name = "CurveName"; + + var anotherRepo = DomainHelperForSpecs.ObservedData("OBS_DATA"); + var dataColumn = anotherRepo.AllButBaseGrid().First(); + _curve.SetxData(dataColumn, _dimensionFactory); + A.CallTo(() => _dimensionFactory.MergedDimensionFor(dataColumn)).Returns(_mergedDimensionDataColum); + + _curveChart.AddCurve(_curve); + } + + protected override void Because() + { + sut.ExportToExcel(_curveChart); + } + + [Observation] + public void should_export_x_data_and_y_data() + { + _dataColumns.ShouldOnlyContain(_curve.yData, _curve.xData); + } + + [Observation] + public void should_use_the_name_of_the_curve_as_column_name_for_the_excel_table() + { + _namingFunc(_curve.yData).ShouldBeEqualTo(_curve.Name); + } + + [Observation] + public void should_use_the_name_of_the_column_for_the_x_data() + { + _namingFunc(_curve.xData).ShouldBeEqualTo(_curve.xData.Name); + } + + [Observation] + public void should_use_the_merge_dimension_for_column_dimension() + { + _dimensionFunc(_curve.yData).ShouldBeEqualTo(_mergedDimensionDataColum); + _dimensionFunc(_curve.xData).ShouldBeEqualTo(_mergedDimensionDataColum); + } + + [Observation] + public void should_ask_the_user_for_the_location_of_the_file_to_export() + { + A.CallTo(() => _dialogCreator.AskForFileToSave(Captions.ExportChartToExcel, Constants.Filter.EXCEL_SAVE_FILE_FILTER, Constants.DirectoryKey.REPORT, _curveChart.Name, null)).MustHaveHappened(); + } + } } \ No newline at end of file From 7364a6f17d34f09c6191a14450d50d3c605af3d1 Mon Sep 17 00:00:00 2001 From: Michael Sevestre Date: Wed, 12 Jun 2019 11:23:54 +0200 Subject: [PATCH 48/48] 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(); } }