Commit ef74c1c3 authored by Francesco Carraro's avatar Francesco Carraro
Browse files

fixing again flyout for alignment; adding segment selection

parent 40569a49
Loading
Loading
Loading
Loading
+3.41 KiB
Loading image diff...
+1.49 KiB
Loading image diff...
+48 −0
Original line number Diff line number Diff line
using INAF.Apps.Uwp.SLabDataManager.Helpers;
using Microsoft.Toolkit.Mvvm.ComponentModel;
using INAF.Libraries.NetStandard.Extensions;

namespace INAF.Apps.Uwp.SLabDataManager.Charts
{
    public sealed class SelectedRefBand : ObservableObject
    {
        public SelectedRefBand()
        {
            XMin = 0d;
            XMax = 0d;
        }

        #region properties
        private string selectedSegmentText;
        public string SelectedSegmentText
        {
            get { return selectedSegmentText; }
            private set { SetProperty(ref selectedSegmentText, value); }
        }

        private double xMax;
        public double XMax
        {
            get { return xMax; }
            private set { SetProperty(ref xMax, value); }
        }

        private double xMin;
        public double XMin
        {
            get { return xMin; }
            private set { SetProperty(ref xMin, value); }
        }
        #endregion

        public void setBoundaries(double xMin, double xMax)
        {
            XMin = xMin;
            XMax = xMax;

            SelectedSegmentText = "AlignmentConfigSelectedSegmentMessage".GetText()
                                                                            .Replace("r_v1", xMin.ToDoubleInvariantString())
                                                                            .Replace("r_v2", xMax.ToDoubleInvariantString());
        }
    }
}
+17 −2
Original line number Diff line number Diff line
@@ -142,7 +142,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts
                        SeparatorWavelength3 = separatorWavelength;
                        break;
                }

                System.Diagnostics.Debug.WriteLine($"tryReadWavelengthModel({index})");
                addSeparatorWavelengthEventListener(index);
            }
        }
@@ -150,6 +150,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts

        public void addSeparatorWavelength(int index, WavelengthModel wavelength)
        {
            System.Diagnostics.Debug.WriteLine($"addSeparatorWavelength({index})");
            switch (index)
            {
                case 0:
@@ -227,6 +228,20 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts
            return contains;
        }

        public (double xMin, double xMax) getSelectedSegmentBoundaries(double xLow, double xHigh)
        {
            if (separatorWavelength0.CurrentValue <= xLow && separatorWavelength1.CurrentValue >= xHigh)
                return (separatorWavelength0.CurrentValue, separatorWavelength1.CurrentValue);

            if (separatorWavelength1.CurrentValue <= xLow && separatorWavelength2.CurrentValue >= xHigh)
                return (separatorWavelength1.CurrentValue, separatorWavelength2.CurrentValue);

            if (separatorWavelength2.CurrentValue <= xLow && separatorWavelength3.CurrentValue >= xHigh)
                return (separatorWavelength2.CurrentValue, separatorWavelength3.CurrentValue);

            return (0, 0);
        }

        public void switchToMeasureUnit(WavelengthMeasureUnit newMeasureUnit)
        {
            SeparatorWavelength0.switchToMeasureUnit(newMeasureUnit);
+45 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ using Microsoft.Toolkit.Mvvm.DependencyInjection;
using System.IO;
using INAF.Libraries.NetStandard.Extensions;
using System.Collections.Generic;
using INAF.Libraries.NetStandard.ScienceModels.Spectra;

namespace INAF.Apps.Uwp.SLabDataManager.Converters
{
@@ -111,6 +112,27 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters
        }
    }

    public sealed class RawSpectrumConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            try
            {
                SpectraContainer spectraContainer = value as SpectraContainer;
                return spectraContainer.getSpectrumOfType(Libraries.NetStandard.ScienceModels.Enums.Enums.SpectrumType.Raw).Elements;
            }
            catch (Exception)
            {
                return null;
            }
        }

        public object ConvertBack(object value, Type targetType, object parameter, string language)
        {
            throw new NotImplementedException();
        }
    }

    public sealed class StatusToImageConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, string language)
@@ -217,6 +239,29 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters
        }
    }

    public sealed class VerticalOffsetConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            try
            {
                double parentHeight = (double)value;
                double height = System.Convert.ToDouble(parameter);

                return (int)((parentHeight - height) /2d);
            }
            catch (Exception)
            {
                return 200;
            }
        }

        public object ConvertBack(object value, Type targetType, object parameter, string language)
        {
            throw new NotImplementedException();
        }
    }

    public sealed class WidthConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, string language)
Loading