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

fixing opening of xml files and chart user controls management

parent 0493b6f3
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@ using INAF.Apps.Uwp.SLabDataManager.Services;
using INAF.Apps.Uwp.SLabDataManager.ViewModels;
using INAF.Apps.Uwp.SLabDataManager.ViewModels.ContentDialogsViewModel;
using INAF.Apps.Uwp.SLabDataManager.ViewModels.UserControlViewModels;
using INAF.Apps.Uwp.SLabDataManager.ViewModels.UserControlViewModels.ProcessedFilesSummaries;
using INAF.Libraries.NetStandard.Math.Fit.Linear;
using INAF.Libraries.NetStandard.Math.Fit.Spline;
using INAF.Libraries.NetStandard.Math.Smoothing;
@@ -132,7 +131,6 @@ namespace INAF.Apps.Uwp.SLabDataManager
                .AddSingleton<Logger>(logger)
                .AddSingleton<PermissionsHelper>()
                .AddSingleton<RecentFilesHelper>()
                .AddSingleton<UserControlsHelper>()
                .AddSingleton<RemoteOperationsRepository>()
                .AddSingleton<SecondaryWindowHelper>()
                .AddSingleton<SegmentFitModelsFactory>()
@@ -145,12 +143,13 @@ namespace INAF.Apps.Uwp.SLabDataManager
                .AddSingleton<StorageItemsAccessHelper>()
                .AddSingleton<ToolBarFlyoutsHelper>()
                .AddSingleton<UpdateUIHelper>()
                .AddSingleton<UserControlsHelper>()
                .AddSingleton<WorkingFoldersContainer>()
                .AddSingleton<WorkingItemsModel>()
                /* scoped */
                .AddScoped<ActionQuestionViewModel>()
                .AddScoped<LegendItemsHelper>()
                .AddScoped<ProcessedFilesSummaryViewModel>()
                .AddScoped<ProcessedSpectraContainer>()
                .AddScoped<StorageItemsHelper>()
                /* transient */
                .AddTransient<AnimationsHelper>()
+3 −0
Original line number Diff line number Diff line
@@ -8,6 +8,9 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers
{
    public sealed class PermissionsHelper
    {
        public PermissionsHelper()
        { }

        public List<PermissionModel> Permissions { get; private set; }

        public bool isPermissionAvailable(Permissions permission)
+65 −6
Original line number Diff line number Diff line
@@ -37,6 +37,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI

        public List<string> UserControlsToBeClosed { get; private set; }

        public List<string> UserControlsToBeOpened { get; private set; }

        #endregion

        #region methods
@@ -119,28 +121,85 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI
        }

        #region usercontrols to be closed
        public void addUserControlToBeClosed(string userControlName)
        public bool areUserControleToBeClosedAvailable()
        {
            return UserControlsToBeClosed.Any();
        }

        public void clearUserControlsToBeClosed()
        {
            if (UserControlsToBeClosed?.Count() > 0)
                UserControlsToBeClosed.Clear();
        }
        public void initUserControlsToBeClosed()
        {
            if (UserControlsToBeClosed == null)
                UserControlsToBeClosed = new List<string>();
            else
                UserControlsToBeClosed.Clear();
        }

        public void removeUserControlToBeClosed(string userControlName)
        {
            if (!containsUserControl(userControlName))
                return;

            if (!UserControlsToBeClosed.Any(x => x.Equals(userControlName)))
                return;

            /* remove usercontrol from collection */
            UserControlsToBeClosed.Remove(userControlName);
        }

        public void tryAddUserControlToBeClosed(string userControlName)
        {
            if (!containsUserControl(userControlName))
                return;

            if (UserControlsToBeClosed.Any(x => x.Equals(userControlName)))
                return;

            /* add usercontrol to collection */
            UserControlsToBeClosed.Add(userControlName);
        }
        #endregion

        public bool areUserControleToBeClosedAvailable()
        #region usercontrols to be opened
        public bool areUserControleToBeOpenedAvailable()
        {
            return UserControlsToBeClosed.Any();
            return (UserControlsToBeOpened != null && UserControlsToBeOpened.Any());
        }

        public void initUserControlsToBeClosed()
        public void initUserControlsToBeOpened()
        {
            if (UserControlsToBeClosed == null)
                UserControlsToBeClosed = new List<string>();
            if (UserControlsToBeOpened == null)
                UserControlsToBeOpened = new List<string>();
            else
                UserControlsToBeClosed.Clear();
        }

        public void clearUserControlsToBeOpened()
        {
            if (UserControlsToBeOpened?.Count() > 0)
                UserControlsToBeOpened.Clear();
        }

        public void tryAddUserControlToBeOpened(string userControlName)
        {
            if (UserControlsToBeOpened.Any(x => x.Equals(userControlName)))
                return;

            /* add usercontrol to collection */
            UserControlsToBeOpened.Add(userControlName);
        }
        #endregion

        public void selectUserControlsToBeClosed()
        {
            var remainingUserControlsToBeClosed = UserControlsToBeClosed.Except(UserControlsToBeOpened);
            if (remainingUserControlsToBeClosed.Any())
                UserControlsToBeClosed = remainingUserControlsToBeClosed.ToList();
        }
        #endregion
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -259,7 +259,7 @@
    <Compile Include="ViewModels\UserControlViewModels\ChartPanels\SegmentsFitViewModel.cs" />
    <Compile Include="ViewModels\UserControlViewModels\ChartPanels\SmoothingViewModel.cs" />
    <Compile Include="ViewModels\UserControlViewModels\ChartPanels\UserControlsViewModelFactory.cs" />
    <Compile Include="ViewModels\UserControlViewModels\ProcessedFilesSummaries\ProcessedFilesSummaryViewModel.cs" />
    <Compile Include="Models\Containers\ProcessedSpectraContainer.cs" />
    <Compile Include="Views\ChartPage.xaml.cs">
      <DependentUpon>ChartPage.xaml</DependentUpon>
    </Compile>
@@ -603,6 +603,7 @@
  </ItemGroup>
  <ItemGroup>
    <Folder Include="Charts\" />
    <Folder Include="ViewModels\UserControlViewModels\ProcessedFilesSummaries\" />
  </ItemGroup>
  <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' ">
    <VisualStudioVersion>14.0</VisualStudioVersion>
+19 −8
Original line number Diff line number Diff line
@@ -20,11 +20,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models.Charts

            MeasureUnit = spectrumChartOptions.SelectedWavelengthMeasureUnit;

            if (!tryReadXMin())
                xMin = 0d;

            if (!tryReadXMax())
                xMax = 0d;
            initBoundaries();

            /* switch xmin/xmax to selected wavelength measure unit, if required */
            switchToMeasureUnit(MeasureUnit);
@@ -35,6 +31,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models.Charts
        #region properties
        public bool IsReady { get; private set; }

        private bool IsSaveEnabled { get; set; }

        private string selectedSegmentText;
        public string SelectedSegmentText
        {
@@ -54,8 +52,9 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models.Charts
            {
                xMax = value;
                RaisePropertyChanged(nameof(XMax));
                saveXMax(value);
                trySetBoundariesRelatedValues();
                if (IsSaveEnabled)
                    saveXMax(value);
            }
        }

@@ -67,8 +66,9 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models.Charts
            {
                xMin = value;
                RaisePropertyChanged(nameof(XMin));
                saveXMin(value);
                trySetBoundariesRelatedValues();
                if (IsSaveEnabled)
                    saveXMin(value);
            }
        }
        #endregion
@@ -113,8 +113,19 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models.Charts
        }
        #endregion

        public void setBoundaries(double xMin, double xMax)
        public void initBoundaries()
        {
            if (!tryReadXMin())
                xMin = 0d;

            if (!tryReadXMax())
                xMax = 0d;
        }

        public void setBoundaries(double xMin, double xMax, bool isSaveEnabled = true)
        {
            IsSaveEnabled = isSaveEnabled;

            XMin = xMin;
            XMax = xMax;

Loading