Zum Inhalt

SimLoadSituationPage (IPage)

Eigenschaft Wert
Modul Mcdu/Pages
Klasse SimLoadSituationPage
Typ IPage Implementation
Sichtbarkeit Public
Datei Mcdu/Pages/SimPages.vb

Beschreibung

SAVED SITUATIONS Seite — zeigt eine scrollbare Liste gespeicherter Simulator-Situationen aus Userdata.mdb (bis zu 500 Eintraege, 5 pro Seite). Der Pilot waehlt einen Eintrag per LSK (L1-L5): erster Druck markiert den Slot cyan, zweiter Druck laedt die Situation per LoadSituationCommand. Loeschen erfolgt ueber R6 (DELETE) mit Bestaetigungsabfrage — zuerst R6 druecken fuer "CONFIRM DELETE", dann "DELETE" im Scratchpad eingeben und erneut R6 druecken. R5 blaettert zur naechsten Seite. Portiert aus VB6 CreateSimLoadSituation / ProcessSIMLoadSituation.

Implementierte Methoden

Render

Public Sub Render(ctx As McduContext, buffer As Inet.Arinc429ScreenBuffer) Implements IPage.Render
Name Typ Beschreibung Standard
ctx McduContext MCDU-Kontextdaten (SituationNames, SituationPageIndex, SelectedSituationIndex)
buffer Inet.Arinc429ScreenBuffer Zielpuffer fuer die gerenderten ARINC-429-Bildschirmdaten

HandleLsk

Public Function HandleLsk(key As McduLskKey, ctx As McduContext) As McduCommand Implements IPage.HandleLsk
Name Typ Beschreibung Standard
key McduLskKey Gedrueckte LSK-Taste
ctx McduContext MCDU-Kontextdaten

Rückgabewert (HandleLsk)

Typ Beschreibung
McduCommand SelectSituationSlot oder LoadSituationCommand bei L1-L5, DeleteSituationCommand bei R6 mit Bestaetigung, ScrollSituationPageNext bei R5, NavigateTo(Sim1) bei L6

Ablaufdiagramm

flowchart TD
    A[Start Render] --> B[LISTCLEAR senden]
    B --> C[Titel SAVED SITUATIONS + Seitenzahl]
    C --> D[Header NAME / DATE Labels]
    D --> E[5 Situation-Slots rendern]
    E --> F{Slot ausgewaehlt?}
    F -- Ja --> G[DELETE Button R6 anzeigen]
    F -- Nein --> H[Kein DELETE Button]
    G --> I[L6: RETURN]
    H --> I
    I --> J[ParseAndRender]
    J --> K[Ende]

Aufgerufen von

Modul Sub/Function Kontext
McduActor RenderActivePage Seitenrendering bei aktivem PageType.SimLoadSituation

Ruft auf

Modul Sub/Function Kontext
McduCommandParser ParseAndRender Kommandoliste in Bildschirmpuffer rendern
LoadSituationCommand (McduCommand) Situation nach Doppelklick laden
DeleteSituationCommand (McduCommand) Situation nach Bestaetigung loeschen

Beispiel

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

' L1 einmal druecken → Slot 0 auswaehlen (cyan)
Dim cmd1 = page.HandleLsk(McduLskKey.L1, ctx)
' cmd1 ist SelectSituationSlot(0, "SituationName")

' L1 erneut druecken → Situation laden
Dim cmd2 = page.HandleLsk(McduLskKey.L1, ctx)
' cmd2 ist LoadSituationCommand("SituationName")

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation