diff --git a/src/MSDIAL5/SpectrumViewer/Model/DisplayScan.cs b/src/MSDIAL5/SpectrumViewer/Model/DisplayScan.cs index cd409bb87..6273edd48 100644 --- a/src/MSDIAL5/SpectrumViewer/Model/DisplayScan.cs +++ b/src/MSDIAL5/SpectrumViewer/Model/DisplayScan.cs @@ -4,6 +4,7 @@ using CompMs.CommonMVVM; using System; using System.Collections.Generic; +using System.Linq; namespace CompMs.App.SpectrumViewer.Model { @@ -35,6 +36,7 @@ public bool IsSelected { public ChromXs ChromXs { get => Scan.ChromXs; set => Scan.ChromXs = value; } public IonMode IonMode { get => Scan.IonMode; set => Scan.IonMode = value; } public double PrecursorMz { get => Scan.PrecursorMz; set => Scan.PrecursorMz = value; } + public object[] SpectrumLabel => Scan.Spectrum.Select(p => new { p.Mass, p.Intensity, NeutralLoss = p.Mass - Scan.PrecursorMz }).ToArray(); public void AddPeak(double mass, double intensity, string comment = null) { Scan.AddPeak(mass, intensity, comment); diff --git a/src/MSDIAL5/SpectrumViewer/View/ViewTemplates.xaml b/src/MSDIAL5/SpectrumViewer/View/ViewTemplates.xaml index b7bc12db9..687345977 100644 --- a/src/MSDIAL5/SpectrumViewer/View/ViewTemplates.xaml +++ b/src/MSDIAL5/SpectrumViewer/View/ViewTemplates.xaml @@ -370,12 +370,13 @@ - + + + + + + + cycle() { RemoveScanCommand = new ReactiveCommand() .WithSubscribe(model.RemoveScan) .AddTo(Disposables); + + LabelProperty = new ReactiveProperty(string.Empty).AddTo(Disposables); } public SplitSpectrumsModel Model { get; } @@ -131,5 +133,7 @@ public void AddScan(IMSScanProperty scan) { public ReactiveCommand ShiftScanCommand { get; } public ReactiveCommand RemoveScanCommand { get; } + + public ReactiveProperty LabelProperty { get; } } }