LyxVision ist das integrierte Text-UI-Framework für terminalbasierte Lyx-Anwendungen. Es ist nach dem Vorbild der klassischen Turbo Vision-Architektur aufgebaut: ereignisgesteuerte Widgets, Gruppen-/View-Hierarchie und modaler Dialog-Stack.
LyxVision hat kein std.-Präfix — der Import-Namespace ist direkt lyxvision.*.
→ Standard Library · std.crt · std.x11
┌────────────────────────────────────────────────────────────┐
│ Anwendung │
│ tapplication · app · main │
├───────────────────────┬────────────────────────────────────┤
│ Views │ Widgets │
│ view · group │ button · cluster · inputline │
│ window · dialog │ listview · menu · statictext │
│ frame │ staticline · terminal · textdevice│
├───────────────────────┴────────────────────────────────────┤
│ Infrastruktur │
│ types · consts · drivers │
└────────────────────────────────────────────────────────────┘
import lyxvision.app;
import lyxvision.tapplication;
import lyxvision.button;
import lyxvision.dialog;
fn main(): int64 {
var app: TApplication := TApplicationNew();
var dlg: TDialog := TDialogNew(10, 5, 60, 15, "Hallo LyxVision");
var btn: TButton := TButtonNew(dlg, 20, 8, " OK ", cmOK);
TGroupInsert(dlg, btn);
TApplicationExecView(app, dlg);
TApplicationFree(app);
return 0;
}
| Unit | Kategorie | Beschreibung |
|---|---|---|
| lyxvision.main | Kern | Framework-Einstiegspunkt, Terminal-Helper-Funktionen |
| lyxvision.app | Kern | TProgram – Anwendungsschleife, Ereignis-Dispatch |
| lyxvision.tapplication | Kern | TApplication, TDesktop, Menü- und Statusleiste |
| lyxvision.drivers | Kern | Low-Level Terminal-Treiber (ANSI, xterm, Linux-Konsole) |
| lyxvision.types | Typen | TEvent, TPoint, TRect, Ereigniskonstanten (Maus, Tastatur, Befehl) |
| lyxvision.consts | Typen | Farben (16 Paare), View-Flags, State-Flags, Draw-Flags, Cursor-Stile |
| lyxvision.view | Views | TView – Basis-Darstellungsobjekt; Draw, HandleEvent, SetState |
| lyxvision.group | Views | TGroup – Container für Views; Insert, Delete, Broadcast |
| lyxvision.window | Views | TWindow – Rahmenfenster mit Titelleiste, Zoom, Resize |
| lyxvision.dialog | Views | TDialog – modaler Dialog; ExecView, Ergebnis-Handling |
| lyxvision.frame | Views | TFrame – Rahmenzeichnung (einfach/doppelt), Schatten |
| lyxvision.button | Widgets | TButton – Schaltfläche mit Befehl, Tastaturkürzel, Focus |
| lyxvision.cluster | Widgets | TCluster – Radio-Button- und Checkbox-Gruppe |
| lyxvision.inputline | Widgets | TInputLine – Texteingabefeld mit Validierungs-Callback |
| lyxvision.listview | Widgets | TListView – scrollbare Listenansicht, selektierbare Einträge |
| lyxvision.menu | Widgets | TMenu, TMenuBar, TSubMenu – vollständiges Menüsystem |
| lyxvision.statictext | Widgets | TStaticText – statische Textanzeige, mehrzeilig |
| lyxvision.staticline | Widgets | TStaticLine – horizontale/vertikale Trennlinie |
| lyxvision.terminal | Widgets | TTerminal – eingebetteter ANSI-Terminal-Emulator |
| lyxvision.textdevice | Widgets | TTextDevice – scrollbarer Textpuffer für Log-Ausgaben |
Letzte Aktualisierung: 2026-05-22