Zum Inhalt

AocGroundServicePage (IPage)

Eigenschaft Wert
Modul Mcdu/Pages
Klasse AocGroundServicePage
Typ IPage Implementation
Sichtbarkeit Public
Datei Mcdu/Pages/AocPages.vb

Beschreibung

AOC GROUND SERVICE Seite -- GSX Ground Service Menue mit 2-Seiten-Scroll. Zeigt bis zu 5 GSX-Menueitems pro Seite (Seite 1: Items 0-4, Seite 2: Items 5-9). Items laenger als 23 Zeichen werden abgeschnitten, der Ueberlauf erscheint in Kleinschrift auf der Label-Zeile darueber. Der Titel zeigt Seitennummer und GSX-Header-Text. Row 12 zeigt den GSX-Task-Status. L1-L5 senden den INET-Register 5601 mit der Item-Nummer (1-basiert). L6 wechselt zwischen Seite 1 und 2. R6 navigiert zurueck zum AOC Main Menu.

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 GsxData (Header, MenuItems, Task) --
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 (L1-L6, R6 aktiv) --
ctx McduContext MCDU-Kontext mit GsxData fuer Item-Validierung --

Rueckgabewert (HandleLsk)

Typ Beschreibung
McduCommand SendSimRegister(5601, itemNr) fuer L1-L5, NoOp fuer L6 (Seitenwechsel intern), NavigateTo(AocMainMenu) fuer R6

Ablaufdiagramm

flowchart TD
    A[Start Render] --> B[LISTCLEAR]
    B --> C["Row 01: Seite/2 + GSX Header"]
    C --> D{5 Items pro Seite}
    D -->|Item vorhanden| E{Laenger als 23 Zeichen?}
    E -->|Ja| F["Datenzeile: gekuerzt + Ueberlauf auf Labelzeile"]
    E -->|Nein| G["Datenzeile: vollstaendig"]
    F --> D
    G --> D
    D -->|Alle Items| H["Row 12: GSX Task"]
    H --> I{Seite 2 hat Inhalt?}
    I -->|Ja, Seite 1| J["Row 13: 2/2 + MENU>"]
    I -->|Nein, Seite 1| K["Row 13: MENU>"]
    I -->|Seite 2| L["Row 13: 1/2 + MENU>"]
    J --> M[ParseAndRender]
    K --> M
    L --> M
    M --> N[Ende]

Aufgerufen von

Modul Sub/Function Kontext
McduActor Render-Dispatch Wenn McduPageType.AocGroundService aktiv ist

Ruft auf

Modul Sub/Function Kontext
McduCommandParser ParseAndRender Uebergibt die Befehlsliste an den Screen-Buffer
SendSimRegister Konstruktor L1-L5 sendet Register 5601 mit Item-Index (1-basiert)
NavigateTo Konstruktor R6 -> AocMainMenu

Beispiel

Dim page As New AocGroundServicePage()
page.Render(ctx, buffer)

' GSX-Item waehlen:
Dim cmd = page.HandleLsk(McduLskKey.L1, ctx) ' -> SendSimRegister(5601, "1")
' Seite wechseln:
Dim cmd2 = page.HandleLsk(McduLskKey.L6, ctx) ' -> NoOp (Seitenwechsel intern)
' Zurueck zum Menue:
Dim cmd3 = page.HandleLsk(McduLskKey.R6, ctx) ' -> NavigateTo(AocMainMenu)

Aenderungshistorie

Version Datum Aenderung
1.0 2026-04-16 Erstdokumentation