xmlgraphics-fop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Paul <ppaul_apa...@yahoo.ca>
Subject Re: [GSoC] Auto-table layout questions
Date Thu, 20 Jul 2006 02:18:09 GMT
Thanks for the pointers.

The intended meaning of un-"touched" was to say that no line-breaking or 
other processing takes place on the elements, just returning the element 

What is unclear to me is how I can get the element list for a specific 
table-cell. Here is what how I see things :

1. create a TableRowIterator for the table-body elements
2. do a prefetchAll()
3. Iterate over row = EffRow[] getNextRowGroup()
   3.1 Get the element list of each table-cell ? This is where I am 
unsure how I should get the element lists :
            row.getGridUnits().getPrimary().getElements() ?
   3.2 Once I have the element list of the cell I can easily get its 
"full" length.

As well, is there any reading I can do to get a deeper understanding of 
GridUnits ?

Thank you,

Patrick Paul

Andreas L Delmelle wrote:

> On Jul 18, 2006, at 21:30, Patrick Paul wrote:
>> Now I need a little pointer on how best to fly over table rows  
>> without "touching" them. I have some idea but I would prefer to  
>> check with the experts.
> Tricky indeed... the TableRowIterator constructs the very list it is  
> supposed to iterate over
> --I mean: it creates the elements from another list instead of simply  
> returning them un-"touched".
> prefetchAll() is unused ATM, exactly because you would "touch" all  
> rows (if I catch your intended meaning of that word correctly?)
> OTOH, that method seems to have been added with auto-layout in mind  
> anyway, so give it a shot, but mind the large tables...
> Seems like, instead of simply prefetchNext(), you could try refining  
> it to:
> 1) prefetchNext() [= get the row *group*, minor yet important detail]
> 2) doing what you need [= calculate content-length?]
> 3) immediately dispose of it
> Another option would be to use an altered version of prefetchNext()  
> altogether.
> HTH!
> Cheers,
> Andreas

View raw message