;********************************************************************************************* ; Dateiname : SD_ContainerOnOFF.lsp ; Autor : Stephan Wörz ; Erstellt : 25.02.2011 ; geändert : 01.12.2014 - Parameter [DarstellungslisteMerken] zum steuern des Anzeigeverhaltens ;********************************************************************************************* ; Beschreibung : - Hier geht es um folgendes: ; Blendet ALLE Behälter ein, merkt sich die Darstellungsliste und stellt ; diese wieder her! ; ; Optionen : - ;********************************************************************************************* ; ä Ì Ä Ø ö Î Ö Ú ü Ï Ü Û ß Þ ° ³ µ ó ;********************************************************************************************* (use-package :oli) ;(sd-hide-console-window) ;(sd-show-console-window) ;(setf si::*enter-break-handler* t) (setf ContainerSichtbar nil) (setf DarstellungslisteMerken nil) ;; t = Darstellungsliste wieder herstellen nil = Alle Behälter einblenden - Alle Behälter ausblenden (sd-defdialog 'SD_ContainerOnOFF ; :dialog-title "kein Titel notwendig" :dialog-control :sequential :toolbox-button nil :variables '( ) ;end variables :ok-action '(progn ;;Liste aller Behälter erstellen (setf Container (sd-call-cmds (get_selection :focus_type :check_function #'CheckIfContainer :select :recursive :all_at_top );; );; );;setf ;;Flag auswerten (if (not ContainerSichtbar) ;;then (progn (if DarstellungslisteMerken ;;then >> aktuelle Darstellungsliste im aktuellen Fenster speichern (setf Darstellungsliste (sd-inq-vp-drawlist-objects (sd-inq-current-vp))) );;if ;;alle Behälter zur Darstellungsliste hinzufügen (sd-call-cmds (add_to_vp_drawlist (sd-inq-current-vp) Container)) ;;Flag setzen (setf ContainerSichtbar t) );;progn ;;else (progn (if DarstellungslisteMerken ;;then >> Darstellungsliste wieder herstellen (sd-call-cmds (set_vp_drawlist (sd-inq-current-vp) Darstellungsliste)) ;;else >> ;alle Behälter von Darstellungsliste entfernen (sd-call-cmds (remove_from_vp_drawlist (sd-inq-current-vp) Container)) );;if ;;Flag setzen (setf ContainerSichtbar nil) );;progn );;if );end Progn );end defdialog (defun CheckIfContainer (Objekt) (if (sd-inq-container-p Objekt) :ok :filter );;if );;defun