;;----------------------------------------------------------------------------- ;; for CoCreate SolidDesigner ;; Description: ;; structure browser column-definition with edit function ;; ;; Reference : https://ww3.cad.de/foren/ubb/Forum92/HTML/001012.shtml ;; Docu : https://support.ptc.com/help/creo_elements_direct/r20.5.0.0/advanced_documentation/integration_kit/reference/browser_view.html#sd-create-column-definition ;;----------------------------------------------------------------------------- ;; ;; Filename : cadde-92-1012.lsp ;; Version : 1.0 ;; Datum : 26Aug2022 ;; Author : der_Wolfgang@forum@cad.de ;; Download : cad.de ;; SD-Version : developed with PE80 ;; ;;----------------------------------------------------------------------------- (in-package :cadde-92-1012) (use-package :oli) (defun display-geo-resolution (node) (let ((sel-item (sd-pathname-to-obj (BrowserNode-objPath node)))) (if (and sel-item (floatp (sd-inq-part-geo-resolution sel-item))) ;; empty parts!!!! face parts etc... (format nil "~8,6F" (sd-inq-part-geo-resolution sel-item)) "n/a"))) (defun applicable-geo-resolution-p (node) (let ((sel-item (sd-pathname-to-obj (BrowserNode-objPath node)))) (and sel-item (sd-inq-part-p sel-item)))) (sd-create-column-definition :geo-resolution :title "Geo Resolution" :display-fnc 'display-geo-resolution :applicable-fnc 'applicable-geo-resolution-p :edit-fnc nil) ;; not editable (defun display-model-name (node) (let ((sel-item (sd-pathname-to-obj (BrowserNode-objPath node)))) (if sel-item (sd-inq-obj-contents-name sel-item) "n/a" ) )) (defun edit-model-name (node value) (let ((sel-item (sd-pathname-to-obj (BrowserNode-objPath node)))) (if (and sel-item (stringp value) (> (length value) 0) ;; (valid-string-contents-p value) ) (progn (CHANGE_PA_ID sel-item value) ;; the old way.. ;; (part_prop :the_part sel-item :CONTID value) T ) (progn (pprint "alles falsch!") nil ;; error ) ) )) (sd-create-column-definition :model-name :title "Model Name" :display-fnc 'display-model-name ;:applicable-fnc 'applicable-geo-resolution-p :edit-fnc 'edit-model-name) ;; editable (sd-create-browser-view "Column-edit-OR-not" :title "Test Display&Edit" :tree-config '(:instance-name); "[ " :geo-resolution " ]") :detail-config '(:geo-resolution :model-name)) (sd-set-current-browser-view "Column-edit-OR-not")