Oh no...I meant removing the TreeExt interface, and
instead coding for the underlying BookmarkData object
that it represents within AreaTreeHandler instead. 
Our code including id resolution (it will still
implement Resolvable) remains mostly the same, and in
the same places (AreaTreeHandler and
RenderPagesModel.)  

Increasingly I'm seeing AreaTreeHandler as something
of a RootLayoutManager, responsible for handling its
graphical objects -- Bookmarks and (future) Metadata
-- in the same manner that all the other
LayoutManagers create/handle their area objects: 
explicitly ordered and coded.

And yes, all renderers will still receive a
handleBookmarkData() function call (instead of the
current handleExtension()), and also a future
handleMetaData(), with the hopes that as many as
possible can work with the information.

Glen


--- Keiron Liddle <[EMAIL PROTECTED]> wrote:

> 
> If you hard code the bookmarks how would you handle
> the id resolution,
> as that is done through the area tree. Potentially
> you could code the
> bookmarks in other renderers like AWT.
> 
> -----Original Message-----
> From: Glen Mazza [mailto:[EMAIL PROTECTED] 
> Sent: Monday, 25 October 2004 12:26 PM
> To: [EMAIL PROTECTED]
> Subject: RE: meaning of Area.TreeExt interface
> 
> Thanks for the clarification.  PDF Bookmarks aren't
> working currently, so that's what I'm looking at
> ATM. 
> We may have another object extending the TreeExt
> interface, should we have a fox:metadata in the
> future.  
> 
> Still, I wonder if it may be better to do away with
> this interface and just hardcode the
> layout/rendering
> of these objects (i.e. bookmarks) directly, just
> like
> we do all the other Area objects that are created
> during the layout process.  This would simplify 
> area.extensions.BookmarkData and area.AreaTreeModel
> processing code.  Thoughts (anyone)?
> 
> 
> The major benefit I see of TreeExt is that our
> Renderer interface can remain with a single
> renderExtension() for this and any other TreeExt in
> the future.  But OTOH clarity arguments can be made
> for explicitly spelling out each object that a
> Renderer may need to support.  For example, having
> renderBookmarks(), processMetaData(), etc. methods
> instead of using instanceof within renderExtension()
> methods to determine the TreeExt object in question.
> 
> Thanks,
> Glen
> 
> 
> 

Reply via email to