Loading INAF.Apps.Uwp.SLabDataManager/Charts/SpectrumChartOptionsModel.cs 0 → 100644 +117 −0 Original line number Diff line number Diff line using INAF.Libraries.NetStandard.ScienceModels; using INAF.Libraries.NetStandard.ScienceModels.Spectra; using System; using System.Collections.Generic; using System.Linq; using Telerik.UI.Xaml.Controls.Chart; using static INAF.Apps.Uwp.SLabDataManager.Constants.Enums; using static INAF.Libraries.NetStandard.ScienceModels.Enums.Enums; namespace INAF.Apps.Uwp.Charts { public class SpectrumChartOptionsModel : ObservableModel { public SpectrumChartOptionsModel(SpectrumModel spectrum) { Spectrum = spectrum; MajorLinesVisibilityValues = Enum.GetValues(typeof(GridLineVisibility)).Cast<GridLineVisibility>().ToList(); SelectedMajorLinesVisibility = GridLineVisibility.XY; StripLinesVisibilityValues = Enum.GetValues(typeof(GridLineVisibility)).Cast<GridLineVisibility>().ToList(); SelectedStripLinesVisibility = GridLineVisibility.XY; WavelengthMeasureUnits = Enum.GetValues(typeof(WavelengthMeasureUnit)).Cast<WavelengthMeasureUnit>().ToList(); SelectedWavelengthMeasureUnit = WavelengthMeasureUnit.Nanometers; ChartPanModeValues = Enum.GetValues(typeof(ChartPanZoomMode)).Cast<ChartPanZoomMode>().ToList(); SelectedChartPanMode = ChartPanZoomMode.Both; ChartZoomModeValues = Enum.GetValues(typeof(ChartPanZoomMode)).Cast<ChartPanZoomMode>().ToList(); SelectedChartZoomMode = ChartPanZoomMode.Both; } public SpectrumModel Spectrum { get; set; } public string Filename { get; set; } #region MajorLinesVisibility private List<GridLineVisibility> majorLinesVisibilityValues; public List<GridLineVisibility> MajorLinesVisibilityValues { get { return majorLinesVisibilityValues; } set { majorLinesVisibilityValues = value; RaisePropertyChanged(nameof(MajorLinesVisibilityValues)); } } private GridLineVisibility selectedMajorLinesVisibility; public GridLineVisibility SelectedMajorLinesVisibility { get { return selectedMajorLinesVisibility; } set { selectedMajorLinesVisibility = value; RaisePropertyChanged(nameof(SelectedMajorLinesVisibility)); } } #endregion #region StripLinesVisibility private GridLineVisibility selectedStripLinesVisibility; public GridLineVisibility SelectedStripLinesVisibility { get { return selectedStripLinesVisibility; } set { selectedStripLinesVisibility = value; RaisePropertyChanged(nameof(SelectedStripLinesVisibility)); } } private List<GridLineVisibility> stripLinesVisibilityValues; public List<GridLineVisibility> StripLinesVisibilityValues { get { return stripLinesVisibilityValues; } set { stripLinesVisibilityValues = value; RaisePropertyChanged(nameof(StripLinesVisibilityValues)); } } #endregion #region Pan mode private List<ChartPanZoomMode> chartPanModeValues; public List<ChartPanZoomMode> ChartPanModeValues { get { return chartPanModeValues; } set { chartPanModeValues = value; RaisePropertyChanged(nameof(ChartPanModeValues)); } } private ChartPanZoomMode selectedChartPanMode; public ChartPanZoomMode SelectedChartPanMode { get { return selectedChartPanMode; } set { selectedChartPanMode = value; RaisePropertyChanged(nameof(SelectedChartPanMode)); } } #endregion #region Zoom mode private List<ChartPanZoomMode> chartZoomModeValues; public List<ChartPanZoomMode> ChartZoomModeValues { get { return chartZoomModeValues; } set { chartZoomModeValues = value; RaisePropertyChanged(nameof(ChartZoomModeValues)); } } private ChartPanZoomMode selectedChartZoomMode; public ChartPanZoomMode SelectedChartZoomMode { get { return selectedChartZoomMode; } set { selectedChartZoomMode = value; RaisePropertyChanged(nameof(SelectedChartZoomMode)); } } #endregion #region WavelengthMeasureUnits private WavelengthMeasureUnit selectedWavelengthMeasureUnit; public WavelengthMeasureUnit SelectedWavelengthMeasureUnit { get { return selectedWavelengthMeasureUnit; } set { selectedWavelengthMeasureUnit = value; RaisePropertyChanged(nameof(SelectedWavelengthMeasureUnit)); } } public List<WavelengthMeasureUnit> WavelengthMeasureUnits { get; set; } #endregion public string XAxisTitle { get; set; } public string YAxisTitle { get; set; } } } INAF.Apps.Uwp.SLabDataManager/Converters/Converters.cs +25 −3 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters return "ChartTooltipLabel".GetText() .Replace("rv_1", scatterDataPoint.XValue.ToString()) .Replace("rv_mu", workingItemsModel.Spectrum.SelectedWavelengthMeasureUnit.GetDescription()) .Replace("rv_mu", workingItemsModel.SpectrumChartOptions.SelectedWavelengthMeasureUnit.GetDescription()) .Replace("rv_2", scatterDataPoint.YValue.ToDoubleInvariant()); } catch (Exception) Loading @@ -39,6 +39,28 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters } } public sealed class ChartGridItemsVisibilityConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { try { WorkingItemsModel workingItemsModel = Ioc.Default.GetService<WorkingItemsModel>(); return workingItemsModel.SpectrumChartOptions.SelectedMajorLinesVisibility.ToString(); } catch (Exception) { return string.Empty; } } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } } public sealed class XAxisTitleConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) Loading @@ -47,7 +69,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters { WorkingItemsModel workingItemsModel = Ioc.Default.GetService<WorkingItemsModel>(); return "SpectrumXAxisTitle".GetText().Replace("r_v", workingItemsModel.Spectrum.SelectedWavelengthMeasureUnit.GetDescription()); return "SpectrumXAxisTitle".GetText().Replace("r_v", workingItemsModel.SpectrumChartOptions.SelectedWavelengthMeasureUnit.GetDescription()); } catch (Exception) { Loading @@ -71,7 +93,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters WorkingItemsModel workingItemsModel = Ioc.Default.GetService<WorkingItemsModel>(); var selectedUnitMeasure = workingItemsModel.Spectrum.SelectedWavelengthMeasureUnit; var selectedUnitMeasure = workingItemsModel.SpectrumChartOptions.SelectedWavelengthMeasureUnit; switch (selectedUnitMeasure) { Loading INAF.Apps.Uwp.SLabDataManager/INAF.Apps.Uwp.SLabDataManager.csproj +1 −0 Original line number Diff line number Diff line Loading @@ -151,6 +151,7 @@ <Compile Include="Activation\ActivationHandler.cs" /> <Compile Include="Behaviors\NavigationViewHeaderBehavior.cs" /> <Compile Include="Behaviors\NavigationViewHeaderMode.cs" /> <Compile Include="Charts\SpectrumChartOptionsModel.cs" /> <Compile Include="Constants\Constants.cs" /> <Compile Include="Constants\Enums.cs" /> <Compile Include="Converters\Converters.cs" /> Loading INAF.Apps.Uwp.SLabDataManager/Models/WorkingItemsModel.cs +9 −1 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Helpers; using INAF.Apps.Uwp.Charts; using INAF.Apps.Uwp.SLabDataManager.Helpers; using INAF.Libraries.NetStandard.ScienceModels.Spectra; using Microsoft.Toolkit.Mvvm.ComponentModel; using static INAF.Apps.Uwp.SLabDataManager.Constants.Enums; Loading Loading @@ -34,6 +35,13 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models set { SetProperty(ref rawSpectrumReadingErrorMessage, value); } } private SpectrumChartOptionsModel spectrumChartOptions; public SpectrumChartOptionsModel SpectrumChartOptions { get { return spectrumChartOptions; } set { SetProperty(ref spectrumChartOptions, value); } } public SpectrumModel Spectrum { get; set; } public SpectrumSummaryModel SpectrumSummary { get; set; } Loading INAF.Apps.Uwp.SLabDataManager/Strings/en-us/Resources.resw +13 −1 Original line number Diff line number Diff line Loading @@ -212,8 +212,17 @@ <data name="ChartTooltipLabel" xml:space="preserve"> <value>x,y: rv_1 rv_mu, rv_2</value> </data> <data name="SpectrumMajorLinesVisibilitySelectionLabel.Text" xml:space="preserve"> <value>Major lines visibility:</value> </data> <data name="SpectrumMeasurementUnitSelectionLabel.Text" xml:space="preserve"> <value>Select measurement units:</value> <value>X axis Measurement units:</value> </data> <data name="SpectrumPanModeSelectionLabel.Text" xml:space="preserve"> <value>Pan mode:</value> </data> <data name="SpectrumStripLinesVisibilitySelectionLabel.Text" xml:space="preserve"> <value>Strip lines visibility:</value> </data> <data name="SpectrumXAxisTitle" xml:space="preserve"> <value>Wavelengths (r_v)</value> Loading @@ -221,4 +230,7 @@ <data name="SpectrumYAxisTitle" xml:space="preserve"> <value>Reflectance</value> </data> <data name="SpectrumZoomModeSelectionLabel.Text" xml:space="preserve"> <value>Zoom mode:</value> </data> </root> No newline at end of file Loading
INAF.Apps.Uwp.SLabDataManager/Charts/SpectrumChartOptionsModel.cs 0 → 100644 +117 −0 Original line number Diff line number Diff line using INAF.Libraries.NetStandard.ScienceModels; using INAF.Libraries.NetStandard.ScienceModels.Spectra; using System; using System.Collections.Generic; using System.Linq; using Telerik.UI.Xaml.Controls.Chart; using static INAF.Apps.Uwp.SLabDataManager.Constants.Enums; using static INAF.Libraries.NetStandard.ScienceModels.Enums.Enums; namespace INAF.Apps.Uwp.Charts { public class SpectrumChartOptionsModel : ObservableModel { public SpectrumChartOptionsModel(SpectrumModel spectrum) { Spectrum = spectrum; MajorLinesVisibilityValues = Enum.GetValues(typeof(GridLineVisibility)).Cast<GridLineVisibility>().ToList(); SelectedMajorLinesVisibility = GridLineVisibility.XY; StripLinesVisibilityValues = Enum.GetValues(typeof(GridLineVisibility)).Cast<GridLineVisibility>().ToList(); SelectedStripLinesVisibility = GridLineVisibility.XY; WavelengthMeasureUnits = Enum.GetValues(typeof(WavelengthMeasureUnit)).Cast<WavelengthMeasureUnit>().ToList(); SelectedWavelengthMeasureUnit = WavelengthMeasureUnit.Nanometers; ChartPanModeValues = Enum.GetValues(typeof(ChartPanZoomMode)).Cast<ChartPanZoomMode>().ToList(); SelectedChartPanMode = ChartPanZoomMode.Both; ChartZoomModeValues = Enum.GetValues(typeof(ChartPanZoomMode)).Cast<ChartPanZoomMode>().ToList(); SelectedChartZoomMode = ChartPanZoomMode.Both; } public SpectrumModel Spectrum { get; set; } public string Filename { get; set; } #region MajorLinesVisibility private List<GridLineVisibility> majorLinesVisibilityValues; public List<GridLineVisibility> MajorLinesVisibilityValues { get { return majorLinesVisibilityValues; } set { majorLinesVisibilityValues = value; RaisePropertyChanged(nameof(MajorLinesVisibilityValues)); } } private GridLineVisibility selectedMajorLinesVisibility; public GridLineVisibility SelectedMajorLinesVisibility { get { return selectedMajorLinesVisibility; } set { selectedMajorLinesVisibility = value; RaisePropertyChanged(nameof(SelectedMajorLinesVisibility)); } } #endregion #region StripLinesVisibility private GridLineVisibility selectedStripLinesVisibility; public GridLineVisibility SelectedStripLinesVisibility { get { return selectedStripLinesVisibility; } set { selectedStripLinesVisibility = value; RaisePropertyChanged(nameof(SelectedStripLinesVisibility)); } } private List<GridLineVisibility> stripLinesVisibilityValues; public List<GridLineVisibility> StripLinesVisibilityValues { get { return stripLinesVisibilityValues; } set { stripLinesVisibilityValues = value; RaisePropertyChanged(nameof(StripLinesVisibilityValues)); } } #endregion #region Pan mode private List<ChartPanZoomMode> chartPanModeValues; public List<ChartPanZoomMode> ChartPanModeValues { get { return chartPanModeValues; } set { chartPanModeValues = value; RaisePropertyChanged(nameof(ChartPanModeValues)); } } private ChartPanZoomMode selectedChartPanMode; public ChartPanZoomMode SelectedChartPanMode { get { return selectedChartPanMode; } set { selectedChartPanMode = value; RaisePropertyChanged(nameof(SelectedChartPanMode)); } } #endregion #region Zoom mode private List<ChartPanZoomMode> chartZoomModeValues; public List<ChartPanZoomMode> ChartZoomModeValues { get { return chartZoomModeValues; } set { chartZoomModeValues = value; RaisePropertyChanged(nameof(ChartZoomModeValues)); } } private ChartPanZoomMode selectedChartZoomMode; public ChartPanZoomMode SelectedChartZoomMode { get { return selectedChartZoomMode; } set { selectedChartZoomMode = value; RaisePropertyChanged(nameof(SelectedChartZoomMode)); } } #endregion #region WavelengthMeasureUnits private WavelengthMeasureUnit selectedWavelengthMeasureUnit; public WavelengthMeasureUnit SelectedWavelengthMeasureUnit { get { return selectedWavelengthMeasureUnit; } set { selectedWavelengthMeasureUnit = value; RaisePropertyChanged(nameof(SelectedWavelengthMeasureUnit)); } } public List<WavelengthMeasureUnit> WavelengthMeasureUnits { get; set; } #endregion public string XAxisTitle { get; set; } public string YAxisTitle { get; set; } } }
INAF.Apps.Uwp.SLabDataManager/Converters/Converters.cs +25 −3 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters return "ChartTooltipLabel".GetText() .Replace("rv_1", scatterDataPoint.XValue.ToString()) .Replace("rv_mu", workingItemsModel.Spectrum.SelectedWavelengthMeasureUnit.GetDescription()) .Replace("rv_mu", workingItemsModel.SpectrumChartOptions.SelectedWavelengthMeasureUnit.GetDescription()) .Replace("rv_2", scatterDataPoint.YValue.ToDoubleInvariant()); } catch (Exception) Loading @@ -39,6 +39,28 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters } } public sealed class ChartGridItemsVisibilityConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { try { WorkingItemsModel workingItemsModel = Ioc.Default.GetService<WorkingItemsModel>(); return workingItemsModel.SpectrumChartOptions.SelectedMajorLinesVisibility.ToString(); } catch (Exception) { return string.Empty; } } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } } public sealed class XAxisTitleConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) Loading @@ -47,7 +69,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters { WorkingItemsModel workingItemsModel = Ioc.Default.GetService<WorkingItemsModel>(); return "SpectrumXAxisTitle".GetText().Replace("r_v", workingItemsModel.Spectrum.SelectedWavelengthMeasureUnit.GetDescription()); return "SpectrumXAxisTitle".GetText().Replace("r_v", workingItemsModel.SpectrumChartOptions.SelectedWavelengthMeasureUnit.GetDescription()); } catch (Exception) { Loading @@ -71,7 +93,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters WorkingItemsModel workingItemsModel = Ioc.Default.GetService<WorkingItemsModel>(); var selectedUnitMeasure = workingItemsModel.Spectrum.SelectedWavelengthMeasureUnit; var selectedUnitMeasure = workingItemsModel.SpectrumChartOptions.SelectedWavelengthMeasureUnit; switch (selectedUnitMeasure) { Loading
INAF.Apps.Uwp.SLabDataManager/INAF.Apps.Uwp.SLabDataManager.csproj +1 −0 Original line number Diff line number Diff line Loading @@ -151,6 +151,7 @@ <Compile Include="Activation\ActivationHandler.cs" /> <Compile Include="Behaviors\NavigationViewHeaderBehavior.cs" /> <Compile Include="Behaviors\NavigationViewHeaderMode.cs" /> <Compile Include="Charts\SpectrumChartOptionsModel.cs" /> <Compile Include="Constants\Constants.cs" /> <Compile Include="Constants\Enums.cs" /> <Compile Include="Converters\Converters.cs" /> Loading
INAF.Apps.Uwp.SLabDataManager/Models/WorkingItemsModel.cs +9 −1 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Helpers; using INAF.Apps.Uwp.Charts; using INAF.Apps.Uwp.SLabDataManager.Helpers; using INAF.Libraries.NetStandard.ScienceModels.Spectra; using Microsoft.Toolkit.Mvvm.ComponentModel; using static INAF.Apps.Uwp.SLabDataManager.Constants.Enums; Loading Loading @@ -34,6 +35,13 @@ namespace INAF.Apps.Uwp.SLabDataManager.Models set { SetProperty(ref rawSpectrumReadingErrorMessage, value); } } private SpectrumChartOptionsModel spectrumChartOptions; public SpectrumChartOptionsModel SpectrumChartOptions { get { return spectrumChartOptions; } set { SetProperty(ref spectrumChartOptions, value); } } public SpectrumModel Spectrum { get; set; } public SpectrumSummaryModel SpectrumSummary { get; set; } Loading
INAF.Apps.Uwp.SLabDataManager/Strings/en-us/Resources.resw +13 −1 Original line number Diff line number Diff line Loading @@ -212,8 +212,17 @@ <data name="ChartTooltipLabel" xml:space="preserve"> <value>x,y: rv_1 rv_mu, rv_2</value> </data> <data name="SpectrumMajorLinesVisibilitySelectionLabel.Text" xml:space="preserve"> <value>Major lines visibility:</value> </data> <data name="SpectrumMeasurementUnitSelectionLabel.Text" xml:space="preserve"> <value>Select measurement units:</value> <value>X axis Measurement units:</value> </data> <data name="SpectrumPanModeSelectionLabel.Text" xml:space="preserve"> <value>Pan mode:</value> </data> <data name="SpectrumStripLinesVisibilitySelectionLabel.Text" xml:space="preserve"> <value>Strip lines visibility:</value> </data> <data name="SpectrumXAxisTitle" xml:space="preserve"> <value>Wavelengths (r_v)</value> Loading @@ -221,4 +230,7 @@ <data name="SpectrumYAxisTitle" xml:space="preserve"> <value>Reflectance</value> </data> <data name="SpectrumZoomModeSelectionLabel.Text" xml:space="preserve"> <value>Zoom mode:</value> </data> </root> No newline at end of file