feat: VF-Werteingabe Radio-Dialoge + Startpunkt-Dialog (Standard+Etage)

Dropdown-Dialoge der Standard-/Etage-Werteingabe durch Radio-Buttons
ersetzt (vfs-dialog-eingabe-basis-radio/vfs-dialog-winkel-verteilung-
radio in vf_standard.lsp), da sich Radio-Labels nach new_dialog nicht
per set_tile aendern lassen - die DCL wird dafuer bei jedem Aufruf
frisch zur Laufzeit geschrieben (neue Kernel-Helfer ssg-dcl-temp-
schreiben/ssg-dcl-label-escape in ssg_core.lsp) und dadurch
sprachunabhaengig. Popup-Varianten bleiben als Fallback erhalten,
falls das Schreiben/Laden der Temp-DCL-Datei scheitert.

Startpunkt der Anlage wird jetzt ebenfalls per Dialog gepickt
(vfc-dialog-startpunkt-waehlen, neue vfc_startpunkt-Dialogdefinition
in dcl/variofoerderer.dcl) statt per reinem Konsolen-getpoint - analog
zum bestehenden Punktwahl-Muster im Linienzug-Wizard. Zusaetzlich:
Einfuegehoehe der 3D-Linien-Eingabe ist jetzt explizit abfragbar
(Vorschlag = Z des Linien-Startpunkts), ueberschreibt nur die absolute
Hoehe, deltaH/Steigung bleiben unveraendert aus der Linie abgeleitet.

Gemeinsam mit vf_standard.lsp nach Merge-Konflikt zusammengefuehrt:
der Kollege hatte an derselben Stelle unabhaengig vfs-edit-basis-lesen
ergaenzt (gemeinsame Attribut-Leseroutine fuer Standard- UND
Etage-Edit) - beide Ergaenzungen sind inhaltlich unabhaengig und
bleiben nebeneinander bestehen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-10-08 09:55:56 +02:00
parent 00fd48d02e
commit 16a15bb83b
4 changed files with 518 additions and 30 deletions
+54 -6
View File
@@ -5,12 +5,21 @@
// 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).
// vfc_startpunkt: Startpunkt der Anlage picken (Punktwahl-Button +
// X/Y/Z-Anzeige) - ersetzt den reinen Konsolen-getpoint fuer
// Standard UND Etage (vfc-dialog-startpunkt-waehlen, vf_core.lsp).
// variofoerderer_basis/variofoerderer_winkel: Popup-Fallback-Varianten
// der Werteingabe (deltaL, deltaH, Foerderrichtung, Einfuegehoehe,
// Fahrtrichtung, Seite, Motorseite, Dimension, Geruest, Winkel,
// GF-Verteilung) - gemeinsam genutzt von Standard UND Etage. Die
// bevorzugten Radio-Button-Varianten (vfs_basis_dyn/vfs_winkel_dyn)
// werden zur Laufzeit generiert (vfs-dialog-eingabe-basis-radio/
// vfs-dialog-winkel-verteilung-radio in vf_standard.lsp) und stehen
// NICHT in dieser Datei - diese beiden Dialoge hier sind nur noch der
// Fallback, falls das Schreiben/Laden der Temp-DCL-Datei mal scheitert.
// Die 3D-Linie-Eingabe (Modus "3D-Linie") 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
@@ -101,6 +110,45 @@ vfc_linienzug_modus : dialog {
}
}
// Startpunkt der Anlage waehlen - Punktwahl-Button + Anzeige, analog
// vflw_punkt_zahl (dcl/vf_linienzug_wizard.dcl): der Button schliesst den
// Dialog (done_dialog 2), DANACH laeuft getpoint auf der Kommandozeile
// (aus einem action_tile-Callback heraus funktioniert getpoint in BricsCAD
// nicht), der Dialog wird danach mit der Anzeige erneut aufgebaut. "kopf"
// und "pt_anzeige" werden per set_tile aus ssg-text befuellt (siehe
// vfc-dialog-startpunkt-waehlen, vf_core.lsp) - deshalb sprachunabhaengig
// nutzbar. Button-Chrome bleibt hart deutsch, wie im Rest dieser Datei.
vfc_startpunkt : dialog {
label = "VarioFoerderer - Startpunkt";
: column {
: text {
key = "kopf";
label = "";
width = 50;
}
: row {
: button {
key = "pick";
label = "Punkt waehlen...";
fixed_width = true;
width = 18;
}
: text {
key = "pt_anzeige";
label = "(kein Punkt gewaehlt)";
}
}
}
: row {
alignment = centered;
: 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";