Commit 1c0927e9 authored by Francesco Carraro's avatar Francesco Carraro
Browse files

fixed pinned flyout

parent d0c3c809
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -40,11 +40,15 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts
            set { areSeparatorsVisible = value; saveAreSeparatorsVisible(value); RaisePropertyChanged(nameof(AreSeparatorsVisible)); }
        }

        /* contains value read from settings, when user navigate to the chart page, if value is true, then apply the value to 
         * the IsPinRequested and IsPinned variables, to enable the pinned version of flyout */
        public bool isPinnedPending { get; private set; }

        private bool isPinned;
        public bool IsPinned
        {
            get { return isPinned; }
            set { isPinned = value; RaisePropertyChanged(nameof(IsPinned)); }
            set { isPinned = value; RaisePropertyChanged(nameof(IsPinned)); saveIsPinned(value); }
        }

        private bool isPinRequested;
@@ -113,7 +117,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts
            string value = settingsHelper.get(Constants.Constants.IS_ALIGNMENT_FLYOUT_PINNED);
            if (!string.IsNullOrEmpty(value))
            {
                IsPinned = value.ToBool();
                isPinnedPending = value.ToBool();
                isFound = true;
            }

+42 −0
Original line number Diff line number Diff line
using INAF.Libraries.NetStandard.ScienceModels.Spectra;
using System.Collections.Generic;
using System.Linq;
using Windows.Data.Xml.Dom;
using Windows.UI;
using Windows.UI.Xaml.Media;
using INAF.Libraries.NetStandard.Extensions;
using INAF.Libraries.NetStandard.SLabCommonModels.Models.Files;

namespace INAF.Apps.Uwp.SLabDataManager.Extensions
{
@@ -40,7 +43,46 @@ namespace INAF.Apps.Uwp.SLabDataManager.Extensions
            }
        }

        public static SpectrumFileModel ToSpectrumFile(this SpectrumModel model)
        {
            return new SpectrumFileModel()
            {
                Name = model.Filename,
                Type = model.Type,
                Xml = model.ToXml().GetXml()
            };
        }

        public static XmlDocument ToXml(this SpectrumModel spectrum)
        {
            XmlDocument dom = new XmlDocument();

            var xmlspectrum = dom.CreateElement("spectrum");
            dom.AppendChild(xmlspectrum);

            foreach (var element in spectrum.Elements)
                xmlspectrum.AppendChild(element.ToXmlNode(dom));
            
            return dom;
        }

        #region elements
        public static XmlElement ToXmlNode(this ElementModel element, XmlDocument dom)
        {
            var xmlelement = dom.CreateElement("element");

            var xmlwavelength = dom.CreateElement("wavelength");
            double wavelength = element.getValueInNanometers();
            xmlwavelength.InnerText = wavelength.ToDoubleInvariantString();
            xmlelement.AppendChild(xmlwavelength);

            var xmlvalue = dom.CreateElement("value");
            xmlvalue.InnerText = element.Y.ToDoubleInvariantString();
            xmlelement.AppendChild(xmlvalue);

            return xmlelement;
        }

        public static double GetSegmentLeftMeanValue(this IEnumerable<ElementModel> elements,
                                                     int numOfPoints)
        {
+0 −1
Original line number Diff line number Diff line
@@ -4,7 +4,6 @@ using INAF.Libraries.Uwp.Logging;
using INAF.Libraries.Uwp.Settings;
using Newtonsoft.Json;
using System;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using Windows.Web.Http;
using Windows.Web.Http.Headers;
+8 −3
Original line number Diff line number Diff line
using INAF.Apps.Uwp.SLabDataManager.Helpers;
using INAF.Apps.Uwp.SLabDataManager.Extensions;
using INAF.Apps.Uwp.SLabDataManager.Helpers;
using INAF.Apps.Uwp.SLabDataManager.Helpers.ConfigHelpers;
using INAF.Apps.Uwp.SLabDataManager.Helpers.RemoteOperations;
using INAF.Libraries.NetStandard.ScienceModels.Extensions;
using INAF.Libraries.NetStandard.ScienceModels.OutputFormats;
using INAF.Libraries.NetStandard.SLabCommonModels.Models.SaveAlignedSpectrum;
using INAF.Libraries.Uwp.Logging;
@@ -14,7 +14,6 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Telerik.UI.Xaml.Controls.Chart;
using Windows.Storage;
using Windows.UI.Xaml.Navigation;
using static INAF.Libraries.NetStandard.SLabCommonModels.Enums.Enums;
@@ -142,6 +141,12 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels
            /* add listener for being warned of work in progress in WorkingItems */
            WorkingItems.PropertyChanged += WorkingItems_PropertyChanged;

            if (WorkingItems.AlignmentConfig.isPinnedPending)
            {
                WorkingItems.AlignmentConfig.IsPinRequested = true;
                WorkingItems.AlignmentConfig.IsPinned = true;
            }

            IsLoading = false;
            IsReady = true;
        }
+0 −2
Original line number Diff line number Diff line
@@ -164,7 +164,6 @@
                                                     IsPinned="{x:Bind ViewModel.WorkingItems.AlignmentConfig.IsPinned, Mode=OneWay}"
                                                     IsPinRequested="{x:Bind ViewModel.WorkingItems.AlignmentConfig.IsPinRequested, Mode=TwoWay}"
                                                     IsUnpinRequested="{x:Bind ViewModel.WorkingItems.AlignmentConfig.IsUnpinRequested, Mode=TwoWay}"
                                                     NumOfPointsForAlignment="{x:Bind ViewModel.WorkingItems.AlignmentConfig.NumOfPointsForAlignment, Mode=TwoWay}"
                                                     SelectedRefBandXMin="{x:Bind ViewModel.WorkingItems.SpectraContainer.SelectedRefBand.XMin, Mode=OneWay}"
                                                     SelectedRefBandXMax="{x:Bind ViewModel.WorkingItems.SpectraContainer.SelectedRefBand.XMax, Mode=OneWay}"
                                                     SelectedSegmentText="{x:Bind ViewModel.WorkingItems.SpectraContainer.SelectedRefBand.SelectedSegmentText, Mode=OneWay}"
@@ -417,7 +416,6 @@
                                                     IsPinned="{x:Bind ViewModel.WorkingItems.AlignmentConfig.IsPinned, Mode=OneWay}"
                                                     IsPinRequested="{x:Bind ViewModel.WorkingItems.AlignmentConfig.IsPinRequested, Mode=TwoWay}"
                                                     IsUnpinRequested="{x:Bind ViewModel.WorkingItems.AlignmentConfig.IsUnpinRequested, Mode=TwoWay}"
                                                     NumOfPointsForAlignment="{x:Bind ViewModel.WorkingItems.AlignmentConfig.NumOfPointsForAlignment, Mode=TwoWay}"
                                                     SelectedRefBandXMin="{x:Bind ViewModel.WorkingItems.SpectraContainer.SelectedRefBand.XMin, Mode=OneWay}"
                                                     SelectedRefBandXMax="{x:Bind ViewModel.WorkingItems.SpectraContainer.SelectedRefBand.XMax, Mode=OneWay}"
                                                     SelectedSegmentText="{x:Bind ViewModel.WorkingItems.SpectraContainer.SelectedRefBand.SelectedSegmentText, Mode=OneWay}"
Loading