Loading INAF.Apps.Uwp.SLabDataManager/Constants/Constants.cs +2 −0 Original line number Diff line number Diff line Loading @@ -8,5 +8,7 @@ public static readonly string RAW_SPECTRUM_FILE = "rawspectrumfile"; public static readonly string RAW_SPECTRUM_FILE_TOKEN = "rawspectrumfiletoken"; public static readonly string REF_SPECTRUM_FILE = "refspectrumfile"; public static readonly string REF_SPECTRUM_FILE_TOKEN = "refspectrumfiletoken"; } } INAF.Apps.Uwp.SLabDataManager/Constants/Enums.cs +8 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,14 @@ namespace INAF.Apps.Uwp.SLabDataManager.Constants Txt } public enum FileType { [Description("Raw")] Raw, [Description("Ref")] Ref } public enum Status { None, Loading INAF.Apps.Uwp.SLabDataManager/Models/WorkingItemsModel.cs +36 −5 Original line number Diff line number Diff line Loading @@ -14,6 +14,30 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models } #region properties #region ref spectrum private string refSpectrumFilepath; public string RefSpectrumFilepath { get { return refSpectrumFilepath; } set { SetProperty(ref refSpectrumFilepath, value); } } private string refSpectrumReadingErrorMessage; public string RefSpectrumReadingErrorMessage { get { return refSpectrumReadingErrorMessage; } set { SetProperty(ref refSpectrumReadingErrorMessage, value); } } private Status refSpectrumReadingStatus; public Status RefSpectrumReadingStatus { get { return refSpectrumReadingStatus; } set { SetProperty(ref refSpectrumReadingStatus, value); } } #endregion #region raw spectrum private Status rawSpectrumReadingStatus; public Status RawSpectrumReadingStatus { Loading @@ -34,6 +58,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models get { return rawSpectrumReadingErrorMessage; } set { SetProperty(ref rawSpectrumReadingErrorMessage, value); } } #endregion private SpectrumChartOptionsModel spectrumChartOptions; public SpectrumChartOptionsModel SpectrumChartOptions Loading @@ -42,19 +67,25 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models set { SetProperty(ref spectrumChartOptions, value); } } public SpectrumModel Spectrum { get; set; } public SpectrumModel RawSpectrum { get; set; } public SpectrumModel RefSpectrum { get; set; } public SpectrumSummaryModel SpectrumSummary { get; set; } public SpectrumSummaryModel RawSpectrumSummary { get; set; } public SpectrumSummaryModel RefSpectrumSummary { get; set; } #endregion #region methods private void init() { SpectrumSummary = new SpectrumSummaryModel(); RawSpectrumSummary = new SpectrumSummaryModel(); RawSpectrumFilepath = "RawSpectrumFileNotSelectedMessage".GetText(); RawSpectrumReadingStatus = Status.None; RefSpectrumSummary = new SpectrumSummaryModel(); RefSpectrumFilepath = "RefSpectrumFileNotSelectedMessage".GetText(); RefSpectrumReadingStatus = Status.None; } #endregion } Loading INAF.Apps.Uwp.SLabDataManager/Strings/en-us/Resources.resw +25 −4 Original line number Diff line number Diff line Loading @@ -180,10 +180,10 @@ <value>Lower spectrum lines num than expected</value> </data> <data name="RawSpectrumFileNoContentMessage" xml:space="preserve"> <value>No content found in selected file!</value> <value>No content found in RAW spectrum file!</value> </data> <data name="RawSpectrumFileNoSpectrumMessage" xml:space="preserve"> <value>No spectrum found in selected file!</value> <value>No spectrum found in RAW spectrum file!</value> </data> <data name="RawSpectrumFileNotFoundMessage" xml:space="preserve"> <value>Selected RAW spectrum file NOT FOUND!</value> Loading @@ -197,8 +197,8 @@ <data name="RawSpectrumFileReadingErrorMessage" xml:space="preserve"> <value>An error occurred while trying ro read selected file, please check its content</value> </data> <data name="SpectrumSummaryLabel.Text" xml:space="preserve"> <value>Spectrum summary</value> <data name="RawSpectrumSummaryLabel.Text" xml:space="preserve"> <value>RAW Spectrum summary</value> </data> <data name="SpectrumSummaryLinesNumText" xml:space="preserve"> <value>Lines num: rv_1</value> Loading @@ -212,6 +212,9 @@ <data name="ChartTooltipLabel" xml:space="preserve"> <value>x,y: rv_1 rv_mu, rv_2</value> </data> <data name="RefSpectrumFileLabel.Text" xml:space="preserve"> <value>Select REFERENCE spectrum file</value> </data> <data name="SpectrumMajorLinesVisibilitySelectionLabel.Text" xml:space="preserve"> <value>Major lines visibility:</value> </data> Loading @@ -233,4 +236,22 @@ <data name="SpectrumZoomModeSelectionLabel.Text" xml:space="preserve"> <value>Zoom mode:</value> </data> <data name="RefSpectrumFileNoContentMessage" xml:space="preserve"> <value>No content found in REF spectrum file!</value> </data> <data name="RefSpectrumFileNoSpectrumMessage" xml:space="preserve"> <value>No spectrum found in REF spectrum file!</value> </data> <data name="RefSpectrumFileNotFoundMessage" xml:space="preserve"> <value>Selected REF spectrum file NOT FOUND!</value> </data> <data name="RefSpectrumFileNotSelectedMessage" xml:space="preserve"> <value>No REF spectrum file selected</value> </data> <data name="RefSpectrumFileOkMessage" xml:space="preserve"> <value>Selected REF spectrum file successfully parsed</value> </data> <data name="RefSpectrumFileReadingErrorMessage" xml:space="preserve"> <value>An error occurred while trying ro read REF spectrum file, please check its content</value> </data> </root> No newline at end of file INAF.Apps.Uwp.SLabDataManager/ViewModels/MainViewModel.cs +130 −37 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels #endregion private async Task tryReadingRawSpectrumFileAsync() private async Task tryReadingSpectrumFileAsync(FileType fileType) { SpectrumModel spectrum = null; string filename = string.Empty; Loading @@ -58,8 +58,19 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels { UpdateUIHelper.UpdateUIAsync(() => { switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrumReadingStatus = Status.Error; WorkingItemsModel.RawSpectrumReadingErrorMessage = "RawSpectrumFileNotFoundMessage".GetText(); break; case FileType.Ref: WorkingItemsModel.RefSpectrumReadingStatus = Status.Error; WorkingItemsModel.RefSpectrumReadingErrorMessage = "RefSpectrumFileNotFoundMessage".GetText(); break; default: break; } }); return; } Loading @@ -72,10 +83,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels /* ...and manage lines... */ if (lines?.Count > 0) { spectrum = new SpectrumModel() { }; spectrum = new SpectrumModel(); int linesNum = lines.Count; Loading @@ -101,8 +109,19 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels { UpdateUIHelper.UpdateUIAsync(() => { switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrumReadingStatus = Status.Error; WorkingItemsModel.RawSpectrumReadingErrorMessage = "RawSpectrumFileReadingErrorMessage".GetText(); break; case FileType.Ref: WorkingItemsModel.RefSpectrumReadingStatus = Status.Error; WorkingItemsModel.RefSpectrumReadingErrorMessage = "RefSpectrumFileReadingErrorMessage".GetText(); break; default: break; } }); } Loading @@ -113,8 +132,19 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels { UpdateUIHelper.UpdateUIAsync(() => { switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrumReadingStatus = Status.Error; WorkingItemsModel.RawSpectrumReadingErrorMessage = "RawSpectrumFileNoSpectrumMessage".GetText(); break; case FileType.Ref: WorkingItemsModel.RefSpectrumReadingStatus = Status.Error; WorkingItemsModel.RefSpectrumReadingErrorMessage = "RefSpectrumFileNoSpectrumMessage".GetText(); break; default: break; } }); return; } Loading @@ -125,8 +155,20 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels /* if retrieved lines num if lower than expected, than warn about possible issue in file content */ UpdateUIHelper.UpdateUIAsync(() => { switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrumReadingStatus = Status.Warning; WorkingItemsModel.RawSpectrumReadingErrorMessage = "RawSpectrumFileMissingSpectrumLinesMessage".GetText(); break; case FileType.Ref: WorkingItemsModel.RefSpectrumReadingStatus = Status.Warning; WorkingItemsModel.RefSpectrumReadingErrorMessage = "RefSpectrumFileMissingSpectrumLinesMessage".GetText(); break; default: break; } }); } else Loading @@ -134,8 +176,19 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels /* ok! spectrum is ready */ UpdateUIHelper.UpdateUIAsync(() => { switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrumReadingStatus = Status.Ok; WorkingItemsModel.RawSpectrumReadingErrorMessage = "RawSpectrumFileOkMessage".GetText(); break; case FileType.Ref: WorkingItemsModel.RefSpectrumReadingStatus = Status.Ok; WorkingItemsModel.RefSpectrumReadingErrorMessage = "RefSpectrumFileOkMessage".GetText(); break; default: break; } }); } Loading @@ -146,36 +199,59 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels { UpdateUIHelper.UpdateUIAsync(() => { switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrumReadingStatus = Status.Error; WorkingItemsModel.RawSpectrumReadingErrorMessage = "RawSpectrumFileNoContentMessage".GetText(); break; case FileType.Ref: WorkingItemsModel.RefSpectrumReadingStatus = Status.Error; WorkingItemsModel.RefSpectrumReadingErrorMessage = "RefSpectrumFileNoContentMessage".GetText(); break; default: break; } }); } }); if (spectrum != null) { WorkingItemsModel.Spectrum = spectrum; WorkingItemsModel.SpectrumSummary.init(spectrum); switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrum = spectrum; WorkingItemsModel.RawSpectrumSummary.init(spectrum); WorkingItemsModel.SpectrumChartOptions = new SpectrumChartOptionsModel(spectrum) { Filename = filename, YAxisTitle = "SpectrumYAxisTitle".GetText() }; break; case FileType.Ref: WorkingItemsModel.RefSpectrum = spectrum; WorkingItemsModel.RefSpectrumSummary.init(spectrum); break; } } } private new async Task selectFileAsync(List<FileExt> fileExts) private async Task selectFileAsync(FileType fileType, List<FileExt> fileExts) { /* reset spectrum summary when opening a new file */ WorkingItemsModel.SpectrumSummary.reset(); WorkingItemsModel.RawSpectrumSummary.reset(); /* select file */ StorageFile file = await base.selectFileAsync(fileExts); if (file != null) { //logHelper.addLogInfoItemOnlyLog($"MReqFilepath: {file.Path}"); switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrumFilepath = file.Path; /* remember access to file */ settingsHelper.save(Constants.Constants.RAW_SPECTRUM_FILE, file.Path); Loading @@ -183,13 +259,30 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels storageItemsAccessHelper.save(Constants.Constants.RAW_SPECTRUM_FILE_TOKEN, file); /* try reading the file to make spectrum available */ await tryReadingRawSpectrumFileAsync(); await tryReadingSpectrumFileAsync(fileType); break; case FileType.Ref: WorkingItemsModel.RefSpectrumFilepath = file.Path; /* remember access to file */ settingsHelper.save(Constants.Constants.REF_SPECTRUM_FILE, file.Path); /* remember access to file */ storageItemsAccessHelper.save(Constants.Constants.REF_SPECTRUM_FILE_TOKEN, file); /* try reading the file to make spectrum available */ await tryReadingSpectrumFileAsync(fileType); break; default: break; } } } #region commands private RelayCommand commandSelectRawSpectrumFile; public RelayCommand CommandSelectRawSpectrumFile => commandSelectRawSpectrumFile ?? (commandSelectRawSpectrumFile = new RelayCommand(() => selectFileAsync(new List<FileExt>(new[] { FileExt.Txt })))); public RelayCommand CommandSelectRawSpectrumFile => commandSelectRawSpectrumFile ?? (commandSelectRawSpectrumFile = new RelayCommand(() => selectFileAsync(FileType.Raw, new List<FileExt>(new[] { FileExt.Txt })))); private RelayCommand commandSelectRefSpectrumFile; public RelayCommand CommandSelectRefSpectrumFile => commandSelectRefSpectrumFile ?? (commandSelectRefSpectrumFile = new RelayCommand(() => selectFileAsync(FileType.Ref, new List<FileExt>(new[] { FileExt.Txt })))); #endregion } } Loading
INAF.Apps.Uwp.SLabDataManager/Constants/Constants.cs +2 −0 Original line number Diff line number Diff line Loading @@ -8,5 +8,7 @@ public static readonly string RAW_SPECTRUM_FILE = "rawspectrumfile"; public static readonly string RAW_SPECTRUM_FILE_TOKEN = "rawspectrumfiletoken"; public static readonly string REF_SPECTRUM_FILE = "refspectrumfile"; public static readonly string REF_SPECTRUM_FILE_TOKEN = "refspectrumfiletoken"; } }
INAF.Apps.Uwp.SLabDataManager/Constants/Enums.cs +8 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,14 @@ namespace INAF.Apps.Uwp.SLabDataManager.Constants Txt } public enum FileType { [Description("Raw")] Raw, [Description("Ref")] Ref } public enum Status { None, Loading
INAF.Apps.Uwp.SLabDataManager/Models/WorkingItemsModel.cs +36 −5 Original line number Diff line number Diff line Loading @@ -14,6 +14,30 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models } #region properties #region ref spectrum private string refSpectrumFilepath; public string RefSpectrumFilepath { get { return refSpectrumFilepath; } set { SetProperty(ref refSpectrumFilepath, value); } } private string refSpectrumReadingErrorMessage; public string RefSpectrumReadingErrorMessage { get { return refSpectrumReadingErrorMessage; } set { SetProperty(ref refSpectrumReadingErrorMessage, value); } } private Status refSpectrumReadingStatus; public Status RefSpectrumReadingStatus { get { return refSpectrumReadingStatus; } set { SetProperty(ref refSpectrumReadingStatus, value); } } #endregion #region raw spectrum private Status rawSpectrumReadingStatus; public Status RawSpectrumReadingStatus { Loading @@ -34,6 +58,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models get { return rawSpectrumReadingErrorMessage; } set { SetProperty(ref rawSpectrumReadingErrorMessage, value); } } #endregion private SpectrumChartOptionsModel spectrumChartOptions; public SpectrumChartOptionsModel SpectrumChartOptions Loading @@ -42,19 +67,25 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models set { SetProperty(ref spectrumChartOptions, value); } } public SpectrumModel Spectrum { get; set; } public SpectrumModel RawSpectrum { get; set; } public SpectrumModel RefSpectrum { get; set; } public SpectrumSummaryModel SpectrumSummary { get; set; } public SpectrumSummaryModel RawSpectrumSummary { get; set; } public SpectrumSummaryModel RefSpectrumSummary { get; set; } #endregion #region methods private void init() { SpectrumSummary = new SpectrumSummaryModel(); RawSpectrumSummary = new SpectrumSummaryModel(); RawSpectrumFilepath = "RawSpectrumFileNotSelectedMessage".GetText(); RawSpectrumReadingStatus = Status.None; RefSpectrumSummary = new SpectrumSummaryModel(); RefSpectrumFilepath = "RefSpectrumFileNotSelectedMessage".GetText(); RefSpectrumReadingStatus = Status.None; } #endregion } Loading
INAF.Apps.Uwp.SLabDataManager/Strings/en-us/Resources.resw +25 −4 Original line number Diff line number Diff line Loading @@ -180,10 +180,10 @@ <value>Lower spectrum lines num than expected</value> </data> <data name="RawSpectrumFileNoContentMessage" xml:space="preserve"> <value>No content found in selected file!</value> <value>No content found in RAW spectrum file!</value> </data> <data name="RawSpectrumFileNoSpectrumMessage" xml:space="preserve"> <value>No spectrum found in selected file!</value> <value>No spectrum found in RAW spectrum file!</value> </data> <data name="RawSpectrumFileNotFoundMessage" xml:space="preserve"> <value>Selected RAW spectrum file NOT FOUND!</value> Loading @@ -197,8 +197,8 @@ <data name="RawSpectrumFileReadingErrorMessage" xml:space="preserve"> <value>An error occurred while trying ro read selected file, please check its content</value> </data> <data name="SpectrumSummaryLabel.Text" xml:space="preserve"> <value>Spectrum summary</value> <data name="RawSpectrumSummaryLabel.Text" xml:space="preserve"> <value>RAW Spectrum summary</value> </data> <data name="SpectrumSummaryLinesNumText" xml:space="preserve"> <value>Lines num: rv_1</value> Loading @@ -212,6 +212,9 @@ <data name="ChartTooltipLabel" xml:space="preserve"> <value>x,y: rv_1 rv_mu, rv_2</value> </data> <data name="RefSpectrumFileLabel.Text" xml:space="preserve"> <value>Select REFERENCE spectrum file</value> </data> <data name="SpectrumMajorLinesVisibilitySelectionLabel.Text" xml:space="preserve"> <value>Major lines visibility:</value> </data> Loading @@ -233,4 +236,22 @@ <data name="SpectrumZoomModeSelectionLabel.Text" xml:space="preserve"> <value>Zoom mode:</value> </data> <data name="RefSpectrumFileNoContentMessage" xml:space="preserve"> <value>No content found in REF spectrum file!</value> </data> <data name="RefSpectrumFileNoSpectrumMessage" xml:space="preserve"> <value>No spectrum found in REF spectrum file!</value> </data> <data name="RefSpectrumFileNotFoundMessage" xml:space="preserve"> <value>Selected REF spectrum file NOT FOUND!</value> </data> <data name="RefSpectrumFileNotSelectedMessage" xml:space="preserve"> <value>No REF spectrum file selected</value> </data> <data name="RefSpectrumFileOkMessage" xml:space="preserve"> <value>Selected REF spectrum file successfully parsed</value> </data> <data name="RefSpectrumFileReadingErrorMessage" xml:space="preserve"> <value>An error occurred while trying ro read REF spectrum file, please check its content</value> </data> </root> No newline at end of file
INAF.Apps.Uwp.SLabDataManager/ViewModels/MainViewModel.cs +130 −37 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels #endregion private async Task tryReadingRawSpectrumFileAsync() private async Task tryReadingSpectrumFileAsync(FileType fileType) { SpectrumModel spectrum = null; string filename = string.Empty; Loading @@ -58,8 +58,19 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels { UpdateUIHelper.UpdateUIAsync(() => { switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrumReadingStatus = Status.Error; WorkingItemsModel.RawSpectrumReadingErrorMessage = "RawSpectrumFileNotFoundMessage".GetText(); break; case FileType.Ref: WorkingItemsModel.RefSpectrumReadingStatus = Status.Error; WorkingItemsModel.RefSpectrumReadingErrorMessage = "RefSpectrumFileNotFoundMessage".GetText(); break; default: break; } }); return; } Loading @@ -72,10 +83,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels /* ...and manage lines... */ if (lines?.Count > 0) { spectrum = new SpectrumModel() { }; spectrum = new SpectrumModel(); int linesNum = lines.Count; Loading @@ -101,8 +109,19 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels { UpdateUIHelper.UpdateUIAsync(() => { switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrumReadingStatus = Status.Error; WorkingItemsModel.RawSpectrumReadingErrorMessage = "RawSpectrumFileReadingErrorMessage".GetText(); break; case FileType.Ref: WorkingItemsModel.RefSpectrumReadingStatus = Status.Error; WorkingItemsModel.RefSpectrumReadingErrorMessage = "RefSpectrumFileReadingErrorMessage".GetText(); break; default: break; } }); } Loading @@ -113,8 +132,19 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels { UpdateUIHelper.UpdateUIAsync(() => { switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrumReadingStatus = Status.Error; WorkingItemsModel.RawSpectrumReadingErrorMessage = "RawSpectrumFileNoSpectrumMessage".GetText(); break; case FileType.Ref: WorkingItemsModel.RefSpectrumReadingStatus = Status.Error; WorkingItemsModel.RefSpectrumReadingErrorMessage = "RefSpectrumFileNoSpectrumMessage".GetText(); break; default: break; } }); return; } Loading @@ -125,8 +155,20 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels /* if retrieved lines num if lower than expected, than warn about possible issue in file content */ UpdateUIHelper.UpdateUIAsync(() => { switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrumReadingStatus = Status.Warning; WorkingItemsModel.RawSpectrumReadingErrorMessage = "RawSpectrumFileMissingSpectrumLinesMessage".GetText(); break; case FileType.Ref: WorkingItemsModel.RefSpectrumReadingStatus = Status.Warning; WorkingItemsModel.RefSpectrumReadingErrorMessage = "RefSpectrumFileMissingSpectrumLinesMessage".GetText(); break; default: break; } }); } else Loading @@ -134,8 +176,19 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels /* ok! spectrum is ready */ UpdateUIHelper.UpdateUIAsync(() => { switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrumReadingStatus = Status.Ok; WorkingItemsModel.RawSpectrumReadingErrorMessage = "RawSpectrumFileOkMessage".GetText(); break; case FileType.Ref: WorkingItemsModel.RefSpectrumReadingStatus = Status.Ok; WorkingItemsModel.RefSpectrumReadingErrorMessage = "RefSpectrumFileOkMessage".GetText(); break; default: break; } }); } Loading @@ -146,36 +199,59 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels { UpdateUIHelper.UpdateUIAsync(() => { switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrumReadingStatus = Status.Error; WorkingItemsModel.RawSpectrumReadingErrorMessage = "RawSpectrumFileNoContentMessage".GetText(); break; case FileType.Ref: WorkingItemsModel.RefSpectrumReadingStatus = Status.Error; WorkingItemsModel.RefSpectrumReadingErrorMessage = "RefSpectrumFileNoContentMessage".GetText(); break; default: break; } }); } }); if (spectrum != null) { WorkingItemsModel.Spectrum = spectrum; WorkingItemsModel.SpectrumSummary.init(spectrum); switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrum = spectrum; WorkingItemsModel.RawSpectrumSummary.init(spectrum); WorkingItemsModel.SpectrumChartOptions = new SpectrumChartOptionsModel(spectrum) { Filename = filename, YAxisTitle = "SpectrumYAxisTitle".GetText() }; break; case FileType.Ref: WorkingItemsModel.RefSpectrum = spectrum; WorkingItemsModel.RefSpectrumSummary.init(spectrum); break; } } } private new async Task selectFileAsync(List<FileExt> fileExts) private async Task selectFileAsync(FileType fileType, List<FileExt> fileExts) { /* reset spectrum summary when opening a new file */ WorkingItemsModel.SpectrumSummary.reset(); WorkingItemsModel.RawSpectrumSummary.reset(); /* select file */ StorageFile file = await base.selectFileAsync(fileExts); if (file != null) { //logHelper.addLogInfoItemOnlyLog($"MReqFilepath: {file.Path}"); switch (fileType) { case FileType.Raw: WorkingItemsModel.RawSpectrumFilepath = file.Path; /* remember access to file */ settingsHelper.save(Constants.Constants.RAW_SPECTRUM_FILE, file.Path); Loading @@ -183,13 +259,30 @@ namespace INAF.Apps.Uwp.SLabDataManager.ViewModels storageItemsAccessHelper.save(Constants.Constants.RAW_SPECTRUM_FILE_TOKEN, file); /* try reading the file to make spectrum available */ await tryReadingRawSpectrumFileAsync(); await tryReadingSpectrumFileAsync(fileType); break; case FileType.Ref: WorkingItemsModel.RefSpectrumFilepath = file.Path; /* remember access to file */ settingsHelper.save(Constants.Constants.REF_SPECTRUM_FILE, file.Path); /* remember access to file */ storageItemsAccessHelper.save(Constants.Constants.REF_SPECTRUM_FILE_TOKEN, file); /* try reading the file to make spectrum available */ await tryReadingSpectrumFileAsync(fileType); break; default: break; } } } #region commands private RelayCommand commandSelectRawSpectrumFile; public RelayCommand CommandSelectRawSpectrumFile => commandSelectRawSpectrumFile ?? (commandSelectRawSpectrumFile = new RelayCommand(() => selectFileAsync(new List<FileExt>(new[] { FileExt.Txt })))); public RelayCommand CommandSelectRawSpectrumFile => commandSelectRawSpectrumFile ?? (commandSelectRawSpectrumFile = new RelayCommand(() => selectFileAsync(FileType.Raw, new List<FileExt>(new[] { FileExt.Txt })))); private RelayCommand commandSelectRefSpectrumFile; public RelayCommand CommandSelectRefSpectrumFile => commandSelectRefSpectrumFile ?? (commandSelectRefSpectrumFile = new RelayCommand(() => selectFileAsync(FileType.Ref, new List<FileExt>(new[] { FileExt.Txt })))); #endregion } }