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 |