; -*-Lisp-*- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; ; Beschreibung: Konfigurations-Darstellungsliste ein/ausblenden ; ; Autor: Thomas Hollerweger ; erstellt: 19.5.2008 ; geändert: ; ; (C) Copyright 2008 STIWA Fertigungstechnik Sticht GmbH ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (in-package :custom-config-tools) (use-package :oli) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; Das neue Kommando wird in die Strukturliste integriert ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun config-fncs-visible-p (obj name) (when obj ; muss noch geändert werden - sd-inq-configuration-p erwartet ein sel-item (if (sd-inq-configuration-p (BrowserNode-objPath obj)) t nil ) ) ) (defun config-fncs-applicable-p (obj name) (when obj (if (sd-inq-active-configuration) t nil ) ) ; alternativ: nur anwendbar, wenn die gewählte Konfiguration aktiv ist ; muss noch geändert werden - sd-inq-active-configuration erwartet ein sel-item ; (if (equal (BrowserNode-objPath obj) (sd-inq-active-configuration)) ; t ; nil ; ) ) (defun browser-obj-path-to-conf-item (o-path) ;; o-path looks like "\"/B1\" :CONFIGURATION \"Konfig1\"" yes! :-( string within string! (let (o-path-list) (setq o-path-list (sd-string-split o-path "\"")) ; lach.. hier kommt (mein) NotePad++ aus'm tritt mit dem highlight \" (find (nth 3 o-path-list) (sd-inq-configurations :owner (sd-pathname-to-obj (nth 1 o-path-list))) :test #'(lambda (a b) (string= a (getf (sd-inq-configuration-props b) :name)))) ) ) (defun remove-config-drawlist (obj name) (let (liste) (setf liste (sd-inq-configuration-drawlist (browser-obj-path-to-conf-item (BrowserNode-objPath obj)))) (remove_from_vp_drawlist (sd-inq-current-vp) :with-wp liste) ) ) (defun add-config-drawlist (obj name) (let (liste) (setf liste (sd-inq-configuration-drawlist (browser-obj-path-to-conf-item (BrowserNode-objPath obj)))) (add_to_vp_drawlist (sd-inq-current-vp) :with-wp liste) ) ) (defvar *do-it-once* (progn (sd-browser-add-popup-entry "parcel-gbrowser" ; :is-entry-visible 'config-fncs-visible-p ; :is-entry-applicable 'config-fncs-applicable-p :menu-action 'add-config-drawlist :label "DarstListe hinzu" :place-at-top t ) (sd-browser-add-popup-entry "parcel-gbrowser" ; :is-entry-visible 'config-fncs-visible-p ; :is-entry-applicable 'config-fncs-applicable-p :menu-action 'remove-config-drawlist :label "DarstListe entfernen" :place-at-top t ) ))