;;; -- Steve Polyak 30 November 1998 -- rewrite for CPF. (in-package "ONTOLINGUA-USER") (define-theory CPFPSV (frame-ontology slot-constraint-sugar cpo) "This extension provides tool-specific functions and relations for the CPF toolset" :issues ((:copyright "Copyright (c) 1998 Steve Polyak"))) (in-theory 'CPFPSV) ;;;-------------PSV---------------- ;;; CDE PSV ;;; Process Extensions (define-function PROCESS.LABEL (?proc) :-> ?label "Tool-specific label." :def (and (cpo-process ?proc) (cpo-string ?label))) (define-function PROCESS.XPOS (?proc) :-> ?xpos "Tool-specific X position." :def (and (cpo-process ?proc) (integer ?xpos))) (define-function PROCESS.YPOS (?proc) :-> ?ypos "Tool-specific Y position." :def (and (cpo-process ?proc) (integer ?ypos))) (define-function PROCESS.WIDTH (?proc) :-> ?width "Tool-specific process width." :def (and (cpo-process ?proc) (integer ?width))) (define-function PROCESS.HEIGHT (?proc) :-> ?height "Tool-specific process height." :def (and (cpo-process ?proc) (integer ?height))) (define-function PROCESS.NODE-COUNT (?proc) :-> ?count "Gives the next available integer for node keys." :def (and (cpo-process ?proc) (integer ?count))) (define-function PROCESS.TOP-LEVEL-FLAG (?proc) :-> ?flag "Indicates whether the process is top-level for a given set of hierarchically related processes (i.e. expansions)" :def (and (cpo-process ?proc) (cpo-boolean ?flag))) (define-function PROCESS.START-FINISH-FLAG (?proc) :-> ?flag "Indicates whether the process is bounded by start-finish (true) or begin-end (false)" :def (and (cpo-process ?proc) (cpo-boolean ?flag))) ;;; Node Extensions (define-function NODE.LABEL (?node) :-> ?label "Tool-specific label." :def (and (cpo-node ?node) (cpo-string ?label))) (define-function NODE.XPOS (?node) :-> ?xpos "Tool-specific X position." :def (and (cpo-node ?node) (integer ?xpos))) (define-function NODE.YPOS (?node) :-> ?ypos "Tool-specific Y position." :def (and (cpo-node ?node) (integer ?ypos))) (define-function NODE.TYPE (?node) :-> ?type "Tool's displayed node type." :def (and (cpo-node ?node) (member ?type (setof 'N 'S))) (define-function NODE.STATUS (?node) :-> ?stat "Node status left over from process status monitor work." :def (and (cpo-node ?node) (member ?stat (setof '0 '1 '2 '3 '4))) (define-function NODE.SELECTED (?node) :-> ?flag "Indicates whether the node was selected when saved." :def (and (cpo-node ?node) (cpo-boolean ?flag))) ;;; Annotation Extensions (define-function ANNOTATION.XPOS (?ann) :-> ?xpos "Tool-specific X position." :def (and (cpo-annotation-constraint ?ann) (integer ?xpos))) (define-function ANNOTATION.YPOS (?ann) :-> ?ypos "Tool-specific Y position." :def (and (cpo-annotation-constraint ?node) (integer ?ypos)))