;;--------------------------------------------------------------------------* ;; Copyright 2005 DC4 Technisches Büro GmbH * ;; * ;;--------------------------------------------------------------------------* (in-package :custom) (use-package :OLI) ;--------------------------------------------------------------------------* (defun dc4-am-desman-get-owner () (let (ret blatt anslist ans) (setf ret nil) (setf blatt (sd-am-inq-curr-sheet)) (when blatt (progn (setf anslist (sd-am-sheet-struct-views (sd-am-inq-sheet blatt))) (when anslist (progn (dolist (ans anslist) (when (and (not ret) (sd-am-view-struct-view-3d (sd-am-inq-view ans))) (progn (setf ret (sd-am-view-set-struct-owner (sd-am-inq-view-set (sd-am-view-struct-view-set (sd-am-inq-view ans )))) );;setf );;progn );;when );;dolist );;progn );;when );;progn );;when (values ret) );;let ) ;;--------------------------------------------------------------------------* (sd-defdialog 'dc4-anno-desman-save-owner-dialog :dialog-title "3D-Besitzer" :variables '( ("Optional:") (ans :selection *sd-anno-view-seltype* :prompt-text "Ansicht fuer Besitzersuche angeben." :title "Ansicht" :multiple-items nil :initial-optional t :after-input (ans-action) :check-function #'(lambda (ans) (let () (if (sd-am-view-struct-view-3d (sd-am-inq-view ans)) :ok (values :error "Diese Ansicht hat keine 3D-Repraesentation!") );;if );;let );;lambda ) ("Besitzer ueberschreiben:") (teil :value-type :part-assembly :prompt-text "Besitzer fuer Ueberschreiben angeben." :title "Besitzer" :size :third :initial-value (dc4-am-desman-get-owner) ) ) :local-functions '( (ans-action () (let () (setf teil (sd-am-view-set-struct-owner (sd-am-inq-view-set (sd-am-view-struct-view-set (sd-am-inq-view ans )))) );;setf );;let ) (write-action () (let () (modelmanager::ndm_store :objects (sd-inq-obj-pathname teil)) );;let ) ) :ok-action '(write-action) :help-action '() )