diff --git a/Elwig/Windows/ChartWindow.xaml.cs b/Elwig/Windows/ChartWindow.xaml.cs index cb827ef..0a4a0f5 100644 --- a/Elwig/Windows/ChartWindow.xaml.cs +++ b/Elwig/Windows/ChartWindow.xaml.cs @@ -33,11 +33,25 @@ namespace Elwig.Windows { private Marker PrimaryMarkedPointPlot; private Marker SecondaryMarkedPointPlot; private Text TooltipPlot; - private LegendItem UngebundenLegend; - private LegendItem GebundenLegend; - private LegendItem LdwLegend; - private LegendItem QuwLegend; - private LegendItem KabLegend; + + private static readonly LegendItem + UngebundenLegend = new() { + Label = "Ungebunden", LineWidth = 1, LineColor = ColorUngebunden, + Marker = new(MarkerShape.FilledCircle, 5, ColorUngebunden) + }, + GebundenLegend = new() { + Label = "Gebunden", LineWidth = 1, LineColor = ColorGebunden, + Marker = new(MarkerShape.FilledCircle, 5, ColorGebunden) + }, + LdwLegend = new() { + Label = "68 °Oe (LDW)", LineWidth = 2, LineColor = Colors.Red, Marker = MarkerStyle.None + }, + QuwLegend = new() { + Label = "73 °Oe (QUW)", LineWidth = 2, LineColor = Colors.Orange, Marker = MarkerStyle.None + }, + KabLegend = new() { + Label = "84 °Oe (KAB)", LineWidth = 2, LineColor = Colors.Green, Marker = MarkerStyle.None + }; private (Graph? Graph, int Index) LastHighlighted = (null, -1); private (Graph? Graph, int Index) Highlighted = (null, -1); @@ -97,10 +111,11 @@ namespace Elwig.Windows { GraphEntries.ForEach(e => { e.Vaributes.ForEach(v => { var found = Vaributes.Find(a => a.Attribute?.AttrId == v.Attribute?.AttrId && a.Variety?.SortId == v.Variety?.SortId); + if (found == null) return; if (e.Abgewertet) { - found!.AssignedAbgewGraphId = e.Id; + found.AssignedAbgewGraphId = e.Id; } else { - found!.AssignedGraphId = e.Id; + found.AssignedGraphId = e.Id; } }); }); @@ -173,41 +188,6 @@ namespace Elwig.Windows { } private void InitPlot() { - UngebundenLegend = new LegendItem() { - Label = "Ungebunden", - LineWidth = 1, - LineColor = ColorUngebunden, - Marker = new MarkerStyle(MarkerShape.FilledCircle, 5, ColorUngebunden) - }; - - GebundenLegend = new LegendItem() { - Label = "Gebunden", - LineWidth = 1, - LineColor = ColorGebunden, - Marker = new MarkerStyle(MarkerShape.FilledCircle, 5, ColorGebunden) - }; - - LdwLegend = new LegendItem() { - Label = "68 °Oe (LDW)", - LineWidth = 2, - LineColor = Colors.Red, - Marker = MarkerStyle.None - }; - - QuwLegend = new LegendItem() { - Label = "73 °Oe (QUW)", - LineWidth = 2, - LineColor = Colors.Orange, - Marker = MarkerStyle.None - }; - - KabLegend = new LegendItem() { - Label = "84 °Oe (KAB)", - LineWidth = 2, - LineColor = Colors.Green, - Marker = MarkerStyle.None - }; - RefreshGradationLines(); if (SelectedGraphEntry?.GebundenGraph != null) {