From: Willem Moolenburgh
Subject: GARNET: AGGREGRAPHS
Date: 
Message-ID: <360024C8.437@dds.nl>
I'm implementing a GUI in GARNET which is written in LISP. CMU doesn't
support the tool anymore and the newsgroup has disappeared, so I'm
hoping that you can help me out. I've built a aggregraph and its creates
the graph I like to have: with all the right nodes correctly linked
together. The only thing goes wrong is that the links are just
represented by lines (the default). I would like to change this
prototype into one which uses arrows, so that I get a directed graph.
I've tried different ways but can't get it to work!!

Thanks,

 Willem

Outline function

(defun build-graph ()
  (let (
        (graph (create-instance nil opal:aggregraph
                ; other slots like :children-function :info-function
               (:link-prototype ; ????????????))
        )
        ; actions
   )
)
From: John Atwood
Subject: Re: GARNET: AGGREGRAPHS
Date: 
Message-ID: <6tpdbt$qbl$1@news.NERO.NET>
>               (:link-prototype ; ????????????))

copying form the default link prototype in
garnet/src/aggregadgets/aggregraphs.lisp:

(:link-prototype 
   (create-instance  'my-link-prototype gg:arrow-line 
   ;was (kr:create-instance 'aggregraph-link-prototype opal:line
                   
   ;; necessary slots for an aggregraph node prototype.

   (:from nil)
   (:to nil)
   
   ;; graphics

   (:x1 (kr:o-formula (+ (kr:gvl :from :left) (kr:gvl :from :width))))
   (:y1 (kr:o-formula (+ (kr:gvl :from :top)
                      (floor (kr:gvl :from :height) 2))))
   (:x2 (kr:o-formula (kr:gvl :to :left)))
   (:y2 (kr:o-formula (+ (kr:gvl :to :top)
                      (floor (kr:gvl :to :height) 2))))))


John

P.S.  the garnet newsgroup is still alive, if quite quiet.  There's also
the mailing list, see the Garnet home page.