(in-package :custom) (use-package :oli) ;;----------------------------------------- (sd-defdialog 'Strukturfarbe-setzen :dialog-title "Strukturfarbe setzen" :toolbox-button nil :variables '( (Rot_col :title "Rot" :value-type :string :proposals ("ohne") :auto-add-proposal t :persistent-data-storage t :max-proposals 5 :initial-value "ohne" ) (Magenta_col :title "Magenta" :value-type :string :proposals ("ohne") :auto-add-proposal t :persistent-data-storage t :max-proposals 5 :initial-value "ohne" ) (Blau_col :title "Blau" :value-type :string :proposals ("ohne") :auto-add-proposal t :persistent-data-storage t :max-proposals 5 :initial-value "ohne" ) (Grün_col :title "GrÏn" :value-type :string :proposals ("ohne") :auto-add-proposal t :persistent-data-storage t :max-proposals 5 :initial-value "ohne" ) (Orange_col :title "Orange" :value-type :string :proposals ("ohne") :auto-add-proposal t :persistent-data-storage t :max-proposals 5 :initial-value "ohne" ) (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 (ColVor_ohne) :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 (oli:sd-string-split (BrowserNode-objPath node) "\"")) (objpath (if (> (length objlist) 1) (second objlist) (first objlist))) (obj (oli:sd-pathname-to-obj objpath)) ) (cond ((oli:sd-string-match-pattern-p (Format nil "~a" Rot_col) objname) "#FF0000") ((oli:sd-string-match-pattern-p (Format nil "~a" Magenta_col) objname) "#FF00FF") ((oli:sd-string-match-pattern-p (Format nil "~a" Blau_col) objname) "#0000FF") ((oli:sd-string-match-pattern-p (Format nil "~a" Grün_col) objname) "#008000") ((oli: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) );endbrowserfunk (ColVor_ohne () (progn (setf Rot_col "ohne") (setf Magenta_col "ohne") (setf Blau_col "ohne") (setf Grün_col "ohne") (setf Orange_col "ohne") ) ; end Progn ); end ColVor_ohne );endLocalFunction :ok-action '() )