[REFACTOR] VF-Linienzug: Vario-Kurven-Winkelliste (90 60 30) -> (30 60 90)
Vereinheitlicht die Anzeige-Reihenfolge der Vario-Kurven-Winkel auf 30/60/90 (wie GF-Bogen). Betroffen: Glied-Schema, schema-feld-pruefen, Wizard-Gruppen- dialog (vflw-gruppe-variokurve-impl), Live-Menue (vfl-insert-vario-kurve), Edit-Dialog (vfl-glied-vario-dialog) und Slice-Reader (vfl-vario-slice-werte). Labels, winkel-werte-Liste und Default-Index (jetzt Position 2 = 90) ueberall konsistent geflippt. Reine Anzeige-Aenderung: das Journal speichert ohnehin den ECHTEN Winkelwert (30/60/90), Blocknamen (Vario_Kurve_*_<itoa winkel>_TEF_*) unveraendert -> bestehende Linienzug-Bloecke bleiben kompatibel (vfl-winkel-normieren validiert ordnungsunabhaengig gegen die Menge). Paren-Balance geprueft. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+24
-22
@@ -228,7 +228,7 @@
|
||||
'("winkel" "INT" (30 60 90))
|
||||
'("seite" "STR" ("1" "2"))))
|
||||
(cons "Vario-Kurve"
|
||||
(list '("winkel" "INT" (90 60 30))
|
||||
(list '("winkel" "INT" (30 60 90))
|
||||
'("seite" "STR" ("1" "2"))
|
||||
'("variante" "STR" ("1" "2"))))))
|
||||
|
||||
@@ -361,7 +361,7 @@
|
||||
((= kind "REAL") (cons "hoehe" nil)) ; Zielhoehe (Auf/Ab bzw. Linie-VF)
|
||||
((= kind "PT") (cons "punkt" nil))
|
||||
((= kind "INT") ; eingebettete Vario-Kurve
|
||||
(setq fehler (vfl-schema-feld-pruefen '("vk-winkel" "INT" (90 60 30)) val))
|
||||
(setq fehler (vfl-schema-feld-pruefen '("vk-winkel" "INT" (30 60 90)) val))
|
||||
(cons "variokurve.winkel" fehler))
|
||||
((= kind "STR")
|
||||
(cond
|
||||
@@ -667,12 +667,14 @@
|
||||
(if (and dat (>= dat 0)) (unload_dialog dat))
|
||||
(progn
|
||||
(set_tile "kopf" (vflw-clean (ssg-text "vfl-variokurve-winkel-header")))
|
||||
;; Winkel-Reihenfolge vereinheitlicht auf 30/60/90 (wie GF-Bogen);
|
||||
;; Default 90 -> Listenposition 2.
|
||||
(start_list "winkel")
|
||||
(add_list (vflw-clean (ssg-text "vfl-opt1-90grad")))
|
||||
(add_list (vflw-clean (ssg-text "vfl-opt2-60grad")))
|
||||
(add_list (vflw-clean (ssg-text "vfl-opt3-30grad")))
|
||||
(add_list (vflw-clean (ssg-text "vfl-opt2-60grad")))
|
||||
(add_list (vflw-clean (ssg-text "vfl-opt1-90grad")))
|
||||
(end_list)
|
||||
(set_tile "winkel" "0")
|
||||
(set_tile "winkel" "2")
|
||||
(start_list "seite")
|
||||
(add_list (vflw-clean (ssg-text "gf-seite-links")))
|
||||
(add_list (vflw-clean (ssg-text "gf-seite-rechts")))
|
||||
@@ -693,7 +695,7 @@
|
||||
(unload_dialog dat)
|
||||
(if (= ergebnis 1)
|
||||
(vflw-pending-push-all
|
||||
(list (nth (atoi gwinkel) '(90 60 30))
|
||||
(list (nth (atoi gwinkel) '(30 60 90))
|
||||
(if (= gseite "1") "2" "1")
|
||||
(if (= gvariante "1") "2" "1"))))))
|
||||
(princ))
|
||||
@@ -952,8 +954,8 @@
|
||||
;; als echten Winkel (INT-Eintrag = 30/60/90), NICHT als Auswahl-Index 1/2/3.
|
||||
;; Damit ist jedes Journal/Log selbsterklaerend und alle GF-Bogen-/Vario-Kurve-
|
||||
;; Stellen (Live-Bau, Slice, Edit) teilen denselben Wert. winkel-werte ist die
|
||||
;; Liste der zur Optionsreihenfolge gehoerenden Winkel (z.B. (30 60 90) oder
|
||||
;; (90 60 30)); default-winkel der vorbelegte Winkelwert. Bei Konsolen-Eingabe
|
||||
;; Liste der zur Optionsreihenfolge gehoerenden Winkel (einheitlich (30 60 90)
|
||||
;; fuer GF-Bogen UND Vario-Kurve); default-winkel der vorbelegte Winkelwert. Bei Konsolen-Eingabe
|
||||
;; tippt der Nutzer den Winkel direkt (30/60/90); ungueltige Eingaben fallen auf
|
||||
;; den naechstliegenden gueltigen Wert bzw. den Default. Rueckgabe: Winkel (Int).
|
||||
(defun vfl-menu-winkel (prompt option-labels winkel-werte default-winkel frage-key /
|
||||
@@ -2581,13 +2583,13 @@
|
||||
(vfl-journal-mark "Vario-Kurve")
|
||||
(if (vfl-wizard-aktiv) (vl-catch-all-apply 'vflw-gruppe-variokurve-impl nil))
|
||||
(princ (ssg-text "vfl-variokurve-winkel-header"))
|
||||
(princ (ssg-text "vfl-opt1-90grad"))
|
||||
(princ (ssg-text "vfl-opt2-60grad"))
|
||||
(princ (ssg-text "vfl-opt3-30grad"))
|
||||
(princ (ssg-text "vfl-opt2-60grad"))
|
||||
(princ (ssg-text "vfl-opt1-90grad"))
|
||||
(setq kwinkel (vfl-menu-winkel (ssg-text "vfl-prompt-wahl-winkel-30-60-90")
|
||||
(list (ssg-text "vfl-opt1-90grad") (ssg-text "vfl-opt2-60grad")
|
||||
(ssg-text "vfl-opt3-30grad"))
|
||||
'(90 60 30) 90 "vfl-variokurve-winkel-header"))
|
||||
(list (ssg-text "vfl-opt3-30grad") (ssg-text "vfl-opt2-60grad")
|
||||
(ssg-text "vfl-opt1-90grad"))
|
||||
'(30 60 90) 90 "vfl-variokurve-winkel-header"))
|
||||
(princ (ssg-text "vfl-variokurve-seite-header"))
|
||||
(princ (ssg-text "gf-seite-links"))
|
||||
(princ (ssg-text "gf-seite-rechts"))
|
||||
@@ -3703,9 +3705,9 @@
|
||||
|
||||
;; Pre-fill-faehiger Winkel+Seite+Variante-Dialog fuer die Vario-Kurve (nutzt
|
||||
;; das bestehende vflw_variokurve-Tile mit Vorbelegung). Wizard-Optionsreihen-
|
||||
;; folge: Winkel (90 60 30), Seite (links rechts), Variante (aussen innen) -
|
||||
;; folge: Winkel (30 60 90), Seite (links rechts), Variante (aussen innen) -
|
||||
;; genau wie vflw-gruppe-variokurve-impl. vor-* sind die aktuellen Werte:
|
||||
;; vor-winkel echter Wert 90/60/30, vor-seite-code/vor-variante-code je "1"/"2".
|
||||
;; vor-winkel echter Wert 30/60/90, vor-seite-code/vor-variante-code je "1"/"2".
|
||||
;; Rueckgabe: (winkel seite-code variante-code) oder nil bei Abbruch.
|
||||
(defun vfl-glied-vario-dialog (vor-winkel vor-seite-code vor-variante-code /
|
||||
dat dcl-pfad ergebnis gwinkel gseite gvariante)
|
||||
@@ -3717,13 +3719,13 @@
|
||||
(progn
|
||||
(set_tile "kopf" (ssg-text "vfl-variokurve-winkel-header"))
|
||||
(start_list "winkel")
|
||||
(add_list (ssg-text "vfl-opt1-90grad"))
|
||||
(add_list (ssg-text "vfl-opt2-60grad"))
|
||||
(add_list (ssg-text "vfl-opt3-30grad"))
|
||||
(add_list (ssg-text "vfl-opt2-60grad"))
|
||||
(add_list (ssg-text "vfl-opt1-90grad"))
|
||||
(end_list)
|
||||
;; Winkel 90/60/30 -> Listenposition 0/1/2
|
||||
(set_tile "winkel" (itoa (- (length '(90 60 30))
|
||||
(length (member vor-winkel '(90 60 30))))))
|
||||
;; Winkel 30/60/90 -> Listenposition 0/1/2
|
||||
(set_tile "winkel" (itoa (- (length '(30 60 90))
|
||||
(length (member vor-winkel '(30 60 90))))))
|
||||
(start_list "seite")
|
||||
(add_list (ssg-text "gf-seite-links"))
|
||||
(add_list (ssg-text "gf-seite-rechts"))
|
||||
@@ -3740,7 +3742,7 @@
|
||||
(setq ergebnis (start_dialog))
|
||||
(unload_dialog dat)
|
||||
(if (= ergebnis 1)
|
||||
(list (nth (atoi gwinkel) '(90 60 30)) ; Listenposition 0/1/2 -> 90/60/30
|
||||
(list (nth (atoi gwinkel) '(30 60 90)) ; Listenposition 0/1/2 -> 30/60/90
|
||||
(if (= gseite "1") "2" "1") ; Liste 0=links/1=rechts -> "1"/"2"
|
||||
(if (= gvariante "1") "2" "1")) ; Liste 0=aussen/1=innen -> "1"/"2"
|
||||
nil))))
|
||||
@@ -3813,7 +3815,7 @@
|
||||
(defun vfl-vario-slice-werte (slice / werte)
|
||||
(setq werte (vfl-schema-slice-werte "Vario-Kurve" slice (list 90 "1" "2")))
|
||||
;; Winkel gegen Fremdwerte absichern (analog GF-Bogen).
|
||||
(list (vfl-winkel-normieren (car werte) '(90 60 30) 90)
|
||||
(list (vfl-winkel-normieren (car werte) '(30 60 90) 90)
|
||||
(cadr werte) (caddr werte)))
|
||||
|
||||
;; Neue Vario-Kurve-Slice bauen.
|
||||
|
||||
Reference in New Issue
Block a user