[CHANGE] VF Standard/Etage 3D-Linie-Eingabemodus per Dialog statt Konsole (Teil A der GUI-Umstellung)

Neuer Dialog vfc_eingabemodus (dcl/variofoerderer.dcl) + vfc-dialog-eingabemodus-waehlen (Lisp/vf_core.lsp), analog zum bestehenden vfc_typ-Muster: Radio-Buttons "3D-Linie auswaehlen" / "Werte manuell eingeben" ersetzen die fruehere getstring-Konsolenabfrage in vf-dialog-ablauf. Betrifft StandardVarioFoerderer3D und EtageVarioFoerderer3D (beide rufen denselben Ablauf).

Die 3D-Linie-Objektauswahl selbst (vfc-3dlinie-erfassen) bleibt bewusst Zeichnung/Konsole - eine Linie laesst sich nicht durch ein Formularfeld ersetzen. Alle daraus abgeleiteten Werte (deltaL/deltaH/hz/Einfuegehoehe) gehen als Prefill in den bereits bestehenden Basis-Dialog (variofoerderer_basis), der sie ueberschreibbar anzeigt - identisch zum "Werte manuell"-Pfad.

Rueckfall auf die alte Konsolenabfrage bleibt erhalten (GUI abgeschaltet, DXFM_LANG=en_GB), wie bei vfc_typ. doc/variofoerderer.md (Abschnitt 2, 8, Entscheidungsbaum) und CLAUDE.md entsprechend aktualisiert.

Manuell in BricsCAD getestet (StandardVarioFoerderer3D + EtageVarioFoerderer3D, beide Dialogzweige inkl. Abbruch) - laeuft.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-10-09 11:38:15 +02:00
parent 2ef8f319ab
commit 9a7907ab00
4 changed files with 139 additions and 57 deletions
+44 -6
View File
@@ -20,12 +20,20 @@
// mal scheitert. variofoerderer_winkel (Winkel/Verteilung) hat KEINE
// generierte Variante mehr und wird direkt verwendet (komplett
// Combobox, siehe vfs-dialog-winkel-verteilung in vf_standard.lsp).
// Die 3D-Linie-Eingabe (Modus "3D-Linie"), der Etage-Typ und die
// Linienzug-Kette selbst bleiben interaktiv (Kommandozeile bzw. eigener
// Wizard in vf_linienzug_wizard.dcl). Der Linienzug-Modus (1/2/3/4/5) wird
// seit den Menue-Wrappern c:LinienzugVarioFoerderer*/c:QcLinieMitGf* nicht
// mehr per Dialog erfragt, sondern ist je Menuepunkt fest vorbelegt - der
// frueher hier gefuehrte Dialog vfc_linienzug_modus ist dadurch entfallen.
// vfc_eingabemodus: Eingabemodus (3D-Linie / Werte manuell) waehlen -
// ersetzt die Konsolen-Abfrage am Anfang von vf-dialog-ablauf fuer
// Standard UND Etage (vfc-dialog-eingabemodus-waehlen, vf_core.lsp).
// Die 3D-Linie SELBST (Objektauswahl) bleibt danach Zeichnung/Konsole
// (get-line-start-end-points) - eine Linie laesst sich nicht durch ein
// Formularfeld ersetzen; alle abgeleiteten Werte (deltaL/deltaH/hz/
// Einfuegehoehe) landen danach als Prefill im bestehenden Basis-Dialog
// (variofoerderer_basis), der sie ganz normal ueberschreibbar anzeigt.
// Der Etage-Typ und die Linienzug-Kette selbst bleiben interaktiv
// (Kommandozeile bzw. eigener Wizard in vf_linienzug_wizard.dcl). Der
// Linienzug-Modus (1/2/3/4/5) wird seit den Menue-Wrappern
// c:LinienzugVarioFoerderer*/c:QcLinieMitGf* nicht mehr per Dialog erfragt,
// sondern ist je Menuepunkt fest vorbelegt - der frueher hier gefuehrte
// Dialog vfc_linienzug_modus ist dadurch entfallen.
// ============================================================
// Anlagen-Typ waehlen (Standard/Etage/Linienzug). Radio-Buttons statt
@@ -72,6 +80,36 @@ vfc_typ : dialog {
}
}
// Eingabemodus waehlen (3D-Linie / Werte manuell) - Radio-Buttons, gleiches
// Muster und dieselbe Sprach-/GUI-Einschraenkung wie vfc_typ oben (Labels
// hart deutsch, Rueckfall auf Konsolen-Liste bei DXFM_LANG=en_GB oder
// abgeschalteter GUI - siehe vfc-dialog-eingabemodus-waehlen, vf_core.lsp).
vfc_eingabemodus : dialog {
label = "VarioFoerderer - Eingabemodus";
: boxed_radio_column {
label = "Eingabemodus waehlen:";
key = "modus";
: radio_button {
key = "modus_3dlinie";
label = "3D-Linie auswaehlen (Start- und Endpunkt mit Hoehe)";
value = "1";
}
: radio_button {
key = "modus_werte";
label = "Werte manuell eingeben";
}
}
: 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; }
}
}
// 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