Commit 34d874f6 authored by Francesco Carraro's avatar Francesco Carraro
Browse files

improvements in InfoUserControl

parent 1e137811
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -288,6 +288,9 @@
    <Compile Include="Views\UserControls\InfoUserControl.xaml.cs">
      <DependentUpon>InfoUserControl.xaml</DependentUpon>
    </Compile>
    <Compile Include="Views\UserControls\ProgressRingUserControl.xaml.cs">
      <DependentUpon>ProgressRingUserControl.xaml</DependentUpon>
    </Compile>
    <Compile Include="Views\UserControls\SegmentsFitUserControl.xaml.cs">
      <DependentUpon>SegmentsFitUserControl.xaml</DependentUpon>
    </Compile>
@@ -383,6 +386,10 @@
      <SubType>Designer</SubType>
      <Generator>MSBuild:Compile</Generator>
    </Page>
    <Page Include="Views\UserControls\ProgressRingUserControl.xaml">
      <SubType>Designer</SubType>
      <Generator>MSBuild:Compile</Generator>
    </Page>
    <Page Include="Views\UserControls\SegmentsFitUserControl.xaml">
      <SubType>Designer</SubType>
      <Generator>MSBuild:Compile</Generator>
+6 −0
Original line number Diff line number Diff line
@@ -756,4 +756,10 @@
  <data name="AlignmentTitle.Text" xml:space="preserve">
    <value>Alignment</value>
  </data>
  <data name="SampleDataAndInfoTitle.Text" xml:space="preserve">
    <value>Measurement and sample info</value>
  </data>
  <data name="SampleDataLoadingMessage.Text" xml:space="preserve">
    <value>Wait while loading values...</value>
  </data>
</root>
 No newline at end of file
+13 −9
Original line number Diff line number Diff line
@@ -385,11 +385,11 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels
            }

            /* all usercontrol viewmodels are disposed when a new RAW file is read */
            //AlignmentViewModel?.Dispose();
            //SegmentsFitViewModel?.Dispose();
            //SmoothingViewModel?.Dispose();
            //SampleDataViewModel?.Dispose();
            //MeasurementInfoViewModel?.Dispose();
            AlignmentViewModel?.Dispose();
            SegmentsFitViewModel?.Dispose();
            SmoothingViewModel?.Dispose();
            SampleDataViewModel?.Dispose();
            MeasurementInfoViewModel?.Dispose();
        }

        private async void initAsync()
@@ -441,10 +441,6 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels
             * where already beed satisfied */
            trySetIsContinuumRemovalEnabled();

            /* load sample-data values from web-app */
            await prepareInfoAsync();
            //await loadSampleDataValuesFromWebAsync(isPageInit: true);

            /* init methods for fitting */
            await initFitFunctionsAsync();

@@ -497,12 +493,19 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels
        }
        #endregion

        #region init usercontrols viewmodels
        public void initAlignmentViewModel()
        {
            AlignmentViewModel = serviceProvider.GetRequiredService<AlignmentViewModel>();
            AlignmentViewModel.init();
        }

        public void initInfoViewModel()
        {
            MeasurementInfoViewModel = serviceProvider.GetRequiredService<MeasurementInfoViewModel>();
            loadSampleDataValuesFromWebAsync(isPageInit: true);
        }

        public void initSegmentsFitViewModel(RoutedEventArgs item)
        {
            if ((item.OriginalSource as ToggleSwitch).IsOn)
@@ -514,6 +517,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels
            SmoothingViewModel = serviceProvider.GetRequiredService<SmoothingViewModel>();
            await SmoothingViewModel.initAsync();
        }
        #endregion

        #region commands
        private RelayCommand<string> commandCloseUserControl;
+6 −25
Original line number Diff line number Diff line
@@ -12,34 +12,13 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels
{
    public partial class ChartViewModel
    {
        private async Task prepareInfoAsync()
        {
            MeasurementInfoViewModel = serviceProvider.GetRequiredService<MeasurementInfoViewModel>();
            await loadSampleDataValuesFromWebAsync(isPageInit: true);
        }

        private async Task loadSampleDataValuesFromWebAsync(bool isPageInit = false)
        {
            if (!isPageInit)
                IsLoading = true;

            var remoteOperationsManager = serviceProvider.GetRequiredService<RemoteOperationsManager>();
            SampleDataValuesContainer sampleDataValuesContainer = await remoteOperationsManager.getValues<SampleDataValuesContainer>(RemoteOperationType.GetSampleDataValues);
            if (sampleDataValuesContainer != null &&
                sampleDataValuesContainer.SampleDataValues?.Count > 0 &&
                sampleDataValuesContainer.GrainSizeTypeValues?.Count > 0)
            {
                if (!isPageInit)
                    IsLoading = false;
            SampleDataViewModel = serviceProvider.GetRequiredService<SampleDataViewModel>();
                SampleDataViewModel.init(sampleDataValuesContainer);
            }
            if (!SampleDataViewModel.IsInited)
                await SampleDataViewModel.initAsync();
            else
            {
                if (!isPageInit)
                    IsLoading = false;
                showDialogMessage("SampleDataNotAvailableMessage".GetText());
            }
                SampleDataViewModel.setInited();
        }

        private async Task saveInfoAsync()
@@ -60,6 +39,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels
            InfoSelectedValuesModel sampleDataSelectedValues = new InfoSelectedValuesModel()
            {
                FileId = rawFileId,
                Name = SampleDataViewModel.SampleName,
                SampleType = SampleDataViewModel.SelectedSampleDataValue,
                GrainSizeLowerValue = SampleDataViewModel.SelectedGrainSizeLowerLimitValue,
                GrainSizeUpperValue = SampleDataViewModel.SelectedGrainSizeUpperLimitValue,
                GrainSizeType = SampleDataViewModel.SelectedGrainSizeTypeValue,
+5 −4
Original line number Diff line number Diff line
@@ -20,14 +20,15 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels.UserControlViewModels
        protected readonly RemoteOperationsManager remoteOperationsManager;
        protected readonly SettingsHelper settingsHelper;

        public BaseUserControlViewModel()
        { }
        public BaseUserControlViewModel(IServiceProvider serviceProvider)
        {
            this.serviceProvider = serviceProvider;
        }

        public BaseUserControlViewModel(IServiceProvider serviceProvider,
                                        SpectraContainer spectraContainer,
                                        SettingsHelper settingsHelper)
                                        SettingsHelper settingsHelper) : this(serviceProvider)
        {
            this.serviceProvider = serviceProvider;
            this.spectraContainer = spectraContainer;
            this.settingsHelper = settingsHelper;

Loading