[CHANGE] Omniflo-Weichen: je Winkel ein Dialog (OMNI_W90/OMNI_W45/OMNI_WP/OMNI_WK statt 12 Einzelbefehlen), Doppel/Dreiwege ueber neue Radiobuttons unter Richtung, nicht belegte Richtungen ausgegraut, OMNI_EDIT kann Einzel/Doppel/Dreiwege wechseln

This commit is contained in:
Simon Hensch committed 2026-11-06 13:42:46 +01:00
1 parent 04f5035386
commit f044148121
8 files changed
+494 -612

No files matched your search

+34
View File
@@ -1253,6 +1253,40 @@
(("Sivasnr" . 834372515) ("ProfilTyp" . "Weiche S C R1S 2C 200/1200/950 mit M")))))
(tu-nil "omni:vorwahl-index/leer" (omni:vorwahl-index (car _wl) nil))
(tu-nil "omni:vorwahl-index/ohne-ziel" (omni:vorwahl-index nil _wl))
;; Richtungs-Radiobuttons: KurvenRichtung 1/2/3/7 -> Tile-Key
(tu-eq "omni:weichen-richtung-key/links" "ri_links" (omni:weichen-richtung-key "1"))
(tu-eq "omni:weichen-richtung-key/rechts" "ri_rechts" (omni:weichen-richtung-key "2"))
(tu-eq "omni:weichen-richtung-key/doppel" "ri_doppel" (omni:weichen-richtung-key "3"))
(tu-eq "omni:weichen-richtung-key/dreiwege" "ri_dreiwege" (omni:weichen-richtung-key "7"))
(tu-nil "omni:weichen-richtung-key/unbekannt" (omni:weichen-richtung-key "5"))
;; Basisliste eines Winkel-Dialogs: Einzel/Doppel/Dreiwege gemeinsam,
;; Deltaweiche (ebenfalls KurvenRichtung 3) bleibt draussen
(setq _wk
'((("Sivasnr" . 1) ("KurvenWinkel" . 90) ("WeichenTyp" . "Einzelweiche") ("KurvenRichtung" . 1) ("Schaltungstyp" . "M"))
(("Sivasnr" . 2) ("KurvenWinkel" . 90) ("WeichenTyp" . "Einzelweiche") ("KurvenRichtung" . 2) ("Schaltungstyp" . "P"))
(("Sivasnr" . 3) ("KurvenWinkel" . 90) ("WeichenTyp" . "Doppelweiche") ("KurvenRichtung" . 3) ("Schaltungstyp" . "M"))
(("Sivasnr" . 4) ("KurvenWinkel" . 90) ("WeichenTyp" . "Dreiwegeweiche") ("KurvenRichtung" . 7) ("Schaltungstyp" . "P"))
(("Sivasnr" . 5) ("KurvenWinkel" . 90) ("WeichenTyp" . "Deltaweiche") ("KurvenRichtung" . 3) ("Schaltungstyp" . "M") ("Breite" . 1400))
(("Sivasnr" . 6) ("KurvenWinkel" . 45) ("WeichenTyp" . "Doppelweiche") ("KurvenRichtung" . 3) ("Schaltungstyp" . "M"))))
(setq _bl (omni:weichen-basis-liste _wk 90 *omni-weichen-std-typen* nil))
(tu-eq "omni:weichen-basis-liste/std-typen" '(1 2 3 4)
(mapcar '(lambda (e) (cdr (assoc "Sivasnr" e))) _bl))
(tu-eq "omni:weichen-basis-liste/typ-string" 1
(length (omni:weichen-basis-liste _wk 90 "Doppelweiche" nil)))
(tu-eq "omni:weichen-basis-liste/breite" 1
(length (omni:weichen-basis-liste _wk nil "Deltaweiche" 1400)))
(tu-eq "omni:weichen-basis-liste/alle" 6
(length (omni:weichen-basis-liste _wk nil nil nil)))
;; Filter ueber die neuen Richtungen
(tu-eq "omni:weichen-filter-liste/doppel" 3
(cdr (assoc "Sivasnr" (car (omni:weichen-filter-liste _bl "alle" "3")))))
(tu-eq "omni:weichen-filter-liste/dreiwege" 4
(cdr (assoc "Sivasnr" (car (omni:weichen-filter-liste _bl "alle" "7")))))
(tu-nil "omni:weichen-filter-liste/dreiwege-m"
(omni:weichen-filter-liste _bl "M" "7"))
)