#| Funktionsbeispiel: move :Faces erstellt: 06.11.2008 letzter Änderungszeitpunkt: 07.11.2008 Autor: Patrick Weber ä Ì Ä Ø ö Î Ö Ú ü Ï Ü Û ß Þ ° ³ |# (in-package :custom) (use-package :OLI) (sd-defdialog 'pw_move_face_bsp :dialog-title "FlÌchen um MaÞ bewegen" :variables '( (BACKSTATES :initial-value nil) (FL :selection (*sd-face-seltype*) :multiple-items t :show-select-menu t :title "FlÌchen" :prompt-text "FlÌchen wÌhlen." :next-variable 'DIR ) (DIR :value-type :measure-direction :prompt-text "Verschieberichtung wÌhlen." :title "Verschieberichtung" :next-variable 'MASS ) (MASS :value-type :length :title "MaÞ" :prompt-text "MaÞ angeben bzw. messen." :repeat-input-until-defined t ) ("-") (UEBERNEHM :title "Ïbernehmen" :toggle-type :grouped-toggle :push-action (pw_move_face_bsp_go) ) (BACK :title "Zurueck" :toggle-type :grouped-toggle :initial-enable nil :push-action (back_action) ) );ende variables :local-functions '( (pw_move_face_bsp_go () (progn (push (sd-set-model-checkpoint) BACKSTATES) (sd-call-cmds (move :faces FL :transformation :translate :dir_len (first DIR) MASS :do_it ) ) (when BACKSTATES (sd-set-variable-status 'BACK :enable t)) ) ) (back_action () (let () (when BACKSTATES (progn (sd-return-to-model-checkpoint (pop BACKSTATES)) (unless BACKSTATES (sd-set-variable-status 'BACK :enable nil)) ) ) ) ) ) :ok-action '() )