Next Prev Up Top Contents Index

5.7 Using Graphs in Your Programs

You can read about the CAPI graph pane in the CAPI reference manual for detailed API information for using graphs in your own programs. We will also look at a short example in this section. The following code listing defines a callback function and creates a graph-pane object:

 

(defun node-children (node)
  (if (equal node 'pets)
      (list 'dog 'parrot)
    (if (equal node 'dog)
        (list 'Kito 'Otis 'Sammy 'Teddy)
      (if (equal node 'parrot)
          (list 'Brady)))))
 
(setq test-graph
      (capi:contain
       (make-instance 'capi:graph-pane
                      :roots '(pets)
                      :children-function
                      'node-children)
       :best-width 300
       :best-height 400))

The children-function node-children should return nil for a leaf node in the graph or a list of child nodes for a non-leaf node. Figure 5-12 shows the generated graph-pane.

 

 

Figure 5.12 Sample Graph from a User Program

 


Common LispWorks User Guide - 14 Dec 2001

Next Prev Up Top Contents Index