Loading INAF.Apps.Uwp.SLabDataManager/Charts/SpectraContainer.cs +21 −2 Original line number Diff line number Diff line Loading @@ -82,6 +82,13 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts set { SetProperty(ref isSpectrumContinuumRemoved, value); } } private bool isChartUpdateLayoutRequired; public bool IsChartUpdateLayoutRequired { get { return isChartUpdateLayoutRequired; } set { SetProperty(ref isChartUpdateLayoutRequired, value); } } private ObservableCollection<SpectrumModel> spectra; public ObservableCollection<SpectrumModel> Spectra { Loading Loading @@ -150,12 +157,19 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts IsAlignedSpectrumSaved = false; IsAnySpectrumLoaded = false; IsSpectrumAligned = false; IsChartUpdateLayoutRequired = false; XAxisMajorStepValues = new List<double>(2); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_0DOT1); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_100); } public void raiseIsAnySpectrumLoaded() { IsAnySpectrumLoaded = true; isAnySpectrumLoaded = false;// trick to enable for the next added spectrum } public async Task removeSpectrumOfTypeAsync(SpectrumType type) { var requestedSpectrum = tryGetSpectrumOfType(type); Loading Loading @@ -237,8 +251,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts Spectra.Add(spectrum); /* enable navigation to chart page */ IsAnySpectrumLoaded = true; isAnySpectrumLoaded = false;// trick to enable for the next added spectrum raiseIsAnySpectrumLoaded(); } #region summaries Loading Loading @@ -324,6 +337,12 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts return (xMin, xMax, yMin, yMax); } public void raiseIsUpdateLayoutRequired() { IsChartUpdateLayoutRequired = true; isChartUpdateLayoutRequired = false; } private async Task setBoundariesAsync() { (double xMin, double xMax, double yMin, double yMax) result = await getSpectrumAxesBoundariesAsync(); Loading INAF.Apps.Uwp.SLabDataManager/Extensions/Extensions.cs +16 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,8 @@ using INAF.Libraries.NetStandard.SLabCommonModels.Models.Files; using INAF.Libraries.NetStandard.ScienceModels; using Telerik.UI.Xaml.Controls.Chart; using System; using System.ComponentModel; using static INAF.Libraries.NetStandard.SLabCommonModels.Enums.Enums; namespace INAF.Apps.Uwp.SLabDataManager.Extensions { Loading Loading @@ -147,6 +149,20 @@ namespace INAF.Apps.Uwp.SLabDataManager.Extensions #endregion #endregion public static string GetDescription(this Enum enumValue) { var fieldInfo = enumValue.GetType().GetField(enumValue.ToString()); var descriptionAttributes = (DescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false); return descriptionAttributes.Length > 0 ? descriptionAttributes[0].Description : enumValue.ToString(); } public static string ToColorKey(this SpectrumType type) { return string.Join(string.Empty, "color", type.ToString().ToLowerInvariant()); } public static SolidColorBrush ToSolidColorBrush(this string hexstring) { hexstring = hexstring.Replace("#", string.Empty); Loading INAF.Apps.Uwp.SLabDataManager/Helpers/UI/Chart/SpectrumProcessingHelper.cs +12 −1 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Charts; using INAF.Apps.Uwp.SLabDataManager.Extensions; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Apps.Uwp.SLabDataManager.ViewModels; using INAF.Libraries.NetStandard.ScienceModels.Spectra; using INAF.Libraries.Uwp.Logging; using Microsoft.Toolkit.Mvvm.ComponentModel; Loading Loading @@ -228,7 +229,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart return null; SpectrumModel clonedSpectrum = (SpectrumModel)workingItems.SpectraContainer.tryGetSpectrumOfType(SpectrumType.Aligned).Clone(); clonedSpectrum.setType(SpectrumType.Aligned); clonedSpectrum.setType(SpectrumType.ContinuumRemoved); clonedSpectrum.updateTitle(); return clonedSpectrum; } Loading Loading @@ -273,6 +274,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart if (string.IsNullOrEmpty(exMsg)) { Ioc.Default.GetRequiredService<ChartViewModel>().IsAddingPointsForContinuumRemovalAllowed = false; workingItems.SpectraContainer.IsSpectrumContinuumRemoved = true; workingItems.SpectraContainer.addSpectrum(continuumRemovedSpectrum); } Loading @@ -282,6 +284,15 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart raiseIsDialogRequired(); } } public async Task removeContinnumProcedureAsync() { await removeContinuumAsync(); await workingItems.SpectraContainer.updateBoundariesAsync(); workingItems.SpectraContainer.raiseIsUpdateLayoutRequired(); } #endregion } } INAF.Apps.Uwp.SLabDataManager/INAF.Apps.Uwp.SLabDataManager.csproj +1 −0 Original line number Diff line number Diff line Loading @@ -184,6 +184,7 @@ <Compile Include="Charts\SpectrumAlignmentConfigModel.cs" /> <Compile Include="Helpers\VisualTreeHelpers.cs" /> <Compile Include="Models\RecentFilesContainer.cs" /> <Compile Include="Models\Spectrum\SpectrumColorModel.cs" /> <Compile Include="Models\Spectrum\SpectrumModelExtensions.cs" /> <Compile Include="Models\SpectrumSummaryModel.cs" /> <Compile Include="Models\Spectrum\SpectrumModelFactory.cs" /> Loading INAF.Apps.Uwp.SLabDataManager/Models/Spectrum/SpectrumColorModel.cs 0 → 100644 +29 −0 Original line number Diff line number Diff line using Microsoft.Toolkit.Mvvm.ComponentModel; using Windows.UI.Xaml.Media; using static INAF.Libraries.NetStandard.SLabCommonModels.Enums.Enums; namespace INAF.Apps.Uwp.SLabDataManager.Models.Spectrum { public class SpectrumColorModel : ObservableObject { public SpectrumColorModel(SpectrumType type, string displayName, string colorKey, SolidColorBrush color) { DisplayName = displayName; ColorKey = colorKey; Color = color; } public string ColorKey { get; private set; } public string DisplayName { get; private set; } private SolidColorBrush color; public SolidColorBrush Color { get { return color; } set { SetProperty(ref color, value); } } public SpectrumType Type { get; set; } } } Loading
INAF.Apps.Uwp.SLabDataManager/Charts/SpectraContainer.cs +21 −2 Original line number Diff line number Diff line Loading @@ -82,6 +82,13 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts set { SetProperty(ref isSpectrumContinuumRemoved, value); } } private bool isChartUpdateLayoutRequired; public bool IsChartUpdateLayoutRequired { get { return isChartUpdateLayoutRequired; } set { SetProperty(ref isChartUpdateLayoutRequired, value); } } private ObservableCollection<SpectrumModel> spectra; public ObservableCollection<SpectrumModel> Spectra { Loading Loading @@ -150,12 +157,19 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts IsAlignedSpectrumSaved = false; IsAnySpectrumLoaded = false; IsSpectrumAligned = false; IsChartUpdateLayoutRequired = false; XAxisMajorStepValues = new List<double>(2); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_0DOT1); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_100); } public void raiseIsAnySpectrumLoaded() { IsAnySpectrumLoaded = true; isAnySpectrumLoaded = false;// trick to enable for the next added spectrum } public async Task removeSpectrumOfTypeAsync(SpectrumType type) { var requestedSpectrum = tryGetSpectrumOfType(type); Loading Loading @@ -237,8 +251,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts Spectra.Add(spectrum); /* enable navigation to chart page */ IsAnySpectrumLoaded = true; isAnySpectrumLoaded = false;// trick to enable for the next added spectrum raiseIsAnySpectrumLoaded(); } #region summaries Loading Loading @@ -324,6 +337,12 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts return (xMin, xMax, yMin, yMax); } public void raiseIsUpdateLayoutRequired() { IsChartUpdateLayoutRequired = true; isChartUpdateLayoutRequired = false; } private async Task setBoundariesAsync() { (double xMin, double xMax, double yMin, double yMax) result = await getSpectrumAxesBoundariesAsync(); Loading
INAF.Apps.Uwp.SLabDataManager/Extensions/Extensions.cs +16 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,8 @@ using INAF.Libraries.NetStandard.SLabCommonModels.Models.Files; using INAF.Libraries.NetStandard.ScienceModels; using Telerik.UI.Xaml.Controls.Chart; using System; using System.ComponentModel; using static INAF.Libraries.NetStandard.SLabCommonModels.Enums.Enums; namespace INAF.Apps.Uwp.SLabDataManager.Extensions { Loading Loading @@ -147,6 +149,20 @@ namespace INAF.Apps.Uwp.SLabDataManager.Extensions #endregion #endregion public static string GetDescription(this Enum enumValue) { var fieldInfo = enumValue.GetType().GetField(enumValue.ToString()); var descriptionAttributes = (DescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false); return descriptionAttributes.Length > 0 ? descriptionAttributes[0].Description : enumValue.ToString(); } public static string ToColorKey(this SpectrumType type) { return string.Join(string.Empty, "color", type.ToString().ToLowerInvariant()); } public static SolidColorBrush ToSolidColorBrush(this string hexstring) { hexstring = hexstring.Replace("#", string.Empty); Loading
INAF.Apps.Uwp.SLabDataManager/Helpers/UI/Chart/SpectrumProcessingHelper.cs +12 −1 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Charts; using INAF.Apps.Uwp.SLabDataManager.Extensions; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Apps.Uwp.SLabDataManager.ViewModels; using INAF.Libraries.NetStandard.ScienceModels.Spectra; using INAF.Libraries.Uwp.Logging; using Microsoft.Toolkit.Mvvm.ComponentModel; Loading Loading @@ -228,7 +229,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart return null; SpectrumModel clonedSpectrum = (SpectrumModel)workingItems.SpectraContainer.tryGetSpectrumOfType(SpectrumType.Aligned).Clone(); clonedSpectrum.setType(SpectrumType.Aligned); clonedSpectrum.setType(SpectrumType.ContinuumRemoved); clonedSpectrum.updateTitle(); return clonedSpectrum; } Loading Loading @@ -273,6 +274,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart if (string.IsNullOrEmpty(exMsg)) { Ioc.Default.GetRequiredService<ChartViewModel>().IsAddingPointsForContinuumRemovalAllowed = false; workingItems.SpectraContainer.IsSpectrumContinuumRemoved = true; workingItems.SpectraContainer.addSpectrum(continuumRemovedSpectrum); } Loading @@ -282,6 +284,15 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart raiseIsDialogRequired(); } } public async Task removeContinnumProcedureAsync() { await removeContinuumAsync(); await workingItems.SpectraContainer.updateBoundariesAsync(); workingItems.SpectraContainer.raiseIsUpdateLayoutRequired(); } #endregion } }
INAF.Apps.Uwp.SLabDataManager/INAF.Apps.Uwp.SLabDataManager.csproj +1 −0 Original line number Diff line number Diff line Loading @@ -184,6 +184,7 @@ <Compile Include="Charts\SpectrumAlignmentConfigModel.cs" /> <Compile Include="Helpers\VisualTreeHelpers.cs" /> <Compile Include="Models\RecentFilesContainer.cs" /> <Compile Include="Models\Spectrum\SpectrumColorModel.cs" /> <Compile Include="Models\Spectrum\SpectrumModelExtensions.cs" /> <Compile Include="Models\SpectrumSummaryModel.cs" /> <Compile Include="Models\Spectrum\SpectrumModelFactory.cs" /> Loading
INAF.Apps.Uwp.SLabDataManager/Models/Spectrum/SpectrumColorModel.cs 0 → 100644 +29 −0 Original line number Diff line number Diff line using Microsoft.Toolkit.Mvvm.ComponentModel; using Windows.UI.Xaml.Media; using static INAF.Libraries.NetStandard.SLabCommonModels.Enums.Enums; namespace INAF.Apps.Uwp.SLabDataManager.Models.Spectrum { public class SpectrumColorModel : ObservableObject { public SpectrumColorModel(SpectrumType type, string displayName, string colorKey, SolidColorBrush color) { DisplayName = displayName; ColorKey = colorKey; Color = color; } public string ColorKey { get; private set; } public string DisplayName { get; private set; } private SolidColorBrush color; public SolidColorBrush Color { get { return color; } set { SetProperty(ref color, value); } } public SpectrumType Type { get; set; } } }