From 64992a29496eb0ee8d50de8a55a88a33eb1ba006 Mon Sep 17 00:00:00 2001 From: Raffson Date: Fri, 16 Dec 2022 23:23:28 +0100 Subject: [PATCH] Wrap target description for strike waypoints on kneeboard Resolve #39 --- game/missiongenerator/kneeboard.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/game/missiongenerator/kneeboard.py b/game/missiongenerator/kneeboard.py index 382a5298..552ec673 100644 --- a/game/missiongenerator/kneeboard.py +++ b/game/missiongenerator/kneeboard.py @@ -639,6 +639,8 @@ class SeadTaskPage(KneeboardPage): class StrikeTaskPage(KneeboardPage): """A kneeboard page containing strike target information.""" + WAYPOINT_DESC_MAX_LEN = 35 + def __init__(self, flight: FlightData, dark_kneeboard: bool) -> None: self.flight = flight self.dark_kneeboard = dark_kneeboard @@ -658,17 +660,21 @@ class StrikeTaskPage(KneeboardPage): writer.title(f"{self.flight.callsign} Strike Task Info{custom_name_title}") writer.table( - [self.target_info_row(t) for t in self.targets], - headers=["Steerpoint", "Description", "Location"], + [self.target_info_row(t, writer) for t in self.targets], + headers=["STPT", "Description", "Location"], ) writer.write(path) @staticmethod - def target_info_row(target: NumberedWaypoint) -> list[str]: + def target_info_row( + target: NumberedWaypoint, writer: KneeboardPageWriter + ) -> list[str]: return [ str(target.number), - target.waypoint.pretty_name, + writer.wrap_line( + target.waypoint.pretty_name, StrikeTaskPage.WAYPOINT_DESC_MAX_LEN + ), target.waypoint.position.latlng().format_dms(include_decimal_seconds=True), ]