Loading INAF.Apps.Uwp.SLabDataManager/Charts/SpectraContainer.cs +27 −15 Original line number Diff line number Diff line Loading @@ -30,21 +30,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts SelectedRefBand = serviceProvider.GetRequiredService<SelectedRefBand>(); Spectra = new ObservableCollection<SpectrumModel>(); Summaries = new ObservableCollection<SpectrumSummaryModel>(); IsAnySpectrumLoaded = false; IsSpectrumAligned = false; XAxisMajorStepValues = new List<double>(2); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_0DOT1); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_100); //foreach (var spectrum in spectra) // spectrum.PropertyChanged += Spectrum_PropertyChanged; //spectra.All(x => { x.PropertyChanged += Spectrum_PropertyChanged; return true; }); init(); } private void Spectrum_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) Loading @@ -60,6 +46,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts public DialogMessageType DialogMessageType { get; private set; } public bool IsAlignedSpectrumSaved { get; set; } private bool isDialogRequired; public bool IsDialogRequired { Loading Loading @@ -194,6 +182,20 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts return (xMin, xMax, yMin, yMax); } private void init() { Spectra = new ObservableCollection<SpectrumModel>(); Summaries = new ObservableCollection<SpectrumSummaryModel>(); IsAlignedSpectrumSaved = false; IsAnySpectrumLoaded = false; IsSpectrumAligned = 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 async Task removeSpectrumOfTypeAsync(SpectrumType type) { var requestedSpectrum = tryGetSpectrumOfType(type); Loading Loading @@ -251,6 +253,13 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts spectrum.PropertyChanged += Spectrum_PropertyChanged; } public void removeAlignedSpectrum() { removeSpectrumOfTypeAsync(SpectrumType.Aligned); IsSpectrumAligned = false; IsAlignedSpectrumSaved = false; } public SpectrumModel tryGetSpectrumOfType(SpectrumType spectrumType) { return Spectra.FirstOrDefault(x => x.Type == spectrumType); Loading Loading @@ -407,7 +416,10 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts }); if (string.IsNullOrEmpty(exMsg)) { IsSpectrumAligned = true; Spectra.Add(aligningSpectrum); } else { DialogMessage = exMsg; Loading INAF.Apps.Uwp.SLabDataManager/Converters/Converters.cs +5 −1 Original line number Diff line number Diff line Loading @@ -139,7 +139,11 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters try { SpectraContainer spectraContainer = value as SpectraContainer; return spectraContainer.tryGetSpectrumOfType(SpectrumType.Raw).Elements; var rawSpectrum = spectraContainer.tryGetSpectrumOfType(SpectrumType.Raw); if (rawSpectrum != null) return rawSpectrum.Elements; else return null; } catch (Exception) { Loading INAF.Apps.Uwp.SLabDataManager/Helpers/UI/CustomDescriptor.cs 0 → 100644 +15 −0 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Models.Spectrum; using Telerik.UI.Xaml.Controls.Chart; namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI { public class CustomDescriptor : ScatterSeriesDescriptor { protected override ChartSeries CreateInstanceCore(object context) { ScatterLineSeries ser = base.CreateInstanceCore(context) as ScatterLineSeries; ser.Stroke = (context as SpectrumModel).Color; return ser; } } } INAF.Apps.Uwp.SLabDataManager/INAF.Apps.Uwp.SLabDataManager.csproj +1 −0 Original line number Diff line number Diff line Loading @@ -174,6 +174,7 @@ <Compile Include="Helpers\SettingsStorageExtensions.cs" /> <Compile Include="Helpers\SpectrumReader.cs" /> <Compile Include="Helpers\UI\CustomContainerVisualFactory.cs" /> <Compile Include="Helpers\UI\CustomDescriptor.cs" /> <Compile Include="Helpers\UI\TextBoxInputManager.cs" /> <Compile Include="Helpers\UI\XamlHelpers.cs" /> <Compile Include="Helpers\UpdateUIHelper.cs" /> Loading INAF.Apps.Uwp.SLabDataManager/Models/Spectrum/SpectrumModelExtensions.cs +9 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,8 @@ using INAF.Libraries.NetStandard.SLabCommonModels.Models.Files; using Microsoft.Extensions.DependencyInjection; using System; using System.Threading.Tasks; using Windows.UI; using Windows.UI.Xaml.Media; namespace INAF.Apps.Uwp.SLabDataManager.Models.Spectrum { Loading @@ -21,6 +23,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models.Spectrum checkIsSavedOnCloudAsync(); } public SolidColorBrush Color { get; set; } private bool isSavedOnCloud; public bool IsSavedOnCloud { Loading @@ -40,6 +44,11 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models.Spectrum IsSavedOnCloud = await remoteOperationsManager.isSavedOnCloudAsync(requestModel); } public void setColor() { Color = new SolidColorBrush(Colors.Red); } public new object Clone() { SpectrumModel clonedSpectrum = new SpectrumModel(Type) Loading Loading
INAF.Apps.Uwp.SLabDataManager/Charts/SpectraContainer.cs +27 −15 Original line number Diff line number Diff line Loading @@ -30,21 +30,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts SelectedRefBand = serviceProvider.GetRequiredService<SelectedRefBand>(); Spectra = new ObservableCollection<SpectrumModel>(); Summaries = new ObservableCollection<SpectrumSummaryModel>(); IsAnySpectrumLoaded = false; IsSpectrumAligned = false; XAxisMajorStepValues = new List<double>(2); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_0DOT1); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_100); //foreach (var spectrum in spectra) // spectrum.PropertyChanged += Spectrum_PropertyChanged; //spectra.All(x => { x.PropertyChanged += Spectrum_PropertyChanged; return true; }); init(); } private void Spectrum_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) Loading @@ -60,6 +46,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts public DialogMessageType DialogMessageType { get; private set; } public bool IsAlignedSpectrumSaved { get; set; } private bool isDialogRequired; public bool IsDialogRequired { Loading Loading @@ -194,6 +182,20 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts return (xMin, xMax, yMin, yMax); } private void init() { Spectra = new ObservableCollection<SpectrumModel>(); Summaries = new ObservableCollection<SpectrumSummaryModel>(); IsAlignedSpectrumSaved = false; IsAnySpectrumLoaded = false; IsSpectrumAligned = 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 async Task removeSpectrumOfTypeAsync(SpectrumType type) { var requestedSpectrum = tryGetSpectrumOfType(type); Loading Loading @@ -251,6 +253,13 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts spectrum.PropertyChanged += Spectrum_PropertyChanged; } public void removeAlignedSpectrum() { removeSpectrumOfTypeAsync(SpectrumType.Aligned); IsSpectrumAligned = false; IsAlignedSpectrumSaved = false; } public SpectrumModel tryGetSpectrumOfType(SpectrumType spectrumType) { return Spectra.FirstOrDefault(x => x.Type == spectrumType); Loading Loading @@ -407,7 +416,10 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts }); if (string.IsNullOrEmpty(exMsg)) { IsSpectrumAligned = true; Spectra.Add(aligningSpectrum); } else { DialogMessage = exMsg; Loading
INAF.Apps.Uwp.SLabDataManager/Converters/Converters.cs +5 −1 Original line number Diff line number Diff line Loading @@ -139,7 +139,11 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters try { SpectraContainer spectraContainer = value as SpectraContainer; return spectraContainer.tryGetSpectrumOfType(SpectrumType.Raw).Elements; var rawSpectrum = spectraContainer.tryGetSpectrumOfType(SpectrumType.Raw); if (rawSpectrum != null) return rawSpectrum.Elements; else return null; } catch (Exception) { Loading
INAF.Apps.Uwp.SLabDataManager/Helpers/UI/CustomDescriptor.cs 0 → 100644 +15 −0 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Models.Spectrum; using Telerik.UI.Xaml.Controls.Chart; namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI { public class CustomDescriptor : ScatterSeriesDescriptor { protected override ChartSeries CreateInstanceCore(object context) { ScatterLineSeries ser = base.CreateInstanceCore(context) as ScatterLineSeries; ser.Stroke = (context as SpectrumModel).Color; return ser; } } }
INAF.Apps.Uwp.SLabDataManager/INAF.Apps.Uwp.SLabDataManager.csproj +1 −0 Original line number Diff line number Diff line Loading @@ -174,6 +174,7 @@ <Compile Include="Helpers\SettingsStorageExtensions.cs" /> <Compile Include="Helpers\SpectrumReader.cs" /> <Compile Include="Helpers\UI\CustomContainerVisualFactory.cs" /> <Compile Include="Helpers\UI\CustomDescriptor.cs" /> <Compile Include="Helpers\UI\TextBoxInputManager.cs" /> <Compile Include="Helpers\UI\XamlHelpers.cs" /> <Compile Include="Helpers\UpdateUIHelper.cs" /> Loading
INAF.Apps.Uwp.SLabDataManager/Models/Spectrum/SpectrumModelExtensions.cs +9 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,8 @@ using INAF.Libraries.NetStandard.SLabCommonModels.Models.Files; using Microsoft.Extensions.DependencyInjection; using System; using System.Threading.Tasks; using Windows.UI; using Windows.UI.Xaml.Media; namespace INAF.Apps.Uwp.SLabDataManager.Models.Spectrum { Loading @@ -21,6 +23,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models.Spectrum checkIsSavedOnCloudAsync(); } public SolidColorBrush Color { get; set; } private bool isSavedOnCloud; public bool IsSavedOnCloud { Loading @@ -40,6 +44,11 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models.Spectrum IsSavedOnCloud = await remoteOperationsManager.isSavedOnCloudAsync(requestModel); } public void setColor() { Color = new SolidColorBrush(Colors.Red); } public new object Clone() { SpectrumModel clonedSpectrum = new SpectrumModel(Type) Loading