AcarsViewMessagePage (IPage)
| Eigenschaft |
Wert |
| Modul |
Mcdu/Pages |
| Klasse |
AcarsViewMessagePage |
| Typ |
IPage Implementation |
| Sichtbarkeit |
Public |
| Datei |
Mcdu/Pages/AcarsMessagePages.vb |
Beschreibung
ACARS VIEW MESSAGE Seite -- schreibgeschuetzte Anzeige einer einzelnen gespeicherten ACARS-Nachricht. Zeigt den Nachrichtentext in gruener Kleinschrift (@s~g), 4 Zeilen pro Seite mit Seitenzaehler (bis zu 3 Seiten). Der Betreff wird auf 14 Zeichen gekuerzt und im Titel angezeigt. L5 loescht die aktuelle Nachricht, L6 kehrt zum Message Log zurueck, R6 druckt die Nachricht. Up/Down-Tasten wechseln die Scroll-Seite.
Implementierte Methoden
Render
Public Sub Render(ctx As McduContext, buffer As Inet.Arinc429ScreenBuffer) Implements IPage.Render
| Name |
Typ |
Beschreibung |
Standard |
| ctx |
McduContext |
MCDU-Kontext mit AcarsData.ViewMessageLines und ViewMessageIndex |
-- |
| buffer |
Inet.Arinc429ScreenBuffer |
Zielpuffer fuer die ARINC-429-Screenausgabe |
-- |
HandleLsk
Public Function HandleLsk(key As McduLskKey, ctx As McduContext) As McduCommand Implements IPage.HandleLsk
| Name |
Typ |
Beschreibung |
Standard |
| key |
McduLskKey |
Gedrueckte LSK-Taste (L5, L6, R6) |
-- |
| ctx |
McduContext |
MCDU-Kontext mit AcarsData fuer Nachrichtenzugriff |
-- |
Rueckgabewert (HandleLsk)
| Typ |
Beschreibung |
| McduCommand |
EraseAcarsMessage fuer L5, NavigateTo(AcarsMessageLog) fuer L6, PrintAcarsMessageCommand fuer R6, NoOp sonst |
Ablaufdiagramm
flowchart TD
A[Start Render] --> B[LISTCLEAR]
B --> C[ViewMessageLines und ViewMessageIndex laden]
C --> D[Subject auf 14 Zeichen kuerzen/auffuellen]
D --> E[TotalPages berechnen]
E --> F["Row 01: UTC-Zeit + Subject + P/T"]
F --> G{4 Textzeilen ausgeben}
G -->|Zeile vorhanden| H["Row @s~g Nachrichtentext"]
G -->|Zeile leer| I["Row @s~g leer"]
H --> G
I --> G
G -->|Alle Zeilen| J["Row 11: ERASE"]
J --> K["Row 13: RETURN + PRINT>"]
K --> L[ParseAndRender]
L --> M[Ende]
Aufgerufen von
| Modul |
Sub/Function |
Kontext |
| McduActor |
Render-Dispatch |
Wenn McduPageType.AcarsViewMessage aktiv ist |
Ruft auf
| Modul |
Sub/Function |
Kontext |
| McduCommandParser |
ParseAndRender |
Uebergibt die Befehlsliste an den Screen-Buffer |
| EraseAcarsMessage |
Konstruktor |
L5 loescht die aktuell angezeigte Nachricht anhand ihrer Id |
| NavigateTo |
Konstruktor |
L6 -> AcarsMessageLog |
| PrintAcarsMessageCommand |
Konstruktor |
R6 druckt Subject + Body der Nachricht |
Beispiel
Dim page As New AcarsViewMessagePage()
page.Render(ctx, buffer)
' Nachricht loeschen:
Dim cmd = page.HandleLsk(McduLskKey.L5, ctx) ' -> EraseAcarsMessage(msgId)
' Zurueck zum Log:
Dim cmd2 = page.HandleLsk(McduLskKey.L6, ctx) ' -> NavigateTo(AcarsMessageLog)
' Nachricht drucken:
Dim cmd3 = page.HandleLsk(McduLskKey.R6, ctx) ' -> PrintAcarsMessageCommand(text)
Aenderungshistorie
| Version |
Datum |
Aenderung |
| 1.0 |
2026-04-16 |
Erstdokumentation |