Commit 11e30a9f authored by Francesco Carraro's avatar Francesco Carraro
Browse files

fixing chart colors...

parent a5931c7b
Loading
Loading
Loading
Loading
+27 −15
Original line number Diff line number Diff line
@@ -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)
@@ -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
        {
@@ -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);
@@ -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);
@@ -407,7 +416,10 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts
            });

            if (string.IsNullOrEmpty(exMsg))
            {
                IsSpectrumAligned = true;
                Spectra.Add(aligningSpectrum);
            }
            else
            {
                DialogMessage = exMsg;
+5 −1
Original line number Diff line number Diff line
@@ -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)
            {
+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;
        }
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -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" />
+9 −0
Original line number Diff line number Diff line
@@ -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
{
@@ -21,6 +23,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models.Spectrum
            checkIsSavedOnCloudAsync();
        }

        public SolidColorBrush Color { get; set; }

        private bool isSavedOnCloud;
        public bool IsSavedOnCloud
        {
@@ -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