using System.Collections.ObjectModel; using System.Windows.Media; namespace ProximaAnalizer.Data; internal partial class LineCollection : ObservableObject { public LineCollection() { this.LinesDash.Add(new("FF00FF", [2, 2])); this.LinesDash.Add(new("4B0082", [2, 2])); this.LinesDash.Add(new("7B68EE", [2, 2])); this.LinesDash.Add(new("0000FF", [2, 2])); this.LinesDash.Add(new("1E90FF", [2, 2])); this.LinesDash.Add(new("00FFFF", [2, 2])); this.LinesDash.Add(new("00FF7F", [2, 2])); this.LinesDash.Add(new("FFD700", [2, 2])); this.LinesDash.Add(new("FF8C00", [2, 2])); this.LinesDash.Add(new("FF0000", [2, 2])); this.LinesDash.Add(new("696969", [2, 2])); this.LinesSolid.Add(new("FF00FF", [2, 0])); this.LinesSolid.Add(new("4B0082", [2, 0])); this.LinesSolid.Add(new("7B68EE", [2, 0])); this.LinesSolid.Add(new("0000FF", [2, 0])); this.LinesSolid.Add(new("1E90FF", [2, 0])); this.LinesSolid.Add(new("00FFFF", [2, 0])); this.LinesSolid.Add(new("00FF7F", [2, 0])); this.LinesSolid.Add(new("FFD700", [2, 0])); this.LinesSolid.Add(new("FF8C00", [2, 0])); this.LinesSolid.Add(new("FF0000", [2, 0])); this.LinesSolid.Add(new("696969", [2, 0])); } [ObservableProperty] private ObservableCollection _LinesSolid = []; [ObservableProperty] private ObservableCollection _LinesDash = []; } internal partial class LineType : ObservableObject { public LineType(string color, DoubleCollection dash) { this.Brush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#" + color)); this.HexRGB = color; this.DashArray = dash; if (dash[1] != 0) LinePattern = ScottPlot.LinePattern.Dashed; else LinePattern = ScottPlot.LinePattern.Solid; } [ObservableProperty] private bool _IsEnable = true; public ScottPlot.LinePattern LinePattern { get; } public string HexRGB { get; } public Brush? Brush { get; set; } public DoubleCollection? DashArray { get; set; } }