;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Description: Model Manager's "Browser Views" file ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Add MM-STATUS (oli::sd-create-uda-enum-column-definition :mm-state :title (sd-multi-lang-string "MM-State" :german "MM-Status" :chinese_s "MM-State") :attribute "DB-GREF" :value-list-key :MM_STATUS_TEXT :attachment :contents :enumerators (mapcar #'(lambda (state) (second state)) modelmanager::*mm-status-messages*) ) ;; ADD VERSION (oli::sd-create-uda-string-column-definition :mm-version :title (sd-multi-lang-string "Version" :german "Version" :chinese_s "Version") :attribute "DB-DREF" :value-list-key :VERSION :attachment :contents ) ;; Add IN_PACKET_DMS_NAME (oli::sd-create-uda-string-column-definition :in-packet-dms-name-column :title (sd-multi-lang-string "Owner" :german "Mappenbesitzer" :chinese_s "Owner") :attribute "DB-GREF" :value-list-key :IN_PACKET_DMS_NAME :attachment :contents ) ;; Define DOC UID and PART UID for Details view (oli::sd-create-uda-string-column-definition :doc-uid-column :title "Dok-Info" :attribute "DB-DREF" :value-list-key :unique_id_string :attachment :contents ) (oli::sd-create-uda-string-column-definition :part-uid-column :title "Stammdaten" :attribute "DB-PREF" :value-list-key :unique_id_string :attachment :contents ) ;; ----------------------------------------------- ;; -------- BYSTRONIC ADDITIONALS ---------------- ;;---------- Attribut Definitionen ----------- (oli::sd-define-db-attribute "NUMMER" :class-name "MODELL_3D" :attachment :contents :keys '( ("NAME") ) :allowed-owner-types :part-assembly :filing '(:db :sd-file) :master :db :on-copy :maintain ) (oli::sd-define-db-attribute "DESC" :class-name "STAMMDATEN" :attachment :contents :keys '( ("BESCHREIBUNG") ) :allowed-owner-types :part-assembly :filing '(:db :sd-file) :master :db :on-copy :maintain ) (oli::sd-define-db-attribute "STAT" :class-name "MODELL_3D" :attachment :contents :keys '( ("STATUS") ) :allowed-owner-types :part-assembly :filing '(:db :sd-file) :master :db :on-copy :maintain ) ;;---------- Spalten Definitionen ----------- (oli::sd-create-uda-string-column-definition :part-uid-column :title (sd-multi-lang-string "Part Name" :german "Stammname" :chinese_s "Part Name") :attribute "DB-PREF" :value-list-key :name ;;:value-list-key :unique_id_string :attachment :contents ) (oli::sd-create-uda-string-column-definition :mm-description :title (sd-multi-lang-string "Part Description" :german "Stammbeschreibung" :chinese_s "Part Description") :attribute "DESC" :value-list-key "BESCHREIBUNG" :attachment :contents ) (oli::sd-create-uda-string-column-definition :mm-modelname :title "Name" :attribute "NUMMER" :value-list-key "NAME" :attachment :contents ) (oli::sd-create-uda-string-column-definition :mm-dbstate :title (sd-multi-lang-string "State" :german "Status" :chinese_s "State") :attribute "STAT" :value-list-key "STATUS" :attachment :contents ) ;; ADD MM KATALOG BESCHREIBUNG (oli::sd-create-uda-string-column-definition :mm-katben :title "KatalogBenennung" :attribute "SCO-TEMPORARY-DREF" :value-list-key :BESCHREIBUNG :attachment :contents ) (sd-create-uda-string-column-definition :SolLib :attribute "SOLLIB-INFO" :value-list-key :SOLLIB-TYPE :title "SolLib Type" :attachment :contents ) ;; Title from Partlibrary Catalog (oli::sd-create-uda-string-column-definition :doc-catalog-title :title "Catalog Title" :attribute "TS-CATALOG-GRID-TITEL" :value-list-key :TS-CATALOG-GRID-TITEL :attachment :contents ) ;; Name DE for english standard parts (oli::sd-create-uda-string-column-definition :doc-catalog-german-name :title "German Name" :attribute "NAME_DE" :value-list-key :NAME_DE :attachment :contents ) ;; Name ENG for german standard parts (oli::sd-create-uda-string-column-definition :doc-catalog-english-name :title "English Name" :attribute "NAME_ENG" :value-list-key :NAME_ENG :attachment :contents ) ;;---------- Browser Definitionen ----------- (defun custom-tree-item-display (plist) (let ((a_lib_part (getf plist :SolLib)) (mm-state (getf plist :mm-state)) (mm-description (getf plist :mm-description)) (mm-version (getf plist :mm-version)) (part-uid-column (getf plist :part-uid-column)) (contents-name (getf plist :contents-name)) (instance-name (getf plist :instance-name)) (catalog-title (getf plist :doc-catalog-title "")) (german-catalog-name (getf plist :doc-catalog-german-name "")) (english-catalog-name (getf plist :doc-catalog-english-name "")) ) (unless mm-description (setf mm-description instance-name)) (cond ((equal mm-state "Neu") (progn (format nil "NEW: ~A" instance-name))) ((and (not a_lib_part) (equal mm-state NIL)) (progn (format nil "~A" instance-name))) ((and (not a_lib_part) (not (equal mm-state "Neu"))) (progn (format nil "~A [~A] ~A (~A)" contents-name mm-version mm-description mm-state))) ((and a_lib_part (not (equal mm-state "Neu")) (NOT (= (length catalog-title) 0))) (progn (format nil "~A [~A] ~A (~A)" part-uid-column mm-version (if (eq :german (oli::sd-inq-current-language)) (if (> (length german-catalog-name) 0) german-catalog-name mm-description) (if (> (length english-catalog-name) 0) english-catalog-name mm-description)) mm-state))) ((and a_lib_part (not (equal mm-state "Neu"))) (progn (format nil "~A [~A] ~A (~A)" part-uid-column mm-version mm-description mm-state)));;library teil part-uid-column (stammname) mm-version mm-description mm-state ) ) ) (sd-create-browser-configuration "CUSTOM-TREE-CONFIG" :config '(:SolLib :instance-name :contents-name :part-uid-column :mm-version :mm-description :mm-state :doc-catalog-title :doc-catalog-german-name :doc-catalog-english-name) :tree-item-func 'custom-tree-item-display) ;;*************************************************************************** ;; BROWSER-Views * (oli:sd-create-browser-view "ATTRIBUTES" :title (sd-multi-lang-string "Model Attributes" :german "Modelleigenschaften" :chinese_s "Model Attributes") :tree-config "CUSTOM-TREE-CONFIG" :detail-config '(:instance-density :contents-density :geo-resolution :part-type) :activate-detail-configuration t :derive-virtual-title-from-child t ) (oli:sd-create-browser-view "MM_OR_INSTANCE" :title (sd-multi-lang-string "MM / Instace" :german "MM / Instanz" :chinese_s "MM / Instace") :tree-config "CUSTOM-TREE-CONFIG" :detail-config '( :contents-name :mm-version :part-uid-column :mm-description :mm-dbstate :shared ) :activate-detail-configuration nil :derive-virtual-title-from-child t :enable '(oli:sd-license-free-module-active-p "ModelManager") ) ;; Dok-Info :doc-uid-column ;; MM-Status :mm-state ;; Modifizierbar :modifiable ;; Geändert :modified ;; SchnittMark :clip-flag ;; Pfad :path-name ;; Modellname :contents-name ;; Mappnbestizer :in-packet-dms-name-column ;; Kontext SelekExempl :selective-instance-context (oli:sd-delete-browser-view "MM_DEFAULT") (oli:sd-set-default-browser-view "ModelManager" "MM_OR_INSTANCE")