;;--------------------------------------------------------------------------* ;; Modulbeschreibung: ;; Färbt/Highlightet im Strukturliste Teile ;;--------------------------------------------------------------------------* ;; Dateiname: strukturliste_umfaerben.lsp ;; Version : 1.0 ;; Datum : 17.07.2017 ;; Author : MiBr ;;--------------------------------------------------------------------------* ;; 1.01 Teileauswahl fügt * hinzu 19.12.2018 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 65280 Grün ; 16776960 Gelb ; 16777215 Weiss ; 16711680 Rot ; 255 Blau ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (in-package :mibr) (use-package :oli) ;;----------------------------------------- (sd-defdialog 'Strukturfarbe-setzen :dialog-title "Strukturfarbe setzen" :toolbox-button nil :variables '( ("Auswahl nach Name") (Rot_col :title "Rot" :value-type :string :proposals ("ohne") :auto-add-proposal t :persistent-data-storage t :max-proposals 5 :initial-value "ohne" :after-input (progn (colorson) (browserfunk) (sd-browser-exec-cmd "parcel-gbrowser" :REFRESH-TREE));; end progn ) (magenta_col :title "Magenta" :value-type :string :proposals ("ohne") :auto-add-proposal t :persistent-data-storage t :max-proposals 5 :initial-value "ohne" :after-input (progn (colorson) (browserfunk) (sd-browser-exec-cmd "parcel-gbrowser" :REFRESH-TREE));; end progn ) (blau_col :title "Blau" :value-type :string :proposals ("ohne") :auto-add-proposal t :persistent-data-storage t :max-proposals 5 :initial-value "ohne" :after-input (progn (colorson) (browserfunk) (sd-browser-exec-cmd "parcel-gbrowser" :REFRESH-TREE));; end progn ) (gruen_col :title "Grün" :value-type :string :proposals ("ohne") :auto-add-proposal t :persistent-data-storage t :max-proposals 5 :initial-value "ohne" :after-input (progn (colorson) (browserfunk) (sd-browser-exec-cmd "parcel-gbrowser" :REFRESH-TREE));; end progn ) (orange_col :title "Orange" :value-type :string :proposals ("ohne") :auto-add-proposal t :persistent-data-storage t :max-proposals 5 :initial-value "ohne" :after-input (progn (colorson) (browserfunk) (sd-browser-exec-cmd "parcel-gbrowser" :REFRESH-TREE));; end progn ) ("Auswahl nach Teil") (farb_wahl :prompt-text "Farbe auswählen" :title "Farbe" :range ("Rot" "Magenta" "Blau" "Grün" "Orange" ) :auto-add-proposal nil :persistent-proposals nil :initial-value "Rot" ) (teile_ausw :value-type :part-assembly :title "Teil auswählen" :prompt-text "Teil anklicken" :modifies nil :after-input (name_uebernehmen) ) ("Optionen") (struktur_del :title "Farbe zurück" :push-action (progn (colorsoff) (browserfunk) (sd-browser-exec-cmd "parcel-gbrowser" :REFRESH-TREE)) :toggle-type :grouped-toggle ) (color_def :title "Vorgaben zurück" :push-action (progn (setf rot_col "ohne") (setf magenta_col "ohne") (setf blau_col "ohne") (setf gruen_col "ohne") (setf orange_col "ohne") ) ;end Progn :toggle-type :grouped-toggle ) (struktur_ueb :title "Farbe übernehmen" :push-action (progn (colorson) (browserfunk) (sd-browser-exec-cmd "parcel-gbrowser" :REFRESH-TREE));; end progn :toggle-type :wide-toggle ) ); end var :local-functions '( (colorsoff () (defun my-color-interrogator (node name) (declare (ignore name)) (let ((objname (browsernode-objpath node))) "#000000" );;let );;defun );;ColorsOFF (colorson () (defun my-color-interrogator (node name) (declare (ignore name)) (let* ((objname (browsernode-objpname node)) (objlist(sd-string-split (browsernode-objpath node) "\"")) ;wtf" (objpath (if (> (length objlist) 1) (second objlist) (first objlist))) (obj (sd-pathname-to-obj objpath)) ) (cond ((sd-string-match-pattern-p (format nil "~a" rot_col) objname) "#FF0000") ((sd-string-match-pattern-p (format nil "~a" magenta_col) objname) "#ff00ff") ((sd-string-match-pattern-p (format nil "~a" blau_col) objname) "#0000FF") ((sd-string-match-pattern-p (format nil "~a" gruen_col) objname) "#00D000") ((sd-string-match-pattern-p (format nil "~a" orange_col) objname) "#FF8000") ) ;End cond );End let );;defun );; (browserfunk () (sd-browser-add-interrogator "parcel-gbrowser" :interrogator-type :text-color :interrogator-func 'my-color-interrogator) );endbrowserfunkq (name_uebernehmen () (let (farb_set teile_auswahl) (if (search "." (sd-inq-obj-basename teile_ausw)) (setf teile_auswahl (format nil "~a\*" (first (sd-string-split (sd-inq-obj-basename teile_ausw) ".")))) (setf teile_auswahl (format nil "~a*" (sd-inq-obj-basename teile_ausw))) ) (cond ((string= farb_wahl "Rot") (setf rot_col teile_auswahl) (setf farb_set "Magenta")) ((string= farb_wahl "Magenta") (setf magenta_col teile_auswahl) (setf farb_set "Blau")) ((string= farb_wahl "Blau") (setf blau_col teile_auswahl) (setf farb_set "Grün")) ((string= farb_wahl "Grün") (setf gruen_col teile_auswahl) (setf farb_set "Orange")) ((string= farb_wahl "Orange") (setf orange_col teile_auswahl) (setf farb_set "Rot")) (t (setf rot_col teile_auswahl) (setf farb_set "Magenta")) ) (setf farb_wahl farb_set) (colorson) (browserfunk) (sd-browser-exec-cmd "parcel-gbrowser" :REFRESH-TREE) ) ; end let ); end Name-uebernehmen );endLocalFunction :prompt-variable 'teile_ausw :ok-action '() )