Re: meaning of Area.TreeExt interface

2004-10-26 Thread Finn Bock
[Glen]
OK, I'd like to 

1) rename TreeExt to OffDocumentItem (to clarify what
it's really for)  

2) change it from an interface to an abstract base
class.  

3.) Have this base class hold the "when" parameter for
when this ODI is to be generated, so the "when" does
not need to be hardcoded into AreaTreeHandler as it is
currently for PDF Bookmarks.  (Helps with
extensibility.)
4.) Rename Renderer.renderTreeExtension() to
Renderer.processOffDocumentItem().  

Any problems with this?
No.
regards,
finn


Re: meaning of Area.TreeExt interface

2004-10-26 Thread Glen Mazza
--- Finn Bock <[EMAIL PROTECTED]> wrote:
> [Glen]
> 
> > Actually, to clarify what I wrote: why do we need
> an
> > extension interface (TreeExt) for objects placed
> > outside the document (pdf bookmarks/metadata),
> while
> > *not* needing one for extension objects that end
> up
> > placed *on* the document?
> 
> You subclass Area for elements on the document and
> TreeExt for elements 
> outside the document.
> 

OK, I'd like to 

1) rename TreeExt to OffDocumentItem (to clarify what
it's really for)  

2) change it from an interface to an abstract base
class.  

3.) Have this base class hold the "when" parameter for
when this ODI is to be generated, so the "when" does
not need to be hardcoded into AreaTreeHandler as it is
currently for PDF Bookmarks.  (Helps with
extensibility.)

4.) Rename Renderer.renderTreeExtension() to
Renderer.processOffDocumentItem().  

Any problems with this?

Thanks,
Glen


Re: meaning of Area.TreeExt interface

2004-10-26 Thread Glen Mazza
--- Finn Bock <[EMAIL PROTECTED]> wrote:
> 
> [Glen]
> 
> > Finn, ***be very careful***, the definition of
> tree
> > extension was #2, *not* #1 (see previous email). 
> I
> > don't like its name, it should be OutOfAreaObject
> or
> > something like that.  
> 
> And why shouldn't extensions be allowed to create
> OutOfAreaObjects? Some 
> extension writers will needed that just like the
> author of fox:bookmarks 
> needed it.
> 

OK, now I see.  Thanks.

Glen



Re: meaning of Area.TreeExt interface

2004-10-25 Thread Finn Bock
[Glen]
Actually, to clarify what I wrote: why do we need an
extension interface (TreeExt) for objects placed
outside the document (pdf bookmarks/metadata), while
*not* needing one for extension objects that end up
placed *on* the document?
You subclass Area for elements on the document and TreeExt for elements 
outside the document.

For the latter types, area
creation is hardcoded within our layout managers (to
be replaced by extension writers when they have new
FO's), so I don't logically see why we can't do the
same with the former types.
How can an extension pass information onto the renderer if TreeExt (or 
whatever we want to call it) is removed?

regards,
finn


Re: meaning of Area.TreeExt interface

2004-10-25 Thread Finn Bock
[Glen]
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)?
[me]
That would make the life of extension writers
harder. Thus I would 
prefer that TreeExt stay.
[Glen]
Finn, ***be very careful***, the definition of tree
extension was #2, *not* #1 (see previous email).  I
don't like its name, it should be OutOfAreaObject or
something like that.  
And why shouldn't extensions be allowed to create OutOfAreaObjects? Some 
extension writers will needed that just like the author of fox:bookmarks 
needed it.

regards,
finn


Re: meaning of Area.TreeExt interface

2004-10-25 Thread Glen Mazza
--- Glen Mazza <[EMAIL PROTECTED]> wrote:

> --- Finn Bock <[EMAIL PROTECTED]> wrote:
> 
> > [Glen]
> > 
> > > 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)?
> > 
> > That would make the life of extension writers
> > harder. Thus I would 
> > prefer that TreeExt stay.
> > 

Actually, to clarify what I wrote: why do we need an
extension interface (TreeExt) for objects placed
outside the document (pdf bookmarks/metadata), while
*not* needing one for extension objects that end up
placed *on* the document?  For the latter types, area
creation is hardcoded within our layout managers (to
be replaced by extension writers when they have new
FO's), so I don't logically see why we can't do the
same with the former types.

In other words, extension writers may very well create
extension FO's that create areas *on* the document. 
Here, TreeExt won't help them--so I'm not really sure
if it is actually buying us anything.

Glen



Re: meaning of Area.TreeExt interface

2004-10-25 Thread Glen Mazza
--- Finn Bock <[EMAIL PROTECTED]> wrote:

> [Glen]
> 
> > 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)?
> 
> That would make the life of extension writers
> harder. Thus I would 
> prefer that TreeExt stay.
> 
> regards,
> finn
> 

Finn, ***be very careful***, the definition of tree
extension was #2, *not* #1 (see previous email).  I
don't like its name, it should be OutOfAreaObject or
something like that.  Also, TreeExt will be abused, as
it could be used for non-#2 reasons.

Will you please elaborate how it would hurt extension
writers though?

Glen



Re: meaning of Area.TreeExt interface

2004-10-25 Thread Finn Bock
[Glen]
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)?
That would make the life of extension writers harder. Thus I would 
prefer that TreeExt stay.

regards,
finn


RE: meaning of Area.TreeExt interface

2004-10-25 Thread Glen Mazza
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
> 
> 
> 



RE: meaning of Area.TreeExt interface

2004-10-24 Thread Keiron Liddle

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




RE: meaning of Area.TreeExt interface

2004-10-24 Thread Glen Mazza
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


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

> Hi Glen,
> 
> Yes it is sort of #2. I think the naming is along
> the lines that it is
> an extension at the tree level, outside the normal
> formatting areas, not
> an extension to the area tree as such.
> 
> In the example of the bookmarks it is an extension
> that encompasses the
> whole document (in terms of resolving and output) so
> rather than being
> an area it is an extension at the area tree
> (document) level.
> 
> Not sure what other examples there would be, but of
> course it was
> originally done to handle bookmarks and anything
> like that that came
> along.
> 
> Hope that is clear.
> 
> Keiron
> 
> -Original Message-
> From: Glen Mazza [mailto:[EMAIL PROTECTED] 
> Sent: Sunday, 24 October 2004 10:46 AM
> To: [EMAIL PROTECTED]
> Subject: meaning of Area.TreeExt interface
> 
> Keiron (or others?),
> 
> A few years back Keiron created an Area.TreeExt
> interface for area tree extensions.  PDF Bookmarks
> are
> our only object that implements this interface
> currently.  
> 
> I'm not certain what was originally meant by an
> "area
> tree extension" though.  Is it:
> 
> 1.) A layout area that is generated from a non-W3C
> formatting object (i.e., were fox:bookmarks
> fo:bookmarks instead, it wouldn't be extending
> TreeExt.)
> 
> or
> 
> 2.) A layout area that is external to what gets
> printed on the document itself (i.e., fox:bookmarks
> again, because PDF bookmarks appear outside the
> document.)
> 
> From the coding, I'm guessing #2 is the intent.  Am
> I
> correct?
> 
> Thanks,
> Glen
> 
> 
> 
> 



RE: meaning of Area.TreeExt interface

2004-10-24 Thread Keiron Liddle
Hi Glen,

Yes it is sort of #2. I think the naming is along the lines that it is
an extension at the tree level, outside the normal formatting areas, not
an extension to the area tree as such.

In the example of the bookmarks it is an extension that encompasses the
whole document (in terms of resolving and output) so rather than being
an area it is an extension at the area tree (document) level.

Not sure what other examples there would be, but of course it was
originally done to handle bookmarks and anything like that that came
along.

Hope that is clear.

Keiron

-Original Message-
From: Glen Mazza [mailto:[EMAIL PROTECTED] 
Sent: Sunday, 24 October 2004 10:46 AM
To: [EMAIL PROTECTED]
Subject: meaning of Area.TreeExt interface

Keiron (or others?),

A few years back Keiron created an Area.TreeExt
interface for area tree extensions.  PDF Bookmarks are
our only object that implements this interface
currently.  

I'm not certain what was originally meant by an "area
tree extension" though.  Is it:

1.) A layout area that is generated from a non-W3C
formatting object (i.e., were fox:bookmarks
fo:bookmarks instead, it wouldn't be extending
TreeExt.)

or

2.) A layout area that is external to what gets
printed on the document itself (i.e., fox:bookmarks
again, because PDF bookmarks appear outside the
document.)

>From the coding, I'm guessing #2 is the intent.  Am I
correct?

Thanks,
Glen





meaning of Area.TreeExt interface

2004-10-23 Thread Glen Mazza
Keiron (or others?),

A few years back Keiron created an Area.TreeExt
interface for area tree extensions.  PDF Bookmarks are
our only object that implements this interface
currently.  

I'm not certain what was originally meant by an "area
tree extension" though.  Is it:

1.) A layout area that is generated from a non-W3C
formatting object (i.e., were fox:bookmarks
fo:bookmarks instead, it wouldn't be extending
TreeExt.)

or

2.) A layout area that is external to what gets
printed on the document itself (i.e., fox:bookmarks
again, because PDF bookmarks appear outside the
document.)

>From the coding, I'm guessing #2 is the intent.  Am I
correct?

Thanks,
Glen