(in-package :custom) (use-package :oli) ;;*************************************************************************** ;; BROWSER-Spaltendefinitionen * ;**************************************************************************** (sd-create-column-definition :ARTIKELNUMMER :title "Artikel-Nr." :alignment :right :display-fnc 'browser-display-artikelnummer :applicable-fnc 'applicable-density-p :edit-fnc nil ;; not editable ) ;;*************************************************************************** ;; BROWSER-Views * ;**************************************************************************** (oli:sd-create-browser-view "ATTRIBUTES" :tree-config '(:instance-name) :detail-config '(:contents-name :ARTIKELNUMMER) :title "Artikelnummer Ansicht" ) ;;*************************************************************************** ;; BROWSER-Such/Filterfunktionen * ;**************************************************************************** (oli::sd-create-browser-search "parcel-gbrowser" :name "sichtbare-Teile" :title "sichtbare Teile/BGR" :case-sensitive nil :match :all :criteria '((:column :visible-parts :operation :equals :value "JA") ) ) ;;*************************************************************************** ;; FUNCTIONS * ;*************************************************************************** (defun browser-display-contents-density (node) (let ((node-item (sd-pathname-to-obj (BrowserNode-objPath node)))) (if (sd-inq-part-p node-item) (oli:sd-num-to-string (oli::sd-sys-to-user-units :density (sd-inq-part-density node-item :contents))) "n/a" ) );let ) (defun browser-display-instance-density (node) (let ((node-item (sd-pathname-to-obj (BrowserNode-objPath node)))) (if (and (sd-inq-part-p node-item) (sd-inq-part-density node-item :instance)) (oli:sd-num-to-string (oli::sd-sys-to-user-units :density (sd-inq-part-density node-item :instance))) "n/a" ) );let ) (defun applicable-density-p (node) (let ((sel-item (oli::sd-pathname-to-obj (oli::BrowserNode-objPath node)))) (when sel-item (oli:sd-inq-part-p sel-item)) ) ) (defun browser-display-name (node) (let ((node-item (sd-pathname-to-obj (BrowserNode-objPath node)))) (if (sd-inq-obj-contents-name node-item) (sd-inq-obj-contents-name node-item) (sd-inq-obj-basename node-item) ) );let ) ;; Artikelnummer Funktion (defun browser-display-artikelnummer (node) (let ((node-item (sd-pathname-to-obj (BrowserNode-objPath node)))) (if (sd-inq-obj-contents-name node-item) (sd-inq-obj-contents-name node-item) (sd-inq-obj-basename node-item) ) );let )