fix: VF-Linienzug 100%-Wiederherstellung aus e76e24e abgeschlossen
Restauriert alles aus e76e24e, das nach dem Reset auf master fehlte oder nur
teilweise wiederhergestellt war, und mit dem Kollegen-Umbau abgeglichen:
- vf_core.lsp: Radio-Button-Dialoge fuer Anlagen-Typ/Linienzug-Modus
(vfc-dialog-typ-waehlen/-linienzug-modus-waehlen) + Zurueck-Schleife im
c:VarioFoerderer-Dispatcher
- Vario-Kurve/GF-Bogen-Erkennung am Kettenanfang: vfl-eingang-modus-bestimmen
threaded durch vfl-vf-eingang-bauen/vfl-vf-einheit/vfl-vf-einheit-abschluss,
inkl. Punkt-7-Winkel/Hoehen-Tabelle fuer reduzierten Eingang
- Modus 2: Lauf-Anfang/Lauf-Abschluss (offener Anfang/Ende, GF-Verteilung
"alles Auslauf", Kletter-zu-kurz-Fallback) + Separator VOR/NACH bei
GF-Geraden
- Systemischer Bug behoben: mehrere Wizard-Dialogfunktionen nutzten noch
start_list/add_list (Dropdown) gegen laengst auf boxed_radio_column
umgestellte DCL-Dialoge (vflw-gruppe-as/-gefaelle/-variokurve/
-winkel-seite-impl, vflw-seg-linie-m2/-m3/-bogen-impl,
vfl-glied-gf-bogen/-vario/-as-es-dialog)
- Zentraler Abbruch-Trigger in vfl-in-value/-value-p wiederhergestellt (ohne
ihn wirkte der Zurueck/Abbrechen-Button in keinem Wizard-Dialog)
- vfl-frage-ist-endpunkt/-ist-kettenende als eigene Funktionen mit
Wizard-Dialog extrahiert (vorher Konsolen-Duplikate ohne Dialog-Hookup)
- 3 vfs-vf-entry-Aufrufe mit falscher Argumentzahl gefixt (akute
Absturz-Bugs in Modus 2/3)
- Tote Funktion vflw-gruppe-horizontal-impl entfernt (Tiles nicht mehr im
DCL vorhanden)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+92
-10
@@ -1,16 +1,98 @@
|
||||
// ============================================================
|
||||
// variofoerderer.dcl - Standard-VarioFoerderer Parameter-Eingabe
|
||||
// Zwei Dialoge fuer den Standardfall (anlage-typ "standard") von
|
||||
// c:VarioFoerderer, ersetzen die interaktive Werteingabe (Modus
|
||||
// "Werteingabe") aus vf-eingabe-abfragen / vf_core.lsp:
|
||||
// Dialog 1 (variofoerderer_basis): deltaL, deltaH, Foerderrichtung,
|
||||
// Einfuegehoehe, Fahrtrichtung, Seite.
|
||||
// Dialog 2 (variofoerderer_winkel): Winkel (dynamisch berechnete
|
||||
// gueltige Varianten), Verteilung der Gefaellestrecken vorne/hinten.
|
||||
// Die 3D-Linie-Eingabe (Modus "3D-Linie") und andere Anlagen-Typen
|
||||
// (Etage, Linienzug) bleiben interaktiv (Kommandozeile).
|
||||
// variofoerderer.dcl - VarioFoerderer Parameter-Eingabe
|
||||
// Dialoge fuer c:VarioFoerderer (vf_core.lsp):
|
||||
// vfc_typ: Anlagen-Typ waehlen (Standard/Etage/Linienzug) - ersetzt die
|
||||
// Konsolen-Liste am Befehlsanfang. Radio-Buttons statt Dropdown, daher
|
||||
// Labels FEST auf Deutsch (siehe Kommentar bei vfc_linienzug_modus).
|
||||
// vfc_linienzug_modus: NUR bei Typ "Linienzug" - Modus 1/2/3 waehlen.
|
||||
// variofoerderer_basis/variofoerderer_winkel: Werteingabe fuer den
|
||||
// Standardfall (anlage-typ "standard"): deltaL, deltaH, Foerderrichtung,
|
||||
// Einfuegehoehe, Fahrtrichtung, Seite, Winkel, GF-Verteilung.
|
||||
// Die 3D-Linie-Eingabe (Modus "3D-Linie"), der Etage-Typ und die
|
||||
// Linienzug-Kette selbst (nach der Modus-Wahl) bleiben interaktiv
|
||||
// (Kommandozeile bzw. eigener Wizard in vf_linienzug_wizard.dcl).
|
||||
// ============================================================
|
||||
|
||||
// Anlagen-Typ waehlen (Standard/Etage/Linienzug). Radio-Buttons statt
|
||||
// Dropdown - alle Optionen sofort sichtbar. WICHTIG: Labels sind hier FEST
|
||||
// einprogrammiert (Deutsch) und NICHT wie bei popup_list zur Laufzeit aus
|
||||
// ssg-text befuellbar (set_tile kann das Label eines radio_button nicht
|
||||
// setzen, nur den Zustand - siehe auch dcl/vfl_edit_modus.dcl). Bei
|
||||
// aktivem Englisch (DXFM_LANG=en_GB) faellt vfc-dialog-typ-waehlen in
|
||||
// vf_core.lsp automatisch auf die alte, vollstaendig uebersetzte
|
||||
// Konsolen-Liste zurueck (siehe dortiger Kommentar).
|
||||
vfc_typ : dialog {
|
||||
label = "VarioFoerderer - Anlagen-Typ";
|
||||
|
||||
: boxed_radio_column {
|
||||
label = "Anlagen-Typ waehlen:";
|
||||
key = "typ";
|
||||
|
||||
: radio_button {
|
||||
key = "typ_standard";
|
||||
label = "Standard VarioFoerderer (AS/ES 90 Grad, horizontal versetzt)";
|
||||
value = "1";
|
||||
}
|
||||
: radio_button {
|
||||
key = "typ_etage";
|
||||
label = "Etage VarioFoerderer (AS/ES 30 Grad, direkt uebereinander)";
|
||||
}
|
||||
: radio_button {
|
||||
key = "typ_linienzug";
|
||||
label = "3D-Linienzug (gemischte GF/VF-Kette)";
|
||||
}
|
||||
}
|
||||
|
||||
// 3-Button-Zeile wie im Linienzug-Wizard (dcl/vf_linienzug_wizard.dcl):
|
||||
// Zurueck(2)/Ok Weiter(1)/Abbrechen(0). "Zurueck" hat hier nichts, wohin es
|
||||
// zurueckspringen koennte (erste Frage der gesamten Anlage) - vf_core.lsp
|
||||
// zeigt in diesem Fall einfach denselben Dialog erneut.
|
||||
: row {
|
||||
alignment = centered;
|
||||
: button { key = "back"; label = "Zurueck"; fixed_width = true; width = 12; }
|
||||
spacer;
|
||||
: button { key = "accept"; label = "Ok Weiter"; is_default = true; fixed_width = true; width = 12; }
|
||||
spacer;
|
||||
: button { key = "cancel"; label = "Abbrechen"; is_cancel = true; fixed_width = true; width = 12; }
|
||||
}
|
||||
}
|
||||
|
||||
// Linienzug-Modus waehlen (nur wenn Anlagen-Typ = Linienzug). Radio-Buttons,
|
||||
// gleicher Deutsch-fest-Grund wie bei vfc_typ oben.
|
||||
vfc_linienzug_modus : dialog {
|
||||
label = "VarioFoerderer - Linienzug Modus";
|
||||
|
||||
: boxed_radio_column {
|
||||
label = "Linienzug-Modus waehlen:";
|
||||
key = "modus";
|
||||
|
||||
: radio_button {
|
||||
key = "modus_1";
|
||||
label = "Manuelle Eingabe (Punkte klicken)";
|
||||
value = "1";
|
||||
}
|
||||
: radio_button {
|
||||
key = "modus_2";
|
||||
label = "3D-Objekte + Ziel-Hoehe (Randwert-Solver, fertig)";
|
||||
}
|
||||
: radio_button {
|
||||
key = "modus_3";
|
||||
label = "3D-Objekte stueckweise (Vorwaerts-Nachbau, in Arbeit)";
|
||||
}
|
||||
}
|
||||
|
||||
// "Zurueck" springt hier sinnvoll zur Anlagen-Typ-Frage zurueck (siehe
|
||||
// vfc-dialog-linienzug-modus-waehlen/c:VarioFoerderer).
|
||||
: row {
|
||||
alignment = centered;
|
||||
: button { key = "back"; label = "Zurueck"; fixed_width = true; width = 12; }
|
||||
spacer;
|
||||
: button { key = "accept"; label = "Ok Weiter"; is_default = true; fixed_width = true; width = 12; }
|
||||
spacer;
|
||||
: button { key = "cancel"; label = "Abbrechen"; is_cancel = true; fixed_width = true; width = 12; }
|
||||
}
|
||||
}
|
||||
|
||||
variofoerderer_basis : dialog {
|
||||
label = "VarioFoerderer (Standard) - Eingabe";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user