Projekt

Allgemein

Profil

Aktionen

Feature #65

geschlossen
JH

Überarbeitung der Trainingsübersicht

Feature #65: Überarbeitung der Trainingsübersicht

Von Julius Haman vor 8 Tagen hinzugefügt. Vor 5 Tagen aktualisiert.

Status:
Erledigt
Priorität:
Normal
Zugewiesen an:
-
Zielversion:
Beginn:
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:
Gefunden in Version:

Beschreibung

Ziel: Die Trainingsübersicht überarbeiten - statt des Inline-Detailpanels eine eigene Trainingsdetailseite im Strava-/Garmin-Stil (Kacheln, Diagramm, Karte), von der aus sich durch die Trainings blättern lässt.

Umgesetzt (3.1.1)

  • Eigene Trainingsdetailseite mit Blätterfunktion: Zusammenfassungs-Kacheln, Diagramm und bei topographischen Trainings die Route mit hervorgehobenem gefahrenen Abschnitt. Vor/Zurück blättert in derselben Reihenfolge wie die Übersicht (neuestes zuerst). „Zurück" markiert in der Übersicht das zuletzt angesehene Training (auch nach dem Blättern) und scrollt das Grid dorthin
  • Diagramm: bei topographischen Trainings das Geländeprofil der tatsächlich gefahrenen Strecke (aus TrainingPoint.Distance/Elevation statt aus der Profildefinition); bei den übrigen Trainings Puls, Trittfrequenz und Leistung mit Pulszonen-Bändern wie in #66
  • Anvisieren und X-Skalierung: eine orangene Hilfslinie folgt der Maus in den Diagrammen aller Trainingsarten; der Tooltip zeigt Zeit, km sowie Puls, Leistung und Trittfrequenz des nächsten Trainingspunkts. Bei topographischen Trainings gibt es die Linie im Geländeprofil (mit Streckenpunkt auf der Karte) und im Puls-/Leistungs-/Trittfrequenz-Diagramm darunter - beide laufen synchron (Bewegen in einem Diagramm setzt die Linie auch im anderen). Beide Diagramme haben dieselbe X-Skalierung, standardmäßig je km, umschaltbar auf je Zeit (Auswahl wird gespeichert); feste Plotränder, damit die X-Achsen pixelgenau untereinander liegen, und gekoppelte Achsen (Verschieben/Zoomen/Zurücksetzen wirkt auf beide). Die Steigungsfärbung des Geländeprofils funktioniert in beiden Skalierungen; das Geländeprofil hat denselben Tooltip wie die Profilübersicht (Strecke, Höhe, Steigung, je Zeit mit vorangestellter Trainingszeit)
  • Pulszonen-Kreisdiagramm (Zeitanteil je Zone, Grenzen aus dem historisierten Maximalpuls, #66) mit Farben der Skin-Palette; ohne Beschriftung im Kreis, die Prozentwerte stehen in der Legende vor dem Zonennamen; 0%-Zonen nur in der Legende; FormatException im Tracker beim Klick behoben
  • Layout der Detailseite: unter den Kacheln steht in einer Zeile das (schmalere) Pulszonen-Kreisdiagramm mit der topographischen Streckenkarte direkt daneben; darunter das Geländeprofil und - bei topographischen Trainings - ein zweites Diagramm mit Puls, Trittfrequenz und Leistung über der Zeit (mit Pulszonen-Bändern)
  • Kacheln: feste Reihenfolge Distanz, Dauer, Kalorien, Ø Geschwindigkeit, Ø Puls, Ø Leistung, Ø Trittfrequenz, Fitnessnote (Max-Kacheln und „Höhe" entfernt). Profilbezogene Kacheln - Start im Profil, Ende im Profil, Profillänge, Anstieg, Abfahrt - stehen nur bei topographischen Trainings in einer eigenen Zeile darunter. Die Zahlen sind wie in der Werteleiste eines laufenden Trainings eingefärbt (Distanz/Trittfrequenz grün, Puls rot, Leistung blau, Kalorien dunkelrot, sonst grau)
  • Einheiten am Wert: „(DS)"/„(max.)"/Klammer-Einheiten aus den Beschriftungen entfernt; führendes „Ø"/„Min."/„Max.", die Einheit (km, km/h, W, m, %, bpm) steht klein hinter dem Zahlenwert - in Übersicht (auch Distanz-Spalte), Detailkacheln und Profilansicht
  • Profil weiterfahren: bei einem topographischen Training, dessen Profil noch nicht zu Ende gefahren ist (Endposition = Startoffset + gefahrene Distanz, Toleranz 1 m), gibt es auf der Detailseite neben den Blätter-Buttons den Button „Profil weiterfahren bei x km", und der Fortsetzen-Button im Grid ist aktiv. Beides startet ein neues topographisches Training im 3D-Fenster ab der Endposition (wie der Startdialog mit gewählter Startdistanz, kein Fortsetzen desselben Trainings). Am Profilende ist beides inaktiv/ausgeblendet
  • Übersicht: rechtes Detail-Panel mit ausgeblendeten Spalten und Details-Toggle wieder eingebaut
  • Startposition im Profil: Training.StartOffsetMeters speichert bei topographischen Trainings die absolute Startposition, damit „Start im Profil"/„Ende im Profil" auch nach dem Speichern stimmen. TrainingPoint.Distance ist immer 0-basiert (Wegmessgerät des Trainings); das Diagramm beginnt damit bei 0 km
  • Bestandsdaten (Migration Version3110, keine neue Migration): mehretappige topographische Trainings vor #47 bekommen ihren Offset aus DistanceFrom bzw. dem ersten TrainingPoint; deren Distance wird dabei auf 0-basiert bereinigt. LatLon-Backfill und TCX-Export-Fallback rechnen die Profilposition als StartOffsetMeters + Distance. Trainings ab #47 behalten NULL (Offset dort nicht rekonstruierbar, Anzeige fällt auf 0 zurück). Zudem Training.Profile_id direkt statt Zwischentabelle ProfileTraining (Bestandsdaten übernommen)
  • Fehlerbehebungen an der Detailseite: Dark-Mode-Textfarbe, Mausrad scrollt die Seite statt Diagramm/Karte zu zoomen, Koordinatensprung ans Ziel (GetLatLonFromPosition klemmt jetzt auf den letzten Punkt statt (0,0) zu liefern; bereits betroffene Bestandstrainings werden beim Kartenaufbau gefiltert), Karte überdeckt nicht mehr die Scrollbar, eine wiederverwendete Kartenkontrolle (TrackMapControl.Shared) statt einer WebView2 pro Seite, kein Fade/Slide beim Seitenwechsel, Höhenmeter nur noch bei topographischen Trainings (vorher 0 statt leer bei Pulsprofilen)

JH Von Julius Haman vor 7 Tagen aktualisiert Aktionen #1

  • Zielversion wurde auf ErControl 3.1.1 gesetzt

JH Von Julius Haman vor 6 Tagen aktualisiert Aktionen #2

JH Von Julius Haman vor 6 Tagen aktualisiert Aktionen #3

JH Von Julius Haman vor 6 Tagen aktualisiert Aktionen #4

JH Von Julius Haman vor 6 Tagen aktualisiert Aktionen #5

JH Von Julius Haman vor 6 Tagen aktualisiert Aktionen #6

JH Von Julius Haman vor 6 Tagen aktualisiert Aktionen #7

  • Status wurde von Neu zu Erledigt geändert

JH Von Julius Haman vor 5 Tagen aktualisiert Aktionen #8

Nachtrag (Commit zu #65): Die Sortierung nach Spalten mit Einheit in der Trainingsübersicht funktionierte nicht. Ø Leistung, Ø Geschwindigkeit, Strecke, Max. Leistung, Anstieg und Abfahrt sind DataGridTemplateColumn (Wert und Einheit als getrennte Runs); ohne Bindung kann WPF keinen Sortierschlüssel ableiten, der Klick auf die Spaltenüberschrift bewirkte nichts. Jetzt sortieren diese Spalten über SortMemberPath nach dem Rohwert, ebenso die Typ-Spalte nach ProfileType.

Aktionen

Auch abrufbar als: PDF Atom