ChartWindow: Define legend items as static

This commit is contained in:
2024-01-27 22:47:49 +01:00
parent 3a2bf81bd9
commit 9470b26aec

View File

@ -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) {