lyxvision

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


Architektur

┌────────────────────────────────────────────────────────────┐
│                        Anwendung                           │
│           tapplication · app · main                        │
├───────────────────────┬────────────────────────────────────┤
│       Views           │          Widgets                   │
│  view · group         │  button · cluster · inputline      │
│  window · dialog      │  listview · menu · statictext      │
│  frame                │  staticline · terminal · textdevice│
├───────────────────────┴────────────────────────────────────┤
│                 Infrastruktur                               │
│           types · consts · drivers                         │
└────────────────────────────────────────────────────────────┘


Minimales Beispiel

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;
}


Units

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